Wikipedia Simple English MCP Server
Accede al contenido de Wikipedia, priorizando el inglés simple con una alternativa al inglés regular.
Documentación
Servidor MCP de Wikipedia en Inglés Simple
Un servidor de Protocolo de Contexto de Modelos (MCP) que proporciona acceso al contenido de Wikipedia, priorizando la Wikipedia en inglés simple con una alternativa inteligente a la Wikipedia en inglés regular cuando el contenido no está disponible o es de baja calidad.
Descripción general
Este servidor MCP actúa como un puente entre los asistentes de IA y Wikipedia, diseñado específicamente para:
- Priorizar el inglés simple: Utiliza primero la Wikipedia en inglés simple para obtener contenido más claro y accesible
- Alternativa inteligente: Cambia automáticamente a la Wikipedia en inglés regular cuando es necesario
- Detección de calidad: Evalúa la calidad del contenido y cambia a la Wikipedia en inglés para artículos esbozo
- Amigable para humanos: Diseñado pensando en la legibilidad y la facilidad de uso
Características
🔍 Herramienta de búsqueda
- Busca en artículos de Wikipedia
- Devuelve metadatos estructurados y una lista clasificada de títulos de páginas relevantes
- Prueba primero el inglés simple y luego cambia al inglés
- Límites de resultados configurables
📄 Herramienta de resumen
- Recupera resúmenes/extractos de páginas de Wikipedia
- Respuestas ligeras y rápidas para vistas generales rápidas
- Metadatos estructurados con indicadores de longitud de contenido e idioma
- Manejo automático de desambiguación
📖 Herramienta de contenido
- Recupera el contenido completo de páginas de Wikipedia
- Texto completo del artículo para investigación detallada
- Salida estructurada con bloques separados de metadatos y contenido
- Selección de idioma basada en la calidad
Instalación y configuración
Requisitos previos
- Python 3.12 o superior
uvgestor de paquetes
Inicio rápido
Ejecutar directamente con uvx:
uvx git+https://github.com/bhubbb/mcp-se-wikipedia
O instalar localmente:
-
Clona o descarga este proyecto
-
Instala las dependencias:
cd mcp-se-wikipedia uv sync -
Ejecuta el servidor:
uv run python main.py
Integración con asistentes de IA
Este servidor MCP está diseñado para funcionar con asistentes de IA que admiten el Protocolo de Contexto de Modelos. Configura tu asistente de IA para conectarse a este servidor a través de stdio.
Ejemplo de configuración para Claude Desktop:
{
"mcpServers": {
"wikipedia-se": {
"command": "uvx",
"args": ["git+https://github.com/bhubbb/mcp-se-wikipedia"]
}
}
}
O si usas una instalación local:
{
"mcpServers": {
"wikipedia-se": {
"command": "uv",
"args": ["run", "python", "/path/to/mcp-se-wikipedia/main.py"]
}
}
}
Para usar exclusivamente la Wikipedia en inglés completo (omitiendo el inglés simple):
{
"mcpServers": {
"wikipedia-se": {
"command": "uvx",
"args": ["git+https://github.com/bhubbb/mcp-se-wikipedia"],
"env": {
"WIKIPEDIA_MODE": "full"
}
}
}
}
Configuración
El comportamiento del servidor se puede configurar mediante variables de entorno:
WIKIPEDIA_MODE
Controla qué versión de Wikipedia usar:
simple(predeterminado): Prioriza la Wikipedia en inglés simple con cambio automático al inglés regularfull: Usa solo la Wikipedia en inglés regular, omitiendo por completo el inglés simple
Ejemplo de uso:
# Default mode (Simple English first)
uv run python main.py
# Full Wikipedia mode only
WIKIPEDIA_MODE=full uv run python main.py
Esto es útil cuando:
- Necesitas contenido técnico más detallado
- Quieres resultados consistentes de la Wikipedia regular
- Trabajas con temas que tienen mejor cobertura en la Wikipedia en inglés completo
Herramientas disponibles
search
Busca en Wikipedia artículos con resultados estructurados.
Parámetros:
query(obligatorio): Términos de búsquedalimit(opcional): Máximo de resultados a devolver (1-20, predeterminado: 10)
Devuelve:
- Metadatos de búsqueda (versión de Wikipedia, consulta, número de resultados, código de idioma)
- Lista de títulos de artículos coincidentes
Ejemplo:
{
"name": "search",
"arguments": {
"query": "solar system",
"limit": 5
}
}
summary
Obtiene el resumen/extracto de una página de Wikipedia.
Parámetros:
title(obligatorio): Título de la página para recuperar el resumenauto_suggest(opcional): Sugerir automáticamente títulos similares si no se encuentra una coincidencia exacta (predeterminado: verdadero)
Devuelve:
- Metadatos del resumen (título, versión de Wikipedia, código de idioma, URL, longitud del contenido)
- Texto del resumen de la página
Ejemplo:
{
"name": "summary",
"arguments": {
"title": "Earth",
"auto_suggest": true
}
}
content
Obtiene el contenido completo de una página de Wikipedia.
Parámetros:
title(obligatorio): Título de la página para recuperar el contenido completoauto_suggest(opcional): Sugerir automáticamente títulos similares si no se encuentra una coincidencia exacta (predeterminado: verdadero)
Devuelve:
- Metadatos del contenido (título, versión de Wikipedia, código de idioma, URL, longitud del contenido)
- Contenido completo del artículo
Ejemplo:
{
"name": "content",
"arguments": {
"title": "Earth",
"auto_suggest": true
}
}
Cómo funciona
Sistema de prioridad de idioma
- Inglés simple primero (modo predeterminado): Todas las solicitudes comienzan con la Wikipedia en inglés simple
- Verificación de calidad: Para solicitudes de contenido/resumen, verifica si el contenido es sustancial (>500 caracteres)
- Cambio automático: Cambia a la Wikipedia en inglés si:
- La página no existe en inglés simple
- El contenido es demasiado breve (probablemente un esbozo)
- La búsqueda no devuelve resultados
- Modo de Wikipedia completo: Cuando se establece
WIKIPEDIA_MODE=full, omite el inglés simple y usa directamente la Wikipedia en inglés regular
Formato de salida estructurado
Todas las herramientas devuelven respuestas estructuradas con bloques separados para:
- Metadatos: Versión de Wikipedia, códigos de idioma, URL, estadísticas de contenido
- Contenido: Resultados de búsqueda, resúmenes o contenido completo del artículo
- Opciones: Opciones de desambiguación cuando coinciden varias páginas
Esta estructura hace que las respuestas sean tanto legibles para humanos como analizables por máquinas.
Manejo de errores
- Desambiguación: Cuando coinciden varias páginas, devuelve una lista de opciones
- Página no encontrada: Mensajes de error claros con sugerencias
- Problemas de red: Manejo elegante de errores con mensajes informativos
Casos de uso
Para estudiantes y aprendices
- Obtén explicaciones simplificadas de temas complejos
- Accede a contenido educativo en un lenguaje más claro
- Asistencia en la investigación con ajuste automático de complejidad
Para creación de contenido
- Material de origen para artículos y explicaciones
- Verificación de datos con fuentes confiables de Wikipedia
- Soporte de investigación con optimización de legibilidad
Para accesibilidad
- Contenido más fácil de leer para varios niveles de lectura
- Lenguaje simplificado para hablantes no nativos
- Entrega de información clara y concisa
Ejemplos
Búsqueda básica
Pregunta a tu asistente de IA: "Busca en Wikipedia información sobre la fotosíntesis"
El servidor:
- Buscará "fotosíntesis" en la Wikipedia en inglés simple
- Devolverá metadatos estructurados (versión, código de idioma, número de resultados)
- Proporcionará una lista de artículos relevantes
- Cambiará a la Wikipedia en inglés si es necesario
Recuperación de resumen
Pregunta a tu asistente de IA: "Obtén un resumen de la Luna de Wikipedia"
El servidor:
- Intentará obtener el resumen de "Luna" de la Wikipedia en inglés simple
- Devolverá metadatos estructurados (título, versión, URL, longitud del contenido)
- Proporcionará el resumen de la página
- Cambiará a la Wikipedia en inglés si el inglés simple no está disponible
Recuperación de contenido completo
Pregunta a tu asistente de IA: "Obtén el artículo completo de Wikipedia sobre la Luna"
El servidor:
- Intentará obtener el artículo completo de "Luna" de la Wikipedia en inglés simple
- Verificará si el contenido es suficientemente sustancial
- Devolverá metadatos estructurados y el contenido completo del artículo
- Cambiará a la Wikipedia en inglés si es necesario
Manejo de desambiguación
Pregunta a tu asistente de IA: "Obtén información sobre Mercurio"
Si coinciden varias páginas (el planeta Mercurio, el elemento Mercurio, etc.), el servidor devolverá:
- Metadatos de desambiguación estructurados
- Una lista de opciones para elegir
Desarrollo
Estructura del proyecto
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)
Dependencias clave
mcp: Marco de Protocolo de Contexto de Modeloswikipedia: Envoltorio de la API de Wikipedia para Pythonasyncio: Soporte de async/await para MCP
Personalización
El servidor se puede personalizar fácilmente modificando main.py:
- Umbral de calidad: Cambia el umbral de 500 caracteres para la calidad del contenido
- Límites de búsqueda: Modifica los límites de resultados de búsqueda predeterminados y máximos
- Configuración de idioma: Agrega soporte para otros idiomas de Wikipedia
- Filtrado de contenido: Agrega procesamiento o filtrado de contenido personalizado
Pruebas del servidor
Prueba el servidor directamente:
uvx git+https://github.com/bhubbb/mcp-se-wikipedia
O con instalación local:
cd mcp-se-wikipedia
uv run python main.py
El servidor se comunica mediante JSON-RPC a través de stdin/stdout, por lo que necesitarás un cliente MCP o un asistente de IA para interactuar correctamente con él.
Solución de problemas
Problemas comunes
- Errores de importación: Asegúrate de que todas las dependencias estén instaladas con
uv sync - Problemas de conexión: Verifica la conectividad de red para el acceso a la API de Wikipedia
- Límite de velocidad: Wikipedia tiene límites de velocidad; el servidor maneja esto con elegancia
Depuración
Habilita el registro de depuración modificando el nivel de registro en main.py:
logging.basicConfig(level=logging.DEBUG)
Contribuciones
Esta es una implementación simple de un solo archivo diseñada para la claridad y la facilidad de modificación. Siéntete libre de:
- Agregar soporte para nuevos idiomas de Wikipedia
- Implementar filtrado de contenido adicional
- Agregar caché para un mejor rendimiento
- Extender con características adicionales de Wikipedia
Licencia
Este proyecto utiliza la misma licencia que sus dependencias. El contenido de Wikipedia al que se accede a través de este servidor está sujeto a los términos de licencia de Wikipedia.