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

Claude Response

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

  1. search_wikipedia_pages: Busca artículos de Wikipedia sobre cualquier tema y devuelve los 5 mejores resultados con información de selección
  2. get_wikipedia_page_info: Obtén información completa sobre una página específica, incluyendo contenido, resumen, palabras hipervinculadas y categorías
  3. get_wikipedia_page_summary: Obtén resúmenes rápidos de páginas de Wikipedia con longitud de oración personalizable
  4. 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
  5. 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

Tools Available

Captura de pantalla que muestra las herramientas de Wikipedia disponibles cuando el servidor MCP está configurado correctamente

Configuración de Servidores MCP

MCP Servers

Cliente MCP mostrando el servidor librarian conectado y disponible correctamente

Ejemplo de Integración con VS Code

VS Code Response

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/initialized está eliminado — los clientes envían capacidades en cada solicitud a través de _meta
  • El encabezado Mcp-Session-Id está 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

ArchivoCambio
pyproject.tomlmcp>=2.0.0, httpxhttpx2, eliminado websockets, añadido anyio, opentelemetry-api
librarian.pyFastMCPMCPServer (nueva ruta de importación y constructor)
wiki/api.pyimport httpximport httpx2 (misma superficie de API, paquete renombrado)
librarian_server.pyReemplazada la implementación personalizada de WebSocket + SSE con mcp.streamable_http_app(stateless_http=True)
librarian_wsgi.pyMisma sustitución que arriba
librarian_stdio.pyEliminado — el servidor ahora es solo HTTP
resources/prompt_resources.pyCorregidos los tipos de retorno de prompts: dict con role:"system" inválido → str simple
tools/wikipedia_tools.pyEliminada 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.