PyPI MCP Server

Buscar y acceder a metadatos de paquetes de Python, historial de versiones y estadísticas de descarga del repositorio PyPI.

Documentación

Servidor MCP de PyPI

🔍 Habilitando asistentes de IA para buscar y acceder a información de paquetes de PyPI a través de una interfaz MCP simple.

El Servidor MCP de PyPI proporciona un puente hacia el repositorio de paquetes de PyPI para asistentes de IA a través del Protocolo de Contexto de Modelo (MCP). Permite que los modelos de IA busquen programáticamente paquetes de Python y accedan a sus metadatos, con funciones como recuperación de información de paquetes, búsqueda de paquetes, visualización del historial de versiones y estadísticas de descargas.

✨ Características principales

  • 🔎 Búsqueda de paquetes: Consulta paquetes de PyPI por palabras clave ✅
  • 📊 Acceso a metadatos: Obtén metadatos detallados de paquetes específicos ✅
  • 📦 Información de versiones: Obtén todas las versiones publicadas de un paquete ✅
  • 📈 Datos estadísticos: Obtén estadísticas de descargas de paquetes ✅
  • 🚀 Recuperación eficiente: Acceso rápido a la información de paquetes ✅

🚀 Inicio rápido

Requisitos previos

  • Python 3.10+
  • httpx
  • BeautifulSoup4
  • mcp-python-sdk
  • typing-extensions

Instalación

  1. Clona el repositorio:

    git clone https://github.com/JackKuo666/PyPI-MCP-Server.git
    cd PyPI-MCP-Server
    
  2. Instala las dependencias requeridas:

    pip install -r requirements.txt
    

Ejecución del servidor

python pypi_server.py

El servidor se comunicará con los clientes MCP a través de entrada/salida estándar (stdio).

📚 Herramientas MCP

Obtener información de un paquete

get_package_info(package_name: str, version: Optional[str] = None) -> Dict

Obtén información detallada sobre un paquete especificado, con especificación de versión opcional.

Buscar paquetes

search_packages(query: str) -> List[Dict]

Busca paquetes de PyPI por palabras clave.

Obtener versiones de un paquete

get_package_releases(package_name: str) -> Dict

Obtén toda la información de versiones publicadas de un paquete especificado.

Obtener estadísticas de un paquete

get_package_stats(package_name: str) -> Dict

Obtén estadísticas de descargas de un paquete especificado.

🔧 Configuración

El servidor utiliza el protocolo MCP para comunicarse con los clientes a través de entrada/salida estándar (stdio), sin necesidad de configuración de puertos de red.

📋 Integración con asistentes de IA

Usando Claude Desktop

Agrega la siguiente configuración a tu claude_desktop_config.json:

{
  "mcpServers": {
    "pypi": {
      "command": "python",
      "args": ["pypi_server.py"]
    }
  }
}

Ejemplos de uso

En tu asistente de IA, puedes llamar a las herramientas MCP de PyPI de la siguiente manera:

Use PyPI tool to search for Flask package:
@pypi search_packages("flask")

Get detailed information about a specific package:
@pypi get_package_info("requests")

Get information about a specific version of a package:
@pypi get_package_info("django", "4.2.0")

View all released versions of a package:
@pypi get_package_releases("numpy")

Get download statistics for a package:
@pypi get_package_stats("pandas")

📄 Licencia

MIT