CMP MCP Server

Un servidor MCP para la integración con la API de CMP, diseñado para ejecutarse en Cloudflare Workers.

Documentación

CMP MCP Server

Un servidor de Model Context Protocol (MCP) para la integración con la API de CMP (Connectivity Management Platform), construido para Cloudflare Workers.

Características

  • 🔍 Consultar lista de SIM - Obtén tarjetas SIM con opciones de filtrado (estado, rango de fechas, rango de ICCID, etc.)
  • 📱 Consultar detalles de SIM - Obtén información completa de la tarjeta SIM, incluyendo estadísticas de uso
  • 🔐 Autenticación segura - Autenticación de API basada en firma HMAC-SHA256
  • ☁️ Cloudflare Workers - Despliegue sin servidor con red global de borde
  • 🌐 Compatible con MCP - Funciona con Claude Desktop y otros clientes MCP

Inicio rápido

1. Configuración del entorno

Crea tus variables de entorno en el panel de Cloudflare Workers:

# Required environment variables (set as secrets in Cloudflare)
CMP_APP_KEY=your_cmp_app_key
CMP_APP_SECRET=your_cmp_app_secret

El CMP_ENDPOINT ya está configurado en wrangler.jsonc.

2. Desplegar en Cloudflare Workers

# Install dependencies
npm install

# Deploy to Cloudflare Workers
npm run deploy

3. Desarrollo local

# Copy environment template
cp .env.example .env

# Edit .env with your actual credentials
# Then start development server
npm run dev

Configuración

Variables de entorno

VariableDescripciónRequerido
CMP_APP_KEYTu clave de aplicación de API CMP✅
CMP_APP_SECRETTu secreto de aplicación de API CMP✅
CMP_ENDPOINTURL del endpoint de la API CMP❌ (por defecto producción)

Configuración de secretos en Cloudflare

# Set your API credentials as secrets
wrangler secret put CMP_APP_KEY
wrangler secret put CMP_APP_SECRET

Herramientas disponibles

query_sim_list

Consulta 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áximo: 1000)
  • enterpriseDataPlan (opcional): Nombre del plan de datos empresarial
  • expirationTimeStart (opcional): Fecha de expiración inicial (yyyy-MM-dd)
  • expirationTimeEnd (opcional): Fecha de expiración final (yyyy-MM-dd)
  • iccidStart (opcional): Rango inicial de ICCID
  • iccidEnd (opcional): Rango final de ICCID
  • label (opcional): Etiqueta de la tarjeta SIM
  • simState (opcional): Estado de la SIM (2=Pre-activación, 3=Prueba, 4=Silencio, 5=En espera, 6=Activa, 7=Apagado, 8=Pausa, 10=Pre-cierre de sesión, 11=Cierre de sesión)
  • simType (opcional): Tipo de tarjeta SIM

query_sim_detail

Obtén información detallada de una tarjeta SIM específica.

Parámetros:

  • iccid (requerido): Número ICCID de la tarjeta SIM

Conectar con Claude Desktop

Para conectar tu servidor MCP a Claude Desktop, sigue la Guía de inicio rápido de Anthropic y actualiza tu configuración de Claude Desktop:

{
  "mcpServers": {
    "cmp-server": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://your-cmp-server.workers.dev/sse"
      ]
    }
  }
}

Conectar con Cloudflare AI Playground

  1. Ve a https://playground.ai.cloudflare.com/
  2. Ingresa la URL de tu servidor MCP desplegado (your-cmp-server.workers.dev/sse)
  3. ¡Comienza a usar tus herramientas CMP directamente!

Desarrollo

Estructura del proyecto

src/
├── index.ts        # Main MCP server implementation
├── cmp_client.ts   # CMP API client with authentication
└── ...

Scripts

npm run dev         # Start development server
npm run deploy      # Deploy to Cloudflare Workers
npm run type-check  # Run TypeScript type checking
npm run lint:fix    # Fix linting issues
npm run format      # Format code

Seguridad

  • ✅ Credenciales de API almacenadas como secretos de Cloudflare Workers
  • ✅ Autenticación por firma HMAC-SHA256
  • ✅ Validación de variables de entorno
  • ✅ Sin datos sensibles en el código fuente
  • ✅ .gitignore configurado para seguridad

Licencia

Licencia MIT: consulta el archivo LICENSE para más detalles.