MCP Server with Ollama Integration
Um servidor MCP que se integra ao Ollama para fornecer ferramentas para operações de arquivos, cálculos e processamento de texto. Requer uma instância do Ollama em execução.
Documentação
Servidor MCP com Integração Ollama
Um servidor simples de Model Context Protocol (MCP) que estende as capacidades de IA com ferramentas úteis para operações de arquivo, cálculos, processamento de texto e muito mais. Este projeto demonstra como criar ferramentas personalizadas que modelos de IA podem usar através do Ollama.
🎯 O que é isso?
Este é um tutorial que cria uma ponte entre modelos de IA (como os que rodam no Ollama) e a funcionalidade do seu computador usando Model Context Protocol, Langchain e Ollama. Pense nisso como dar mãos à IA para realizar qualquer tarefa que antes parecia impossível para a IA.
🚀 Recursos
Esta é uma implementação muito básica sobre a qual podemos construir mais. (Nenhuma API externa conectada ainda)
Ferramentas Disponíveis
| Ferramenta | Descrição | Exemplo de Uso |
|---|---|---|
| Calculator | Operações matemáticas básicas | "Calcule 15 + 25" |
| File Checker | Verifica se arquivos existem | "O 'document.txt' existe?" |
| Directory Listing | Lista o conteúdo de pastas | "O que tem na minha pasta pessoal?" |
| Text Transform | Altera maiúsculas/minúsculas, inverte, etc. | "Deixe 'hello world' em maiúsculas" |
| Temperature Converter | Converte entre °C, °F, K | "Converta 25°C para Fahrenheit" |
| Password Generator | Gera senhas seguras | "Crie uma senha de 16 caracteres" |
| Random Numbers | Gera números aleatórios | "Me dê um número entre 1 e 100" |
| Text Statistics | Analisa texto (contagem de palavras, etc.) | "Analise este parágrafo" |
| Greeting | Saudações personalizadas | "Diga olá para Alice" |
📋 Pré-requisitos
- Python 3.10 ou superior
- Ollama instalado e em execução
- Familiaridade básica com terminal/linha de comando
- Modelos Langchain
- Noções básicas de API
🛠️ Instalação
Passo 1: Clone ou Baixe
# Download files
wget https://github.com/Mudit7715/MCP.git
cd MCP
# Create virtual environment
python -m venv mcp_env
# Activate it
source mcp_env/bin/activate # Linux/Mac
# OR
mcp_env\Scripts\activate # Windows
Passo 2: Instale o ollama e as bibliotecas necessárias.
# Install required packages
pip install fastmcp
pip install langchain-mcp-adapters langgraph langchain-ollama langchain
# Check if Ollama is running
curl http://localhost:11434/api/tags
# If not installed, visit: https://ollama.com/library
# Pull a model (if you don't have one)
ollama pull llama3.1
Estrutura do Projeto
mcp-ollama-server/
├── server.py # MCP server with all tools
├── client.py # Client that connects server to Ollama
├── config.json # Server configuration
└── README.md # This file
Passo 3: Executando o servidor e o cliente.
source mcp_env/bin/activate
python server.py
# Open another terminal and the run:
python client.py
Passo 4: Usando as ferramentas
Enter your question: Calculate 50 * 3 + 10
Answer: I will calculate that for you. 50 * 3 + 10 = 160
Enter your question: Check if file 'test.txt' exists in current directory
Answer: The file 'test.txt' was not found in the current directory.
Enter your question: Generate a secure password
Answer: Here is a generated 12-character password: K9#mX2$vB8pQ
🔧 Configuração
🛠️ Modificar Ferramentas do Servidor
Para adicionar novas ferramentas, edite o server.py:
@mcp.tool()
def your_new_tool(parameter: str) -> str:
"""Description of what your tool does."""
# Your tool logic here
return f"Result: {parameter}"
🤖 Alterar o Modelo Ollama
Edite o client.py e altere o modelo:
agent = create_react_agent("ollama:llama3.2", tools) # Change model here
🛠️ Configuração do Servidor
Edite o config.json para alterar os parâmetros do servidor:
{
"mcpServers": {
"my-simple-assistant": {
"command": "python",
"args": ["/full/path/to/your/server.py"],
"cwd": "/full/path/to/your/project"
}
}
}
🤝 Contribuindo
Quer adicionar mais ferramentas? Veja como:
@mcp.tool()
def my_awesome_tool(input_param: str) -> str:
"""What this tool does."""
# Your logic here
return f"Result: {input_param}"
Teste pedindo à IA para usar sua ferramenta
Atualize a documentação com sua nova ferramenta