LLM Chat Assistant

Un asistente de chat que integra un cliente MCP con un LLM y otros servidores MCP externos.

Documentación

LLM Chat Assistant

Este proyecto es una aplicación de asistente de chat que integra un cliente MCP (host MCP) con un LLM (Modelo de Lenguaje Grande) y herramientas externas (Servidores MCP). Permite a los usuarios interactuar con el LLM, que puede proporcionar respuestas directas o llamar a herramientas externas (servidores MCP) para procesar las solicitudes de los usuarios.

Modos compatibles

  • Modo stdio
  • Modo http

Características

  • Integración con LLM: Se comunica con un LLM utilizando la librería pydantic-ai.
  • Ejecución de herramientas: Soporta herramientas externas - servidores MCP que pueden ejecutarse según la entrada del usuario.
  • Respuestas estructuradas: Maneja respuestas estructuradas del LLM, incluyendo llamadas a herramientas y respuestas directas.
  • Gestión de servidores: Gestiona múltiples servidores MCP para la ejecución de herramientas.

Requisitos

  • Python 3.13 o superior
  • Servidor(es) MCP configurado(s) para la ejecución de herramientas
  • LLM usando Ollama instalado localmente con qwen3:0.6b - Puedes cambiarlo si es necesario (https://ollama.com - instrucciones sobre cómo hacerlo.)
  • .env LLM_API_KEY=tu-clave-api-aquí si se utiliza un LLM externo

Instalación

Para ejecutar los servidores MCP de demostración desde la carpeta 'mcp-servers' 1.FatMCP - https://github.com/modelcontextprotocol/python-sdk?tab=readme-ov-file#adding-mcp-to-your-python-project

  1. Clonar el repositorio:
    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 probar el Modo http:
    • ejecutar el archivo de la carpeta mcp-servers/test_http_server.py - python mcp-servers/test_http_server.py

Ejemplo de interacción

  • Tú: echo test (Después de esta solicitud, el LLM determina si llamar a la herramienta necesaria del servidor MCP)

  • Asistente: El resultado de la prueba de eco es un texto que contiene el mensaje "This is echo test test". (Respuesta directa del servidor MCP)

  • Tú: ¿Cómo está el clima en Phuket?

  • Asistente: El clima en Phuket se está obteniendo actualmente a través de la API, con la respuesta simulada indicando que es un resultado simulado.

Añade tu servidor MCP

1. Añade a la carpeta mcp-server un nuevo archivo .py como en los ejemplos echo.py o weather_server.py o test_http_server.py
2. Añade una sección a servers_config.json como donde 'echo' es el nombre de la herramienta en el archivo .py -> @mcp.tool(description="A simple echo tool", name="echo")
"args": ["mcp-servers/weather_server.py"] ruta completa del archivo del servidor

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

Para el caso de uso http, añade la URL del servidor MCP http(s) a la configuración como: "url": "http://127.0.0.1:9000/mcp" y el nombre del servidor como "test_http" como en:

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