LLM Chat Assistant

Um assistente de chat que integra um cliente MCP com um LLM e outros servidores MCP externos.

Documentação

LLM Chat Assistant

Este projeto é um aplicativo de assistente de chat que integra o cliente MCP (host MCP) com um LLM (Large Language Model) e ferramentas externas (servidores MCP). Ele permite que os usuários interajam com o LLM, que pode fornecer respostas diretas ou chamar ferramentas externas (servidores MCP) para processar solicitações dos usuários.

Modos suportados

  • Modo stdio
  • Modo http

Recursos

  • Integração com LLM: Comunica-se com um LLM usando a biblioteca pydantic-ai.
  • Execução de ferramentas: Suporta ferramentas externas - servidores MCP que podem ser executados com base na entrada do usuário.
  • Respostas estruturadas: Lida com respostas estruturadas do LLM, incluindo chamadas de ferramentas e respostas diretas.
  • Gerenciamento de servidores: Gerencia múltiplos servidores MCP para execução de ferramentas.

Requisitos

  • Python 3.13 ou superior
  • Servidor(es) MCP configurado(s) para execução de ferramentas
  • LLM usado localmente instalado Ollama com qwen3:0.6b - Você pode alterá-lo se necessário (https://ollama.com - instrução de como fazer.)
  • .env LLM_API_KEY=your-api-key-here se um LLM externo for usado

Instalação

Para executar os servidores MCP de demonstração da pasta 'mcp-servers'

  1. FatMCP - https://github.com/modelcontextprotocol/python-sdk?tab=readme-ov-file#adding-mcp-to-your-python-project
  1. Clone o repositório:
    git clone https://github.com/Rommagcom/agentic_ai_mcp.git
    cd agentic_ai_mcp
    
    pip install -r requirements.txt
    python mcp_host_client.py
    
    
  2. Para testar o modo http:
    • execute o arquivo da pasta mcp-servers/test_http_server.py - python mcp-servers/test_http_server.py

Exemplo de interação

  • Você: echo test (Após esta solicitação, o LLM determina chamar a ferramenta necessária do servidor MCP)

  • Assistente: O resultado do teste de eco é um texto contendo a mensagem "This is echo test test". (Resposta direta do servidor MCP)

  • Você: Como está o tempo em Phuket?

  • Assistente: O tempo em Phuket está sendo recuperado via API, com a resposta simulada indicando que é um resultado simulado.

Adicione seu servidor MCP

1. Adicione à pasta mcp-server um novo arquivo .py como nos exemplos echo.py, weather_server.py ou test_http_server.py
2. Adicione uma seção ao servers_config.json como onde 'echo' é o nome da ferramenta no arquivo .py -> @mcp.tool(description="A simple echo tool", name="echo")
"args": ["mcp-servers/weather_server.py"] caminho completo do arquivo do servidor

```Example:
{
	"mcpServers": {
		"echo": {
			"command": "python",
			"args": ["mcp-servers/echo.py"]
		},
		"weather_server": {
			"command": "python",
			"args": ["mcp-servers/weather_server.py"]
		}
	}
}

Para o caso de uso http, adicione a URL do servidor MCP http(s) à configuração como: "url": "http://127.0.0.1:9000/mcp" e o nome do servidor como "test_http" como em:

```Example:
{
	"mcpServers": {
		"test_http": {
  			"url": "http://127.0.0.1:9000/mcp"
		}
	}
}