Servidor MCP de CMP
Un servidor MCP (Model Context Protocol) para la integración de la API de CMP (Connectivity Management Platform), creado para Cloudflare Workers.
Características
- 🔍 Consulta de la lista SIM - Recupera tarjetas SIM con opciones de filtrado (estado, intervalo de fechas, intervalo ICCID, etc.)
- 📱 Query SIM Details - Obtén información completa de la tarjeta SIM incluyendo estadísticas de uso
- 🔐 Autenticación segura - Autenticación de la API basada en la firma HMAC-SHA256
- ☁️ Cloudflare Workers - Despliegue sin servidor con red de borde global
- 🌐 Compatible con MCP - Funciona con Claude Desktop y otros clientes MCP
Inicio rápido
1. Configuración del entorno
Cree sus variables de entorno en el panel de Cloudflare Workers:
# Variables de entorno requeridas (configuradas como secretos en Cloudflare) CMP_APP_KEY=su_cmp_app_key CMP_APP_SECRET=su_cmp_app_secret
El CMP_ENDPOINT
ya está configurado en wrangler.jsonc
.
2. Despliegue en Cloudflare Workers
# Install dependencies npm install # Deploy to Cloudflare Workers npm run deploy
3. Desarrollo local
# Copie la plantilla de entorno cp .env.example .env # Edite .env con sus credenciales actuales # A continuación, inicie el servidor de desarrollo npm run dev
Configuración
Variables de entorno
Variable | Descripción | Requerida |
---|---|---|
CLAVE_APLICACIÓN_CMP | Su clave de aplicación de la API de CMP | ✅ |
CMP_APP_SECRET | Su secreto de aplicación de la API de CMP | ✅ |
CMP_ENDPOINT | URL del punto final de la API de CMP | ❌ (por defecto en producción) |
Configuración de secretos en Cloudflare
# Configure sus credenciales de API como secretos wrangler secret put CMP_APP_KEY wrangler secret put CMP_APP_SECRET
Herramientas disponibles
query_sim_list
Consulta las tarjetas SIM con opciones de filtrado.
Parámetros:
pageNum
(opcional): Número de página (por defecto: 1)pageSize
(opcional): Registros por página (por defecto: 10, máx: 1000)enterpriseDataPlan
(opcional): Nombre del plan de datos de la empresaexpirationTimeStart
(opcional): Fecha de caducidad inicial (aaaa-MM-dd)expirationTimeEnd
(opcional): Fecha de expiración final (aaaa-MM-dd)iccidStart
(opcional): Rango de inicio del ICCIDiccidEnd
(opcional): Intervalo final del ICCIDlabel
(opcional): Etiqueta de la tarjeta SIMsimState
(opcional): Estado de la SIM (2=Preactivación, 3=Prueba, 4=Silenciosa, 5=En espera, 6=Activa, 7=Apagada, 8=Pausa, 10=Pre-logout, 11=Logout)simType
(opcional): Tipo de tarjeta SIM
query_sim_detail
Obtiene información detallada de una tarjeta SIM específica.
Parámetros:
iccid
(obligatorio): Número ICCID de la tarjeta SIM
Conectar a Claude Desktop
Para conectar su servidor MCP a Claude Desktop, siga el inicio rápido de Anthropic y actualice la configuración de Claude Desktop:
{ "mcpServers": { "cmp-server": { "command": "npx", "args": [ "mcp-remote", "https://your-cmp-server.workers.dev/sse" ] } }
Conexión a Cloudflare AI Playground
- Vaya a https://playground.ai.cloudflare.com/
- Introduce la URL de tu servidor MCP desplegado
(tu-servidor-cmp.workers.dev/sse
) - Empieza a utilizar directamente tus herramientas CMP
Desarrollo
Estructura del proyecto
src/ ├── index.ts # Implementación principal del servidor MCP ├── cmp_client.ts # Cliente API CMP con autenticación └── ..
Scripts
npm run dev # Iniciar servidor de desarrollo npm run deploy # Desplegar en Cloudflare Workers npm run type-check # Ejecutar comprobación de tipos TypeScript npm run lint:fix # Solucionar problemas de linting npm run format # Formatear código
Seguridad
- ✅ Las credenciales de la API se almacenan como secretos de Cloudflare Workers
- ✅ Autenticación de firma HMAC-SHA256
- ✅ Validación de variables de entorno
- ✅ Sin datos sensibles en el código fuente
- ✅
.gitignore
configurado para la seguridad
Licencia
Licencia MIT - ver archivo LICENSE para más detalles.