Este projeto demonstra como criar um chain com LangChain usando o modelo gemini-2.0-flash do Google e integrá-lo com ferramentas customizadas usando o MCP (Multi-Chain Protocol), via conexão stdio
.
A chain é capaz de:
- Interpretar linguagem natural com o Gemini.
- Usar ferramentas externas via MCP — neste exemplo, uma calculadora de expressões matemáticas.
- Executar localmente um servidor de ferramentas que se conecta à chain automaticamente.
- Python 3.10+
-
uv (ou
pip
tradicional)
uv venv
source .venv/bin/activate
uv pip install -r requirements.txt
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
GOOGLE_API_KEY=sua_chave_google_api
Primeiro, execute o servidor de ferramentas. Este servidor vai processar as expressões matemáticas.
python server.py
Em seguida, execute o cliente, que se conecta ao servidor e faz as requisições, passando a pergunta para a chain e recebendo o resultado do cálculo.
python client.py
- O chain usa o modelo Gemini-Pro do Google para interpretar a linguagem natural.
- Uma LLMChain é criada usando o modelo e um PromptTemplate para extrair a expressão matemática de uma pergunta.
- A expressão extraída é então passada para uma ferramenta de cálculo via o protocolo MCP.
- O servidor MCP calcula a expressão matemática e retorna o resultado.