Wikipedia Simple English MCP Server
Acesse o conteúdo da Wikipédia, priorizando o Simple English com fallback para o inglês padrão.
Documentação
Servidor MCP da Wikipédia em Inglês Simples
Um servidor Model Context Protocol (MCP) que fornece acesso ao conteúdo da Wikipédia, priorizando a Wikipédia em Inglês Simples, com fallback inteligente para a Wikipédia em inglês regular quando o conteúdo não está disponível ou é de baixa qualidade.
Visão Geral
Este servidor MCP atua como uma ponte entre assistentes de IA e a Wikipédia, projetado especificamente para:
- Priorizar Inglês Simples: Usa a Wikipédia em Inglês Simples primeiro para conteúdo mais claro e acessível
- Fallback Inteligente: Alterna automaticamente para a Wikipédia em inglês regular quando necessário
- Detecção de Qualidade: Avalia a qualidade do conteúdo e muda para a Wikipédia em inglês para artigos esboço (stubs)
- Focado no Usuário: Projetado com legibilidade e usabilidade em mente
Recursos
🔍 Ferramenta de Busca
- Busca em artigos da Wikipédia
- Retorna metadados estruturados e lista classificada de títulos de páginas relevantes
- Tenta Inglês Simples primeiro, com fallback para inglês
- Limites de resultados configuráveis
📄 Ferramenta de Resumo
- Recupera resumos/extratos de páginas da Wikipédia
- Respostas leves e rápidas para visões gerais rápidas
- Metadados estruturados com indicadores de comprimento de conteúdo e idioma
- Tratamento automático de desambiguação
📖 Ferramenta de Conteúdo
- Recupera o conteúdo completo de páginas da Wikipédia
- Texto completo do artigo para pesquisa detalhada
- Saída estruturada com blocos separados de metadados e conteúdo
- Seleção de idioma baseada em qualidade
Instalação e Configuração
Pré-requisitos
- Python 3.12 ou superior
- Gerenciador de pacotes
uv
Início Rápido
Execute diretamente com uvx:
uvx git+https://github.com/bhubbb/mcp-se-wikipedia
Ou instale localmente:
-
Clone ou baixe este projeto
-
Instale as dependências:
cd mcp-se-wikipedia uv sync -
Execute o servidor:
uv run python main.py
Integração com Assistentes de IA
Este servidor MCP foi projetado para funcionar com assistentes de IA que suportam o Model Context Protocol. Configure seu assistente de IA para conectar a este servidor via stdio.
Exemplo de configuração para Claude Desktop:
{
"mcpServers": {
"wikipedia-se": {
"command": "uvx",
"args": ["git+https://github.com/bhubbb/mcp-se-wikipedia"]
}
}
}
Ou se estiver usando uma instalação local:
{
"mcpServers": {
"wikipedia-se": {
"command": "uv",
"args": ["run", "python", "/path/to/mcp-se-wikipedia/main.py"]
}
}
}
Para usar exclusivamente a Wikipédia em inglês completo (ignorando Inglês Simples):
{
"mcpServers": {
"wikipedia-se": {
"command": "uvx",
"args": ["git+https://github.com/bhubbb/mcp-se-wikipedia"],
"env": {
"WIKIPEDIA_MODE": "full"
}
}
}
}
Configuração
O comportamento do servidor pode ser configurado usando variáveis de ambiente:
WIKIPEDIA_MODE
Controla qual versão da Wikipédia usar:
simple(padrão): Prioriza a Wikipédia em Inglês Simples com fallback automático para inglês regularfull: Usa apenas a Wikipédia em inglês regular, ignorando Inglês Simples completamente
Exemplo de uso:
# Default mode (Simple English first)
uv run python main.py
# Full Wikipedia mode only
WIKIPEDIA_MODE=full uv run python main.py
Isso é útil quando:
- Você precisa de conteúdo técnico mais detalhado
- Você quer resultados consistentes da Wikipédia regular
- Você está trabalhando com tópicos que têm melhor cobertura na Wikipédia em inglês completo
Ferramentas Disponíveis
search
Busca na Wikipédia por artigos com resultados estruturados.
Parâmetros:
query(obrigatório): Termos de buscalimit(opcional): Máximo de resultados a retornar (1-20, padrão: 10)
Retorna:
- Metadados da busca (versão da Wikipédia, consulta, contagem de resultados, código de idioma)
- Lista de títulos de artigos correspondentes
Exemplo:
{
"name": "search",
"arguments": {
"query": "solar system",
"limit": 5
}
}
summary
Obtém o resumo/extrato de uma página da Wikipédia.
Parâmetros:
title(obrigatório): Título da página para recuperar o resumoauto_suggest(opcional): Sugerir automaticamente títulos semelhantes se a correspondência exata não for encontrada (padrão: verdadeiro)
Retorna:
- Metadados do resumo (título, versão da Wikipédia, código de idioma, URL, comprimento do conteúdo)
- Texto do resumo da página
Exemplo:
{
"name": "summary",
"arguments": {
"title": "Earth",
"auto_suggest": true
}
}
content
Obtém o conteúdo completo de uma página da Wikipédia.
Parâmetros:
title(obrigatório): Título da página para recuperar o conteúdo completoauto_suggest(opcional): Sugerir automaticamente títulos semelhantes se a correspondência exata não for encontrada (padrão: verdadeiro)
Retorna:
- Metadados do conteúdo (título, versão da Wikipédia, código de idioma, URL, comprimento do conteúdo)
- Conteúdo completo do artigo
Exemplo:
{
"name": "content",
"arguments": {
"title": "Earth",
"auto_suggest": true
}
}
Como Funciona
Sistema de Prioridade de Idioma
- Inglês Simples Primeiro (modo padrão): Todas as solicitações começam com a Wikipédia em Inglês Simples
- Verificação de Qualidade: Para solicitações de conteúdo/resumo, verifica se o conteúdo é substancial (>500 caracteres)
- Fallback Automático: Muda para a Wikipédia em inglês se:
- A página não existe em Inglês Simples
- O conteúdo é muito breve (provavelmente um esboço)
- A busca não retorna resultados
- Modo Wikipédia Completa: Quando
WIKIPEDIA_MODE=fullestá definido, ignora Inglês Simples e usa a Wikipédia em inglês regular diretamente
Formato de Saída Estruturado
Todas as ferramentas retornam respostas estruturadas com blocos separados para:
- Metadados: Versão da Wikipédia, códigos de idioma, URLs, estatísticas de conteúdo
- Conteúdo: Resultados de busca, resumos ou conteúdo completo do artigo
- Opções: Escolhas de desambiguação quando várias páginas correspondem
Essa estrutura torna as respostas tanto legíveis por humanos quanto analisáveis por máquinas.
Tratamento de Erros
- Desambiguação: Quando várias páginas correspondem, retorna lista de opções
- Página Não Encontrada: Mensagens de erro claras com sugestões
- Problemas de Rede: Tratamento de erros gracioso com mensagens informativas
Casos de Uso
Para Estudantes e Aprendizes
- Obtenha explicações simplificadas de tópicos complexos
- Acesse conteúdo educacional em linguagem mais clara
- Assistência em pesquisa com ajuste automático de complexidade
Para Criação de Conteúdo
- Material de origem para artigos e explicações
- Verificação de fatos com fontes confiáveis da Wikipédia
- Suporte à pesquisa com otimização de legibilidade
Para Acessibilidade
- Conteúdo mais fácil de ler para vários níveis de leitura
- Linguagem simplificada para falantes não nativos
- Entrega de informações clara e concisa
Exemplos
Busca Básica
Pergunte ao seu assistente de IA: "Busque na Wikipédia informações sobre fotossíntese"
O servidor irá:
- Buscar na Wikipédia em Inglês Simples por "fotossíntese"
- Retornar metadados estruturados (versão, código de idioma, contagem de resultados)
- Fornecer uma lista de artigos relevantes
- Fazer fallback para a Wikipédia em inglês se necessário
Recuperação de Resumo
Pergunte ao seu assistente de IA: "Obtenha um resumo da Lua da Wikipédia"
O servidor irá:
- Tentar buscar o resumo de "Lua" na Wikipédia em Inglês Simples
- Retornar metadados estruturados (título, versão, URL, comprimento do conteúdo)
- Fornecer o resumo da página
- Fazer fallback para a Wikipédia em inglês se Inglês Simples não estiver disponível
Recuperação de Conteúdo Completo
Pergunte ao seu assistente de IA: "Obtenha o artigo completo da Wikipédia sobre a Lua"
O servidor irá:
- Tentar buscar o artigo completo de "Lua" na Wikipédia em Inglês Simples
- Verificar se o conteúdo é substancial o suficiente
- Retornar metadados estruturados e conteúdo completo do artigo
- Fazer fallback para a Wikipédia em inglês se necessário
Tratamento de Desambiguação
Pergunte ao seu assistente de IA: "Obtenha informações sobre Mercúrio"
Se várias páginas corresponderem (planeta Mercúrio, elemento Mercúrio, etc.), o servidor retornará:
- Metadados de desambiguação estruturados
- Uma lista de opções para escolher
Desenvolvimento
Estrutura do Projeto
mcp-se-wikipedia/
├── main.py # Main MCP server implementation
├── pyproject.toml # Project dependencies and metadata
├── AGENT.md # This documentation
└── .venv/ # Virtual environment (created by uv)
Dependências Principais
mcp: Framework Model Context Protocolwikipedia: Wrapper da API Python da Wikipédiaasyncio: Suporte async/await para MCP
Personalização
O servidor pode ser facilmente personalizado modificando main.py:
- Limite de Qualidade: Altere o limite de 500 caracteres para qualidade de conteúdo
- Limites de Busca: Modifique os limites padrão e máximo de resultados de busca
- Configurações de Idioma: Adicione suporte para outros idiomas da Wikipédia
- Filtragem de Conteúdo: Adicione processamento ou filtragem de conteúdo personalizado
Testando o Servidor
Teste o servidor diretamente:
uvx git+https://github.com/bhubbb/mcp-se-wikipedia
Ou com instalação local:
cd mcp-se-wikipedia
uv run python main.py
O servidor se comunica via JSON-RPC sobre stdin/stdout, então você precisará de um cliente MCP ou assistente de IA para interagir adequadamente com ele.
Solução de Problemas
Problemas Comuns
- Erros de Importação: Certifique-se de que todas as dependências estejam instaladas com
uv sync - Problemas de Conexão: Verifique a conectividade de rede para acesso à API da Wikipédia
- Limitação de Taxa: A Wikipédia tem limites de taxa; o servidor lida com isso graciosamente
Depuração
Ative o registro de depuração modificando o nível de registro em main.py:
logging.basicConfig(level=logging.DEBUG)
Contribuindo
Esta é uma implementação simples de arquivo único, projetada para clareza e facilidade de modificação. Sinta-se à vontade para:
- Adicionar suporte para novos idiomas da Wikipédia
- Implementar filtragem adicional de conteúdo
- Adicionar cache para melhor desempenho
- Estender com recursos adicionais da Wikipédia
Licença
Este projeto usa a mesma licença que suas dependências. O conteúdo da Wikipédia acessado através deste servidor está sujeito aos termos de licenciamento da Wikipédia.