VitorCardias/Server_MCP
If you are the rightful owner of Server_MCP and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
This project is an AI mini-agent using the MCP library to connect a language model (Google Gemini) to local Python tools.
Agente de IA com MCP e Gemini
Este é um mini-agente de IA que utiliza a biblioteca MCP (Model-Controller-Presenter) para conectar um modelo de linguagem (Google Gemini) a um conjunto de ferramentas Python locais.
O agente é capaz de interpretar uma solicitação do usuário em linguagem natural, decidir qual ferramenta executar (dentre as disponíveis no server.py) e, em seguida, chamar essa ferramenta com os argumentos corretos.
Este projeto cumpre os requisitos do trabalho de IA, incluindo:
- Um cliente MCP com LLM integrado (client.py).
- Pelo menos 3 ferramentas (server.py).
- Uma ferramenta (remover_duplicatas) com guardrails de entrada e saída (usando Pydantic) e logging de operações em um arquivo .json.
Ferramentas Disponíveis
- calcular_potencia: Calcula um número base elevado a um expoente.
- inverter_texto: Inverte uma string de texto.
- remover_duplicatas: Remove itens duplicados de uma lista, retorna um JSON estruturado e registra a operação em operations_log.json.
Pré-requisitos
- Python 3.10 ou superior
- Uma chave de API do Google Gemini (obtenha no Google AI Studio)
1. Instalação
Primeiro, clone este repositório, crie um ambiente virtual e instale as dependências.
# 1. Crie um ambiente virtual
python -m venv venv
# 2. Ative o ambiente virtual
# No Windows (PowerShell/CMD):
.\venv\Scripts\activate
# No Linux/macOS:
source venv/bin/activate
# 3. Instale as bibliotecas necessárias
pip install mcp-ai google-generativeai
2. Como Executar
Para rodar o projeto, você precisará de dois terminais abertos na pasta do projeto (e com o ambiente virtual ativado em ambos).
Terminal 1: Rodando o Servidor (server.py)
No primeiro terminal, execute o servidor. Ele ficará aguardando conexões do cliente.
python server.py
Você deve ver uma saída indicando que o servidor está rodando:
INFO:root:🚀 MCP SERVER EM EXECUÇÃO em http://localhost:8000
INFO:root:Ferramentas disponíveis: calcular_potencia, inverter_texto, remover_duplicatas
Deixe este terminal aberto.
Terminal 2: Rodando o Cliente (client.py)
No segundo terminal, você precisa primeiro definir sua chave de API e depois rodar o cliente.
1. Defina a Chave de API do Gemini
Substitua SUA_CHAVE_AIza... pela sua chave de API real.
-
No PowerShell (Windows):
$env:GEMINI_API_KEY="SUA_CHAVE_AIza..." -
No CMD (Windows):
set GEMINI_API_KEY="SUA_CHAVE_AIza..." -
No Linux ou macOS:
export GEMINI_API_KEY="SUA_CHAVE_AIza..."
2. Execute o Cliente
Agora, no mesmo terminal onde você definiu a chave, rode o client.py:
python client.py
3. Como Usar
O cliente irá perguntar o que você quer fazer. Aqui estão alguns exemplos que você pode testar:
🤖 O que você quer fazer? (ex: 'quanto é 2 elevado a 10?')
> quanto é 5 elevado a 3?
🤖 O que você quer fazer? (ex: 'quanto é 2 elevado a 10?')
> inverta a palavra 'sensacional'
🤖 O que você quer fazer? (ex: 'quanto é 2 elevado a 10?')
> limpe essa lista [1, 1, 2, "ola", 2, "ola"]
Testando os Guardrails
Você também pode testar os guardrails de entrada (regras de validação) que definimos:
- **Para inverter_texto (mínimo de 1 caractere):**inverta um texto vazio
- (O MCP deve retornar um erro de validação)
- **Para remover_duplicatas (lista não pode ser vazia):**remova duplicatas de uma lista vazia
- (O MCP deve retornar um erro de validação)