Librarian
Un servidor para consultar Wikipedia y verificar automáticamente información de cualquier LLM con un cliente MCP compatible.
Documentación
librarian
Librarian es un servidor MCP (Model Context Protocol) que permite a cualquier LLM con un cliente MCP compatible consultar Wikipedia para obtener información. Se puede configurar para verificar automáticamente la información sin requerir solicitudes explícitas del usuario.
Se comunica exclusivamente a través de Streamable HTTP (especificación MCP 2026-07-28).
"Lo único que absolutamente tienes que saber es la ubicación de la biblioteca."
— Albert Einstein
Ejemplo de un LLM usando el servidor MCP librarian para verificar información
Características
- Verificación automática de datos: Configura tu cliente LLM para verificar proactivamente afirmaciones fácticas usando Wikipedia
- Búsqueda en Wikipedia: Busca artículos relevantes de Wikipedia
- Información de páginas: Obtén información detallada sobre páginas específicas de Wikipedia
- Resúmenes de páginas: Resúmenes rápidos de páginas de Wikipedia
- Secciones de páginas: Obtén secciones específicas de páginas de Wikipedia
- Soporte multilingüe: Consulta Wikipedia en diferentes idiomas
Instalación
Requisitos previos
- Gestor de paquetes uv instalado
- Python 3.13 o superior
Configuración
git clone <your-repository-url>
cd librarian
uv sync
Ejecutar el servidor
uv run python librarian_server.py
El servidor se inicia en http://0.0.0.0:8000. El endpoint MCP está disponible en /mcp.
Para despliegues de producción detrás de gunicorn, usa el adaptador ASGI:
gunicorn librarian_wsgi:app -w 4 -k uvicorn.workers.UvicornWorker --bind 0.0.0.0:8000
Configuración del Cliente
Añade esto a la configuración de tu cliente MCP para conectarte al servidor:
{
"mcpServers": {
"librarian": {
"url": "https://your-server-host/mcp"
}
}
}
Conectar con Claude Code
Primero, inicia el servidor:
uv run python librarian_server.py
Luego regístralo con Claude Code:
claude mcp add librarian -t http http://localhost:8000/mcp
Las herramientas de Wikipedia estarán disponibles automáticamente en tu próxima sesión de Claude Code.
Configuración de Verificación Automática de Datos
Para que tu cliente LLM use Wikipedia automáticamente para verificar datos, comienza tus conversaciones con:
"Use your Wikipedia tools to automatically fact-check any factual claims in our conversation. Don't wait for me to ask - proactively verify information and provide corrections when needed."
O usa el prompt integrado haciendo referencia a: fact_checking_instructions
Ejemplos de Comportamiento
Una vez configurado, tu cliente LLM automáticamente:
- Verificará fechas y eventos históricos
- Comprobará información biográfica
- Confirmará hechos y descubrimientos científicos
- Validará información geográfica
- Corregirá conceptos erróneos comunes
- Proporcionará atribución de fuentes de Wikipedia
Herramientas Disponibles
- search_wikipedia_pages: Busca artículos de Wikipedia sobre cualquier tema y devuelve los 5 mejores resultados con información de selección
- get_wikipedia_page_info: Obtén información completa sobre una página específica, incluyendo contenido, resumen, palabras hipervinculadas y categorías
- get_wikipedia_page_summary: Obtén resúmenes rápidos de páginas de Wikipedia con longitud de oración personalizable
- get_wikipedia_page_sections: Obtén una lista de todas las secciones de una página de Wikipedia para páginas grandes donde necesitas información específica
- get_wikipedia_page_sections_info: Obtén contenido detallado para secciones específicas de una página de Wikipedia por título o índice
Todas las herramientas admiten consultas multilingües de Wikipedia especificando el parámetro de idioma (predeterminado: "en").
Ejemplos
Herramientas Disponibles
Captura de pantalla que muestra las herramientas de Wikipedia disponibles cuando el servidor MCP está configurado correctamente
Configuración de Servidores MCP
Cliente MCP mostrando el servidor librarian conectado y disponible correctamente
Ejemplo de Integración con VS Code
Ejemplo de uso de las herramientas de librarian dentro de VS Code con GitHub Copilot
Migración a MCP 2026-07-28
Este proyecto fue construido originalmente con la especificación MCP 2025-11-05 (SDK v1.x). Se ha migrado completamente a la especificación MCP 2026-07-28 (SDK v2.0.0).
Qué cambió en la especificación
El lanzamiento de 2026-07-28 es la revisión más significativa de MCP hasta la fecha. Su cambio central es el paso de un protocolo con estado, basado en sesiones a un protocolo sin estado, de solicitud/respuesta:
- El handshake
initialize/initializedestá eliminado — los clientes envían capacidades en cada solicitud a través de_meta - El encabezado
Mcp-Session-Idestá eliminado — los servidores ahora son compatibles con balanceadores de carga de forma nativa - El transporte WebSocket está eliminado por completo
- El transporte HTTP+SSE está obsoleto en favor de Streamable HTTP
- Se requiere un nuevo endpoint
server/discover(gestionado automáticamente por el SDK) - Los resultados de herramientas/recursos/prompts ahora se validan contra el esquema del protocolo en el momento de la decoración
Qué se actualizó en este repositorio
| Archivo | Cambio |
|---|---|
pyproject.toml | mcp>=2.0.0, httpx → httpx2, eliminado websockets, añadido anyio, opentelemetry-api |
librarian.py | FastMCP → MCPServer (nueva ruta de importación y constructor) |
wiki/api.py | import httpx → import httpx2 (misma superficie de API, paquete renombrado) |
librarian_server.py | Reemplazada la implementación personalizada de WebSocket + SSE con mcp.streamable_http_app(stateless_http=True) |
librarian_wsgi.py | Misma sustitución que arriba |
librarian_stdio.py | Eliminado — el servidor ahora es solo HTTP |
resources/prompt_resources.py | Corregidos los tipos de retorno de prompts: dict con role:"system" inválido → str simple |
tools/wikipedia_tools.py | Eliminada la importación no utilizada de Tool y la lista muerta WIKIPEDIA_TOOLS |
Endpoints de conexión actualizados
Los endpoints anteriores de WebSocket (wss://) y SSE (/sse) ya no están disponibles. Todos los clientes se conectan a través del endpoint Streamable HTTP:
{
"mcpServers": {
"librarian": {
"url": "https://your-server-host/mcp"
}
}
}
Licencia
Este proyecto es de código abierto. Consulta el archivo de licencia para más detalles.