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
  • uv gestor de paquetes

Inicio rápido

Ejecutar directamente con uvx:

uvx git+https://github.com/bhubbb/mcp-se-wikipedia

O instalar localmente:

  1. Clona o descarga este proyecto

  2. Instala las dependencias:

    cd mcp-se-wikipedia
    uv sync
    
  3. 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 regular
  • full: 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úsqueda
  • limit (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 resumen
  • auto_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 completo
  • auto_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

  1. Inglés simple primero (modo predeterminado): Todas las solicitudes comienzan con la Wikipedia en inglés simple
  2. Verificación de calidad: Para solicitudes de contenido/resumen, verifica si el contenido es sustancial (>500 caracteres)
  3. 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
  4. 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:

  1. Buscará "fotosíntesis" en la Wikipedia en inglés simple
  2. Devolverá metadatos estructurados (versión, código de idioma, número de resultados)
  3. Proporcionará una lista de artículos relevantes
  4. 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:

  1. Intentará obtener el resumen de "Luna" de la Wikipedia en inglés simple
  2. Devolverá metadatos estructurados (título, versión, URL, longitud del contenido)
  3. Proporcionará el resumen de la página
  4. 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:

  1. Intentará obtener el artículo completo de "Luna" de la Wikipedia en inglés simple
  2. Verificará si el contenido es suficientemente sustancial
  3. Devolverá metadatos estructurados y el contenido completo del artículo
  4. 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 Modelos
  • wikipedia: Envoltorio de la API de Wikipedia para Python
  • asyncio: 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

  1. Errores de importación: Asegúrate de que todas las dependencias estén instaladas con uv sync
  2. Problemas de conexión: Verifica la conectividad de red para el acceso a la API de Wikipedia
  3. 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.