wikipedia
🚀 FastAPI + FastMCP + LangChain агент Википедии
ИИ-агент для исследования Википедии, демонстрирующий, как FastAPI, FastMCP, LangChain и LangGraph могут работать вместе для создания модульного ИИ-приложения, использующего инструменты.
Проект предоставляет возможности Википедии через MCP (Model Context Protocol) сервер и позволяет агенту LangChain/LangGraph автоматически обнаруживать и использовать эти инструменты.
🏗️ Архитектура
┌──────────────────────┐
│ User │
│ Natural Language │
└──────────┬───────────┘
│
▼
┌──────────────────────┐
│ FastAPI │
│ Application API │
└──────────┬───────────┘
│
▼
┌──────────────────────┐
│ LangChain Agent │
│ LangGraph │
└──────────┬───────────┘
│
MCP Protocol
│
▼
┌──────────────────────┐
│ FastMCP │
│ MCP Server │
└──────────┬───────────┘
│
┌──────────┴───────────┐
▼ ▼
┌──────────────┐ ┌──────────────┐
│ Wikipedia │ │ Wikipedia │
│ Search │ │ Page │
└──────────────┘ └──────────────┘Related MCP server: MCP Wikipedia Server
✨ Возможности
🤖 Исследование Википедии на основе LLM
🔌 Интеграция Model Context Protocol (MCP)
⚡ Прикладной уровень FastAPI
🧠 Интеграция агента LangChain
🔄 Агент ReAct на LangGraph
🔎 Инструмент поиска по Википедии
📄 Инструмент получения страниц Википедии
🔗 Обнаружение инструментов MCP
📡 MCP-связь на основе stdio
🧩 Модульная архитектура, которая легко поддерживает дополнительные инструменты
🛠️ Технологический стек
Технология | Назначение |
Python | Основной язык программирования |
FastAPI | Слой API/приложения |
FastMCP | Реализация MCP-сервера и инструментов |
LangChain | Интеграция LLM и инструментов |
LangGraph | Рабочий процесс агента |
Requests | Запросы к API Википедии |
Wikipedia REST API | Внешний источник знаний |
🔧 Инструменты MCP
Сервер FastMCP предоставляет два инструмента.
search_wikipedia
Ищет в Википедии по заданной теме.
@mcp.tool
def search_wikipedia(query: str):
...Пример:
Search Wikipedia for Albert EinsteinАгент может автоматически решить вызвать:
search_wikipedia("Albert Einstein")get_wikipedia_page
Получает содержимое конкретной страницы Википедии.
@mcp.tool
def get_wikipedia_page(title: str):
...Пример:
Get the Wikipedia page for Artificial IntelligenceАгент может вызвать:
get_wikipedia_page("Artificial Intelligence")🔄 Как MCP работает в этом проекте
MCP-сервер запускается с помощью:
mcp.run(transport="stdio")Клиент LangChain подключается к MCP-серверу:
client = MultiServerMCPClient(
{
"wikipedia": {
"command": "python",
"args": ["server.py"],
"transport": "stdio",
}
}
)Затем клиент обнаруживает доступные инструменты MCP:
tools = await client.get_tools()Эти инструменты передаются агенту LangGraph:
agent = create_react_agent(
model,
tools
)Затем LLM может решить, какой инструмент использовать, на основе запроса пользователя.
⚙️ Установка
1. Клонируйте репозиторий
git clone https://github.com/YOUR_USERNAME/langchain-mcp-wikipedia.gitcd langchain-mcp-wikipedia2. Создайте виртуальное окружение
Windows:
python -m venv venv
venv\Scripts\activateLinux/macOS:
python3 -m venv venv
source venv/bin/activate3. Установите зависимости
pip install -r requirements.txt🔐 Переменные окружения
Создайте файл .env:
OPENAI_API_KEY=your_openai_api_key🧠 Почему MCP?
Традиционная интеграция инструментов часто тесно связывает LLM-приложение с отдельными API.
MCP предоставляет стандартизированный способ предоставления возможностей в виде инструментов.
LLM
│
▼
LangChain / LangGraph
│
▼
MCP Client
│
▼
MCP Server
│
├── Wikipedia
├── Search
├── Database
├── APIs
└── Custom ToolsТакое разделение делает инструменты переиспользуемыми в различных ИИ-приложениях и агентах.
📌 Ключевые демонстрируемые концепции
Этот проект полезен для изучения:
Model Context Protocol (MCP)
FastMCP
MCP-серверы
MCP-клиенты
транспорт stdio
интеграция инструментов LangChain
агенты LangGraph
агенты ReAct
FastAPI
интеграция с внешними API
вызов инструментов LLM
модульная архитектура ИИ-агента
This server cannot be deployed
Maintenance
Related MCP Connectors
Search Wikipedia, read summaries and full text, target sections, find nearby pages, list languages.
Google search, news, maps, scholar and public webpages for AI agents, with Markdown results.
Web search, point-in-time crypto market data, verified strategy track records and 160+ agent tools.
461Direct access to 60+ scraping and search tools. Extract structured data from Google (Search, Maps, Trends), Amazon, Airbnb, Social Media, and any web page directly into your AI agent.
Related MCP Servers
- AlicenseBqualityCmaintenanceA Model Context Protocol server that retrieves information from Wikipedia to provide context to LLMs, allowing users to search articles, get summaries, full content, sections, and links from Wikipedia.224,717 PyPI299MIT
- FlicenseNot gradedqualityDmaintenanceA production-ready server that provides Wikipedia search and content retrieval tools through the Model Context Protocol, enabling AI assistants to search for articles, list sections, and retrieve specific content.-
- AlicenseAqualityCmaintenanceEnables LLMs to search for keywords and fetch full page content from Wikipedia across various languages. It provides direct access to Wikipedia information through search and fetch tools.24MIT
- AlicenseNot gradedqualityFmaintenanceEnables AI agents to search, read, and explore Wikipedia articles via tools like summaries, categories, and random articles, with no API keys required.1MIT