Librarian

Um servidor para consultar a Wikipédia e verificar automaticamente informações para qualquer LLM com um cliente MCP compatível.

Documentação

librarian

Librarian é um servidor MCP (Model Context Protocol) que permite que qualquer LLM com um cliente MCP compatível consulte a Wikipédia em busca de informações. Ele pode ser configurado para verificar fatos automaticamente sem exigir solicitações explícitas do usuário.

Ele se comunica exclusivamente via Streamable HTTP (especificação MCP 2026-07-28).

"A única coisa que você absolutamente precisa saber é a localização da biblioteca."

— Albert Einstein

Claude Response

Exemplo de um LLM usando o servidor MCP librarian para verificar fatos

Recursos

  • Verificação Automática de Fatos: Configure seu cliente LLM para verificar proativamente afirmações factuais usando a Wikipédia
  • Pesquisa na Wikipédia: Pesquise artigos relevantes da Wikipédia
  • Informações de Página: Obtenha informações detalhadas sobre páginas específicas da Wikipédia
  • Resumos de Página: Resumos rápidos de páginas da Wikipédia
  • Seções de Página: Obtenha seções específicas de páginas da Wikipédia
  • Suporte a Múltiplos Idiomas: Consulte a Wikipédia em diferentes idiomas

Instalação

Pré-requisitos

  • Gerenciador de pacotes uv instalado
  • Python 3.13 ou superior

Configuração

git clone <your-repository-url>
cd librarian
uv sync

Executando o servidor

uv run python librarian_server.py

O servidor inicia em http://0.0.0.0:8000. O endpoint MCP está disponível em /mcp.

Para implantações em produção atrás do gunicorn, use o adaptador ASGI:

gunicorn librarian_wsgi:app -w 4 -k uvicorn.workers.UvicornWorker --bind 0.0.0.0:8000

Configuração do Cliente

Adicione isto à configuração do seu cliente MCP para conectar ao servidor:

{
    "mcpServers": {
        "librarian": {
            "url": "https://your-server-host/mcp"
        }
    }
}

Conectar ao Claude Code

Primeiro, inicie o servidor:

uv run python librarian_server.py

Em seguida, registre-o no Claude Code:

claude mcp add librarian -t http http://localhost:8000/mcp

As ferramentas da Wikipédia estarão disponíveis automaticamente na sua próxima sessão do Claude Code.

Configuração de Verificação Automática de Fatos

Para fazer seu cliente LLM usar a Wikipédia automaticamente para verificação de fatos, inicie suas conversas com:

"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."

Ou use o prompt integrado referenciando: fact_checking_instructions

Exemplos de Comportamento

Uma vez configurado, seu cliente LLM automaticamente irá:

  • Verificar datas e eventos históricos
  • Verificar informações biográficas
  • Confirmar fatos e descobertas científicas
  • Validar informações geográficas
  • Corrigir equívocos comuns
  • Fornecer atribuição de fontes da Wikipédia

Ferramentas Disponíveis

  1. search_wikipedia_pages: Pesquise artigos da Wikipédia sobre qualquer tópico e retorne os 5 principais resultados com informações de seleção
  2. get_wikipedia_page_info: Obtenha informações abrangentes sobre uma página específica, incluindo conteúdo, resumo, palavras com hiperlinks e categorias
  3. get_wikipedia_page_summary: Obtenha resumos rápidos de páginas da Wikipédia com comprimento de frase personalizável
  4. get_wikipedia_page_sections: Obtenha uma lista de todas as seções de uma página da Wikipédia para páginas grandes onde você precisa de informações específicas
  5. get_wikipedia_page_sections_info: Obtenha conteúdo detalhado para seções específicas de uma página da Wikipédia por título ou índice

Todas as ferramentas suportam consultas multilíngues à Wikipédia especificando o parâmetro de idioma (padrão: "en").

Exemplos

Ferramentas Disponíveis

Tools Available

Captura de tela mostrando as ferramentas da Wikipédia disponíveis quando o servidor MCP está configurado corretamente

Configuração de Servidores MCP

MCP Servers

Cliente MCP mostrando o servidor librarian conectado e disponível com sucesso

Exemplo de Integração com VS Code

VS Code Response

Exemplo de uso das ferramentas librarian no VS Code com GitHub Copilot

Migração para MCP 2026-07-28

Este projeto foi originalmente construído com a especificação MCP 2025-11-05 (SDK v1.x). Ele foi totalmente migrado para a especificação MCP 2026-07-28 (SDK v2.0.0).

O que mudou na especificação

O lançamento de 2026-07-28 é a revisão mais significativa do MCP até hoje. Sua mudança central é a transição de um protocolo com estado, baseado em sessão para um protocolo sem estado, de requisição/resposta:

  • O handshake initialize/initialized foi removido — os clientes enviam capacidades em cada requisição via _meta
  • O cabeçalho Mcp-Session-Id foi removido — os servidores agora são compatíveis com balanceadores de carga por padrão
  • O transporte WebSocket foi removido completamente
  • O transporte HTTP+SSE está obsoleto em favor do Streamable HTTP
  • Um novo endpoint server/discover é obrigatório (tratado automaticamente pelo SDK)
  • Os resultados de ferramentas/recursos/prompts agora são validados contra o esquema do protocolo no momento da decoração

O que foi atualizado neste repositório

ArquivoAlteração
pyproject.tomlmcp>=2.0.0, httpxhttpx2, removido websockets, adicionado anyio, opentelemetry-api
librarian.pyFastMCPMCPServer (novo caminho de importação e construtor)
wiki/api.pyimport httpximport httpx2 (mesma superfície de API, pacote renomeado)
librarian_server.pySubstituiu a implementação personalizada de WebSocket + SSE por mcp.streamable_http_app(stateless_http=True)
librarian_wsgi.pyMesma substituição acima
librarian_stdio.pyExcluído — o servidor agora é somente HTTP
resources/prompt_resources.pyCorrigidos os tipos de retorno do prompt: dict com role:"system" inválido → str simples
tools/wikipedia_tools.pyRemovido import Tool não utilizado e lista WIKIPEDIA_TOOLS morta

Endpoints de conexão atualizados

Os endpoints anteriores de WebSocket (wss://) e SSE (/sse) não estão mais disponíveis. Todos os clientes se conectam via endpoint Streamable HTTP:

{
    "mcpServers": {
        "librarian": {
            "url": "https://your-server-host/mcp"
        }
    }
}

Licença

Este projeto é open source. Consulte o arquivo de licença para obter detalhes.