Skip to main content
Glama
ANINDASAU

Multi-Agent Research Assistant MCP Server

by ANINDASAU

Asistente de investigación multiagente y servidor MCP

Este proyecto implementa la tarea en dos partes pequeñas:

  1. Un flujo de trabajo multiagente de LangGraph con un Supervisor y dos trabajadores especialistas.

  2. Un servidor FastMCP con dos herramientas y un cliente que llama a esas herramientas.

El modelo de lenguaje es Ollama, por lo que no se requiere ninguna clave de API de OpenAI.

1. Qué demuestra el proyecto

El Supervisor recibe una pregunta y elige al trabajador adecuado:

User question
		 |
		 v
Supervisor Agent
		 |------------------------------|
		 v                              v
Research Agent                 Analysis Agent
		 |                              |
		 v                              v
Knowledge-base tool             Comparison tool

Para una pregunta que necesita a ambos trabajadores, el Supervisor primero pide evidencia al Agente de Investigación y luego entrega esa evidencia al Agente de Análisis.

La parte de MCP es independiente de la parte de LangGraph:

MCP Client ---> FastMCP Server
										|------ get_weather(city)
										|------ get_news(topic)

Related MCP server: AIE8-MCP Server

2. Requisitos previos

  • Windows PowerShell

  • Python 3.10 o más reciente

  • Ollama

  • Un modelo de Ollama como llama3.2

El repositorio ya contiene el entorno virtual solicitado en multivenv.

3. Instalación

Abra PowerShell en el directorio del proyecto:

cd D:\LLMEngg_8-Multi-Agent-Research-Assistant-MCP-Server
.\multivenv\Scripts\Activate.ps1
python -m pip install -r requirements.txt
Copy-Item .env.example .env

Si PowerShell no permite la activación, use el entorno virtual directamente para cada comando:

.\multivenv\Scripts\python.exe -m pip install -r requirements.txt

No use un Python del sistema diferente. De lo contrario, importaciones como langchain_core podrían faltar.

4. Configurar Ollama

Inicie Ollama en un terminal aparte. Si Ollama ya está en ejecución como aplicación de escritorio, omita ollama serve.

ollama serve
ollama pull llama3.2

La configuración predeterminada en .env es:

OLLAMA_MODEL=llama3.2
OLLAMA_BASE_URL=http://localhost:11434

Puede usar otro modelo, pero debe admitir chat y llamadas a herramientas lo suficientemente bien para LangGraph. Por ejemplo:

OLLAMA_MODEL=qwen2.5:7b

5. Ejecutar el asistente multiagente

Ejecute una pregunta solo de investigación:

python main.py "What does MCP do?"

Esto debería enrutarse al Agente de Investigación, que busca en data/knowledge_base.txt.

Ejecute una pregunta de análisis:

python main.py "Compare these two ideas: solar power uses sunlight; wind power uses moving air."

Esto debería enrutarse al Agente de Análisis, que usa compare_texts.

Ejecute una pregunta de colaboración:

python main.py "Research solar and wind power, then compare their main trade-offs."

Esta pregunta necesita a ambos trabajadores. El flujo de trabajo esperado es:

  1. El Supervisor llama a ask_research_agent.

  2. El Agente de Investigación llama a search_knowledge_base.

  3. El Supervisor envía la evidencia a ask_analysis_agent.

  4. El Agente de Análisis llama a compare_texts.

  5. El Supervisor devuelve una respuesta final.

La pregunta predeterminada también se puede ejecutar sin un argumento:

python main.py

6. Ejecutar la demostración de MCP

El cliente llama a ambas herramientas de FastMCP:

python -m mcp_client.client

La salida esperada es similar a:

Weather: Cloudy, 15 C
News: Mock headline: New developments in artificial intelligence are being monitored by the research team.

El cliente usa el transporte de cliente en proceso de FastMCP, por lo que la demostración es fiable y fácil de ejecutar localmente. Aun así, usa el protocolo real de cliente/servidor de MCP. El servidor independiente se puede iniciar para un host compatible con MCP con:

python mcp_server/server.py

Ese servidor independiente usa el transporte stdio de MCP.

7. Ejecutar las pruebas

python -m pytest -q

Las pruebas cubren las herramientas deterministas sin requerir Ollama ni la descarga de un modelo. La construcción de LangGraph también se puede verificar sin hacer una solicitud al modelo:

$env:OLLAMA_MODEL = "llama3.2"
python -c "from agents.supervisor import build_supervisor; build_supervisor(); print('Supervisor created')"

8. Estructura de archivos

agents/
	model.py             Shared ChatOllama configuration
	research_agent.py    Research worker created with create_react_agent
	analysis_agent.py    Analysis worker created with create_react_agent
	supervisor.py        Supervisor and wrapped worker tools

tools/
	research_tool.py     Local knowledge-base lookup tool
	analysis_tool.py     Structured two-text comparison tool

data/
	knowledge_base.txt   Local evidence used by the Research Agent

mcp_server/
	server.py            FastMCP server and its two tools

mcp_client/
	client.py            Client demonstration calling both MCP tools

main.py                Command-line entry point for the Supervisor
tests/                  Deterministic tool tests
requirements.txt        Python dependencies
.env.example            Ollama configuration template

9. Lista de verificación de los objetivos de la tarea

Objetivo de la tarea

Implementación

Construir un agente Supervisor

agents/supervisor.py

Construir un Agente de Investigación con create_react_agent

agents/research_agent.py

Construir un Agente de Análisis con create_react_agent

agents/analysis_agent.py

Dar al Agente de Investigación una herramienta de recuperación de información

tools/research_tool.py y data/knowledge_base.txt

Dar al Agente de Análisis una herramienta de comparación de dos fragmentos

tools/analysis_tool.py

Envolver a los trabajadores como herramientas para el Supervisor

ask_research_agent y ask_analysis_agent

Añadir mensajes de sistema específicos del rol

Cada módulo de agente define su propio mensaje

Construir un servidor MCP con al menos dos herramientas

mcp_server/server.py

Demostrar un cliente MCP que llama a las herramientas

mcp_client/client.py

Probar escenarios de investigación, análisis y colaboración

Comandos de la Sección 5

10. Solución de problemas

No module named langchain_core

Se está usando el Python del sistema. Active multivenv o use la ruta directa del intérprete:

.\multivenv\Scripts\python.exe main.py "What does MCP do?"

connection refused de Ollama

Inicie Ollama y confirme que el modelo existe:

ollama serve
ollama list
ollama pull llama3.2

El modelo no llama a las herramientas

Use un modelo de chat con capacidad de herramientas, mantenga la pregunta explícita y pruebe el ejemplo de colaboración de la Sección 5. Los modelos pequeños o más antiguos pueden responder directamente sin usar una herramienta.

La base de conocimiento no devuelve ninguna respuesta

El Agente de Investigación solo busca en el archivo local. Añada más párrafos a data/knowledge_base.txt y vuelva a ejecutar la pregunta.

11. Nota importante sobre el alcance

Esta es una implementación educativa sencilla. La base de conocimiento es una fuente de datos local simulada, el tiempo y las noticias son resultados MCP simulados, y el enrutamiento del LLM se prueba manualmente con Ollama. Las herramientas deterministas están cubiertas por pruebas automatizadas.

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • MCP server exposing the Backtest360 engine API as tools for AI agents.

  • Hosted MCP endpoint with realistic fake data for prototyping agents. 12 tools, no setup.

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ANINDASAU/LLMEngg_8-Multi-Agent-Research-Assistant-MCP-Server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server