Herramienta de servidor MCP SuperiorAPIs
📖 Descripción
Este proyecto es un servidor MCP basado en Python que obtiene dinámicamente definiciones de complementos de SuperiorAPIs y genera automáticamente funciones de herramientas MCP basadas en esquemas OpenAPI.
El servidor hará lo siguiente:
Obtener metadatos del complemento
Analizar el esquema
Generar funciones de herramientas dinámicamente
Ejecutar el servidor MCP
Related MCP server: Lodestar MCP Server
🚀 Características
Carga dinámica de complementos desde SuperiorAPIs
Generación automática de modelos
pydanticy funciones asíncronasEjecución asincrónica de API mediante
aiohttpRegistro de la herramienta MCP en tiempo de ejecución
Admite configuración basada en el entorno
Listo para la implementación de la plataforma UVX
📂 Estructura del proyecto
.
├── main.py # MCP server core logic
├── requirements.txt # Python dependency list
├── setup.py # Packaging setup
├── Dockerfile # (Optional) Docker container build file
└── README.md # Project documentation⚙️ Instalación
Clonar el proyecto e instalar las dependencias:
git clone https://your-repo-url.git
cd your-repo
pip install -r requirements.txt🌍 Variables de entorno
Antes de ejecutar, configure las siguientes variables de entorno:
Linux/macOS
export TOKEN=your_token_here
export APPLICATION_ID=your_application_id_hereCMD de Windows
set TOKEN=your_token_here
set APPLICATION_ID=your_application_id_here🖥️ Uso
Ejecute el servidor MCP:
python main.pyEl servidor hará lo siguiente:
Obtener datos del complemento de SuperiorAPIs
Generar dinámicamente funciones de herramientas MCP
Registrar las herramientas
Iniciar el servidor MCP
Punto final de API
Las definiciones de complementos se obtienen de:
https://superiorapis-creator.cteam.com.tw/manager/module/plugins/list_v2Se requiere autorización a través del encabezado token .
🧠 Ejemplo de función de herramienta generada
@mcp.tool()
async def post_example_tool(param1: Optional[str] = None, param2: Optional[int] = None) -> str:
"""
Tool description | API summary.
# Args:
param1 (string, optional): Description of param1.
param2 (integer, optional): Description of param2.
# Returns:
200 (object): API response.
"""📜 Requisitos
aiohttp>=3.8.6
pydantic>=2.5.3
mcp-sdk>=0.1.0❗ Manejo de errores
Si la llamada API falla o devuelve status: 0 , el programa saldrá con:
❌ Error: API returned no data or status is 0. Please check if the API is working properly.📦 Embalaje (opcional)
Construya el paquete:
python setup.py sdist bdist_wheelInstalar el paquete:
pip install dist/mcp-superiorapis-1.0.0-py3-none-any.whlEjecutar usando Docker (si es necesario):
docker build -t superiorapis-mcp .
docker run -e TOKEN=your_token -e APPLICATION_ID=your_app_id superiorapis-mcp📄 Licencia
Licencia MIT (o su licencia personalizada)
👨💻 Autor
Su nombre / Su empresa
Contacto: your_email@example.com