Serveur CMP MCP
Serveur MCP (Model Context Protocol) pour l'intégration de l'API CMP (Connectivity Management Platform), conçu pour les Cloudflare Workers.
Caractéristiques
- 🔍 Query SIM List - Récupérer les cartes SIM avec des options de filtrage (statut, plage de dates, plage ICCID, etc.)
- 📱 Interroger les détails de la carte SIM - Obtenir des informations complètes sur la carte SIM, y compris les statistiques d'utilisation
- 🔐 Authentification sécurisée - Authentification API basée sur la signature HMAC-SHA256
- ☁️ Cloudflare Workers - Déploiement sans serveur avec un réseau périphérique mondial
- compatible MCP - Fonctionne avec Claude Desktop et d'autres clients MCP
Démarrage rapide
1. Configuration de l'environnement
Créez vos variables d'environnement dans le tableau de bord de Cloudflare Workers :
# Variables d'environnement requises (définies comme secrets dans Cloudflare) CMP_APP_KEY=votre_cmp_app_key CMP_APP_SECRET=votre_cmp_app_secret
Le CMP_ENDPOINT
est déjà configuré dans wrangler.jsonc
.
2. Déploiement sur Cloudflare Workers
# Installer les dépendances npm install # Déployer vers Cloudflare Workers npm run deploy
3. Développement local
# Copier le modèle d'environnement cp .env.example .env # Editer .env avec vos identifiants réels # Démarrer ensuite le serveur de développement npm run dev
Configuration de l'environnement
Variables d'environnement
Variable | Description de la variable | Nécessaire |
---|---|---|
CMP_APP_KEY | Votre clé d'application de l'API CMP | ✅ |
CMP_APP_SECRET | Votre secret d'application de l'API CMP | ✅ |
CMP_ENDPOINT | URL du point de terminaison de l'API CMP | ❌ (par défaut, production) |
Définition des secrets dans Cloudflare
# Définissez vos identifiants d'API en tant que secrets wrangler secret put CMP_APP_KEY wrangler secret put CMP_APP_SECRET
Outils disponibles
query_sim_list
Interroge les cartes SIM avec des options de filtrage.
Paramètres :
pageNum
(optionnel) : Numéro de page (par défaut : 1)pageSize
(optionnel) : Enregistrements par page (par défaut : 10, max : 1000)enterpriseDataPlan
(facultatif) : Nom du plan de données de l'entrepriseexpirationTimeStart
(facultatif) : Date d'expiration du début (aaaa-MM-jj)expirationTimeEnd
(facultatif) : Date d'expiration finale (aaaa-MM-jj)iccidStart
(facultatif) : Plage de début de l'ICCIDiccidEnd
(facultatif) : ICCID end rangelabel
(facultatif) : Étiquette de la carte SIMsimState
(facultatif) : SIM state (2=Pre-activation, 3=Test, 4=Silent, 5=Standby, 6=Active, 7=Shutdown, 8=Pause, 10=Pre-logout, 11=Logout)simType
(facultatif) : Type de carte SIM
query_sim_detail
Permet d'obtenir des informations détaillées sur une carte SIM spécifique.
Paramètres :
iccid
(obligatoire) : Numéro ICCID de la carte SIM
Connexion à Claude Desktop
Pour connecter votre serveur MCP à Claude Desktop, suivez le Quickstart d'Anthropic et mettez à jour votre configuration Claude Desktop :
{ "mcpServers" : { "cmp-server" : { "command" : "npx", "args" : ["mcp-remote", "https://your-cmp-server.workers.dev/sse" ] } } }
Se connecter à Cloudflare AI Playground
- Allez à https://playground.ai.cloudflare.com/
- Saisissez l'URL de votre serveur MCP déployé
(your-cmp-server.workers.dev/sse
) - Commencez à utiliser vos outils MCP directement !
Développement
Structure du projet
src/ ├── index.ts # Main MCP server implementation ├── cmp_client.ts # CMP API client with authentication └── ..
Scripts
npm run dev # Démarrer le serveur de développement npm run deploy # Déployer vers Cloudflare Workers npm run type-check # Exécuter la vérification de type TypeScript npm run lint:fix # Corriger les problèmes de linting npm run format # Formater le code
Sécurité
- les informations d'identification de l'API sont stockées en tant que secrets de Cloudflare Workers
- ✅ Authentification par signature HMAC-SHA256
- validation des variables d'environnement
- pas de données sensibles dans le code source
.gitignore
configuré pour la sécurité
Licence
Licence MIT - voir le fichier LICENSE pour plus de détails.