Servidor MCP
Este proyecto es un servidor MCP (Protocolo de conversación multiagente) para la URL OpenAPI dada: https://api.apis.guru/v2/specs/spinitron.com/1.0.0/openapi.json , generada automáticamente mediante el generador MCP de AG2.
Prerrequisitos
- Python 3.9+
- pip y uv
Instalación
- Clonar el repositorio:
- Instalar dependencias: El script .devcontainer/setup.sh gestiona la instalación de dependencias mediante
pip install -e ".[dev]"
. Si no utiliza el contenedor dev, puede ejecutar este comando manualmente.Alternativamente, puedes utilizaruv
:
Desarrollo
Este proyecto utiliza ruff
para control de linting y formateo, mypy
para verificación de tipos estáticos y pytest
para pruebas.
Pelusa y formato
Para comprobar si hay problemas de pelusa:
Para formatear el código:
Estos comandos también están disponibles a través del script scripts/lint.sh .
Análisis estático
Para ejecutar un análisis estático (mypy, bandit, semgrep):
Este script también se configura como un gancho previo a la confirmación en .pre-commit-config.yaml .
Ejecución de pruebas
Para ejecutar pruebas con cobertura:
Esto ejecutará pytest y generará un informe de cobertura. Para un informe y una limpieza combinados, puede usar:
Ganchos de pre-confirmación
Este proyecto utiliza ganchos de pre-confirmación definidos en .pre-commit-config.yaml . Para instalar los ganchos:
Los ganchos se ejecutarán automáticamente antes de cada confirmación.
Ejecución del servidor
El servidor MCP se puede iniciar mediante el script mcp_server/main.py . Admite diferentes modos de transporte (p. ej., stdio
y sse
).
Para iniciar el servidor (por ejemplo, en modo stdio):
El servidor se puede configurar mediante variables de entorno:
CONFIG_PATH
: Ruta a un archivo de configuración JSON (por ejemplo, mcp_server/mcp_config.json ).CONFIG
: Una cadena JSON que contiene la configuración.SECURITY
: Variables de entorno para parámetros de seguridad (por ejemplo, claves API).
Consulte el bloque if __name__ == "__main__":
en mcp_server/main.py para obtener detalles sobre cómo se cargan.
El archivo tests/test_mcp_server.py demuestra cómo iniciar e interactuar con el servidor mediante programación para realizar pruebas.
Construcción y publicación
Este proyecto utiliza Hatch para compilar y publicar. Para compilar el proyecto:
Para publicar el proyecto:
Estos comandos también están disponibles a través del script scripts/publish.sh .
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Permite la interacción con la gestión de listas de reproducción de radio y datos de transmisión de Spinitron a través de una interfaz de protocolo de conversación multiagente, lo que permite a los usuarios consultar y administrar listas de reproducción de estaciones de radio, giros y otros datos de transmisión a través del lenguaje natural.
Related MCP Servers
- -securityFlicense-qualityEnables interaction with the Audius music platform API, supporting user, track, and playlist operations through the Model Context Protocol.Last updated -9TypeScript
- -securityAlicense-qualityA Model Context Protocol server implementation that allows AI models to interact with and manage Spinnaker deployments, pipelines, and applications through a standardized interface.Last updated -14TypeScriptMIT License
- AsecurityFlicenseAqualityA lightweight Model Context Protocol server that enables AI assistants like Cursor & Claude to control Spotify playback and manage playlists.Last updated -1280TypeScript
- -securityFlicense-qualityIntegrates with Spotify Web API through the Model Context Protocol, allowing users to search tracks, control playback, and manage playlists programmatically.Last updated -JavaScript