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
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
- search_wikipedia_pages: Pesquise artigos da Wikipédia sobre qualquer tópico e retorne os 5 principais resultados com informações de seleção
- get_wikipedia_page_info: Obtenha informações abrangentes sobre uma página específica, incluindo conteúdo, resumo, palavras com hiperlinks e categorias
- get_wikipedia_page_summary: Obtenha resumos rápidos de páginas da Wikipédia com comprimento de frase personalizável
- 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
- 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
Captura de tela mostrando as ferramentas da Wikipédia disponíveis quando o servidor MCP está configurado corretamente
Configuração de Servidores MCP
Cliente MCP mostrando o servidor librarian conectado e disponível com sucesso
Exemplo de Integração com VS Code
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/initializedfoi removido — os clientes enviam capacidades em cada requisição via_meta - O cabeçalho
Mcp-Session-Idfoi 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
| Arquivo | Alteração |
|---|---|
pyproject.toml | mcp>=2.0.0, httpx → httpx2, removido websockets, adicionado anyio, opentelemetry-api |
librarian.py | FastMCP → MCPServer (novo caminho de importação e construtor) |
wiki/api.py | import httpx → import httpx2 (mesma superfície de API, pacote renomeado) |
librarian_server.py | Substituiu a implementação personalizada de WebSocket + SSE por mcp.streamable_http_app(stateless_http=True) |
librarian_wsgi.py | Mesma substituição acima |
librarian_stdio.py | Excluído — o servidor agora é somente HTTP |
resources/prompt_resources.py | Corrigidos os tipos de retorno do prompt: dict com role:"system" inválido → str simples |
tools/wikipedia_tools.py | Removido 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.