wikipedia
🚀 FastAPI + FastMCP + LangChain Wikipedia Agent
Un agente de investigación de Wikipedia impulsado por IA que demuestra cómo FastAPI, FastMCP, LangChain y LangGraph pueden trabajar juntos para construir una aplicación de IA modular que utiliza herramientas.
El proyecto expone capacidades de Wikipedia a través de un servidor MCP (Model Context Protocol) y permite que un agente de LangChain/LangGraph descubra y utilice automáticamente esas herramientas.
🏗️ Arquitectura
┌──────────────────────┐
│ User │
│ Natural Language │
└──────────┬───────────┘
│
▼
┌──────────────────────┐
│ FastAPI │
│ Application API │
└──────────┬───────────┘
│
▼
┌──────────────────────┐
│ LangChain Agent │
│ LangGraph │
└──────────┬───────────┘
│
MCP Protocol
│
▼
┌──────────────────────┐
│ FastMCP │
│ MCP Server │
└──────────┬───────────┘
│
┌──────────┴───────────┐
▼ ▼
┌──────────────┐ ┌──────────────┐
│ Wikipedia │ │ Wikipedia │
│ Search │ │ Page │
└──────────────┘ └──────────────┘Related MCP server: MCP Wikipedia Server
✨ Características
🤖 Investigación de Wikipedia impulsada por LLM
🔌 Integración con Model Context Protocol (MCP)
⚡ Capa de aplicación FastAPI
🧠 Integración con agentes de LangChain
🔄 Agente ReAct de LangGraph
🔎 Herramienta de búsqueda en Wikipedia
📄 Herramienta de recuperación de páginas de Wikipedia
🔗 Descubrimiento de herramientas MCP
📡 Comunicación MCP basada en stdio
🧩 Arquitectura modular que puede admitir fácilmente herramientas adicionales
🛠️ Stack Tecnológico
Tecnología | Propósito |
Python | Lenguaje de programación principal |
FastAPI | Capa de API/aplicación |
FastMCP | Servidor MCP e implementación de herramientas |
LangChain | Integración de LLM y herramientas |
LangGraph | Flujo de trabajo del agente |
Requests | Solicitudes a la API de Wikipedia |
Wikipedia REST API | Fuente de conocimiento externa |
🔧 Herramientas MCP
El servidor FastMCP expone dos herramientas.
search_wikipedia
Busca en Wikipedia un tema determinado.
@mcp.tool
def search_wikipedia(query: str):
...Ejemplo:
Search Wikipedia for Albert EinsteinEl agente puede decidir automáticamente llamar a:
search_wikipedia("Albert Einstein")get_wikipedia_page
Recupera el contenido de una página específica de Wikipedia.
@mcp.tool
def get_wikipedia_page(title: str):
...Ejemplo:
Get the Wikipedia page for Artificial IntelligenceEl agente puede llamar a:
get_wikipedia_page("Artificial Intelligence")🔄 Cómo funciona MCP en este proyecto
El servidor MCP se ejecuta usando:
mcp.run(transport="stdio")El cliente de LangChain se conecta al servidor MCP:
client = MultiServerMCPClient(
{
"wikipedia": {
"command": "python",
"args": ["server.py"],
"transport": "stdio",
}
}
)El cliente luego descubre las herramientas MCP disponibles:
tools = await client.get_tools()Estas herramientas se pasan al agente de LangGraph:
agent = create_react_agent(
model,
tools
)El LLM puede entonces decidir qué herramienta usar según la solicitud del usuario.
⚙️ Instalación
1. Clonar el repositorio
git clone https://github.com/YOUR_USERNAME/langchain-mcp-wikipedia.gitcd langchain-mcp-wikipedia2. Crear un entorno virtual
Windows:
python -m venv venv
venv\Scripts\activateLinux/macOS:
python3 -m venv venv
source venv/bin/activate3. Instalar dependencias
pip install -r requirements.txt🔐 Variables de entorno
Crea un archivo .env:
OPENAI_API_KEY=your_openai_api_key🧠 ¿Por qué MCP?
La integración tradicional de herramientas a menudo acopla estrechamente una aplicación de LLM con APIs individuales.
MCP proporciona una forma estandarizada de exponer capacidades como herramientas.
LLM
│
▼
LangChain / LangGraph
│
▼
MCP Client
│
▼
MCP Server
│
├── Wikipedia
├── Search
├── Database
├── APIs
└── Custom ToolsEsta separación hace que las herramientas sean reutilizables en diferentes aplicaciones y agentes de IA.
📌 Conceptos clave demostrados
Este proyecto es útil para aprender:
Model Context Protocol (MCP)
FastMCP
Servidores MCP
Clientes MCP
Transporte stdio
Integración de herramientas de LangChain
Agentes de LangGraph
Agentes ReAct
FastAPI
Integración con APIs externas
Llamadas a herramientas de LLM
Arquitectura modular de agentes de IA
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