Skip to main content
Glama
ANINDASAU

Multi-Agent Research Assistant MCP Server

by ANINDASAU

Мультиагентный исследовательский ассистент и MCP-сервер

Этот проект реализует задание в двух небольших частях:

  1. Рабочий процесс LangGraph с несколькими агентами: один супервизор и два специализированных работника.

  2. Сервер FastMCP с двумя инструментами и клиент, который вызывает эти инструменты.

Языковая модель — Ollama, поэтому ключ OpenAI API не требуется.

1. Что демонстрирует проект

Супервизор получает вопрос и выбирает подходящего работника:

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

Для вопроса, требующего обоих работников, супервизор сначала запрашивает доказательства у исследовательского агента, а затем передаёт их агенту анализа.

Часть MCP не зависит от части LangGraph:

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

Related MCP server: AIE8-MCP Server

2. Предварительные требования

  • Windows PowerShell

  • Python 3.10 или новее

  • Ollama

  • Модель Ollama, например llama3.2

Репозиторий уже содержит требуемое виртуальное окружение в multivenv.

3. Установка

Откройте PowerShell в каталоге проекта:

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

Если PowerShell не позволяет активировать окружение, используйте виртуальное окружение напрямую для каждой команды:

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

Не используйте другую системную версию Python. В противном случае могут отсутствовать импорты, такие как langchain_core.

4. Настройка Ollama

Запустите Ollama в отдельном терминале. Если Ollama уже запущена как настольное приложение, пропустите ollama serve.

ollama serve
ollama pull llama3.2

Конфигурация по умолчанию в .env такова:

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

Вы можете использовать другую модель, но она должна достаточно хорошо поддерживать чат и вызов инструментов для LangGraph. Например:

OLLAMA_MODEL=qwen2.5:7b

5. Запуск мультиагентного ассистента

Запустите вопрос только для исследования:

python main.py "What does MCP do?"

Это должно направить запрос исследовательскому агенту, который ищет в data/knowledge_base.txt.

Запустите вопрос для анализа:

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

Это должно направить запрос агенту анализа, который использует compare_texts.

Запустите вопрос для совместной работы:

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

Этот вопрос требует обоих работников. Ожидаемый рабочий процесс:

  1. Супервизор вызывает ask_research_agent.

  2. Исследовательский агент вызывает search_knowledge_base.

  3. Супервизор отправляет доказательства в ask_analysis_agent.

  4. Агент анализа вызывает compare_texts.

  5. Супервизор возвращает один окончательный ответ.

Вопрос по умолчанию также можно запустить без аргумента:

python main.py

6. Запуск демонстрации MCP

Клиент вызывает оба инструмента FastMCP:

python -m mcp_client.client

Ожидаемый вывод похож на:

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

Клиент использует внутрипроцессный клиентский транспорт FastMCP, поэтому демонстрация надёжна и проста в локальном запуске. Он по-прежнему использует реальный протокол клиент/сервер MCP. Автономный сервер можно запустить для MCP-совместимого хоста с помощью:

python mcp_server/server.py

Этот автономный сервер использует транспорт MCP stdio.

7. Запуск тестов

python -m pytest -q

Тесты покрывают детерминированные инструменты без необходимости в Ollama или загрузке модели. Конструкцию LangGraph также можно проверить без запроса к модели:

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

8. Структура файлов

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. Контрольный список целей задания

Цель задания

Реализация

Создать супервизора-агента

agents/supervisor.py

Создать исследовательского агента с помощью create_react_agent

agents/research_agent.py

Создать агента анализа с помощью create_react_agent

agents/analysis_agent.py

Предоставить исследовательскому агенту инструмент поиска информации

tools/research_tool.py и data/knowledge_base.txt

Предоставить агенту анализа инструмент сравнения двух фрагментов

tools/analysis_tool.py

Обернуть работников как инструменты для супервизора

ask_research_agent и ask_analysis_agent

Добавить системные подсказки, специфичные для ролей

Каждый модуль агента определяет свою подсказку

Создать MCP-сервер как минимум с двумя инструментами

mcp_server/server.py

Продемонстрировать MCP-клиент, вызывающий инструменты

mcp_client/client.py

Протестировать сценарии исследования, анализа и совместной работы

Команды в разделе 5

10. Устранение неполадок

No module named langchain_core

Используется системный Python. Активируйте multivenv или используйте прямой путь к интерпретатору:

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

connection refused от Ollama

Запустите Ollama и убедитесь, что модель существует:

ollama serve
ollama list
ollama pull llama3.2

Модель не вызывает инструменты

Используйте чат-модель с поддержкой инструментов, формулируйте вопрос явно и попробуйте пример совместной работы из раздела 5. Небольшие или старые модели могут отвечать напрямую, не используя инструменты.

База знаний не возвращает ответ

Исследовательский агент ищет только в локальном файле. Добавьте больше абзацев в data/knowledge_base.txt и повторите вопрос.

11. Важное примечание о границах

Это простая учебная реализация. База знаний — это имитация локального источника данных, погода и новости — имитация результатов MCP, а маршрутизация LLM тестируется вручную с помощью Ollama. Детерминированные инструменты покрыты автоматическими тестами.

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