Serveur Dixa MCP
Une implémentation de serveur FastMCP pour l'API Dixa, fournissant des ressources et des outils pour gérer les conversations et les balises.
Fonctionnalités
Ressources
- Recherche de conversations
- Obtenir les détails de la conversation
- Obtenir les notes de conversation
- Obtenir les messages de la conversation
- Obtenir les balises disponibles
Outils
- Ajouter des balises aux conversations
- Supprimer des balises des conversations
Structure du projet
/src ├── dixa.ts # Configuration du serveur principal ├── config.ts # Configuration et paramètres d'environnement ├── types.ts # Types partagés et gestion des erreurs ├── ressources/ # Implémentations de ressources ├── schémas/ # Schémas Zod pour la validation └── outils/ # Implémentations d'outils
Configuration
Le serveur nécessite les variables d'environnement suivantes :
DIXA_API_KEY
: Votre clé d'API DixaDIXA_API_BASE_URL
(optionnel) : Remplace l'URL par défaut de l'API (la valeur par défaut est'https://dev.dixa.io/v1')
Utilisation
- Configurer les variables d'environnement :
export DIXA_API_KEY='your-api-key'
- Démarrez le serveur :
npm start
## Exécuter votre serveur ### Tester avec `mcp-cli` Le moyen le plus rapide de tester et de déboguer votre serveur est d'utiliser `fastmcp dev` : ``bash npx fastmcp dev server.js npx fastmcp dev server.ts
Ceci lancera votre serveur avec mcp-cli
pour tester et déboguer votre serveur MCP dans le terminal.
Inspecter avec MCP Inspector
Une autre façon est d'utiliser l'inspecteur MCP
officiel pour inspecter votre serveur avec une interface Web :
npx fastmcp inspect server.ts
FAQ
Comment utiliser Claude Desktop ?
Suivez le guide https://modelcontextprotocol.io/quickstart/user et ajoutez la configuration suivante :
{ "mcpServers" : { "my-mcp-server" : { "command" : "npx", "args" : ["tsx", "/PATH/TO/YOUR_PROJECT/src/index.ts" ], "env" : { "YOUR_ENV_VAR" : "value" } } }
Développement
Ajout d'une nouvelle ressource
- Créez un schéma dans
src/schemas/
- Créer la ressource dans
src/resources/
- Ajouter la ressource à
src/dixa.ts
Exemple de ressource :
export const myResource = { uri : "dixa://my-resource", name : "Ma ressource", description : "Description", load : async (args : MyArgs, apiKey : string) => { // Implementation } }
Ajout d'un nouvel outil
- Créer l'outil dans
src/tools/
- Ajouter l'outil à
src/dixa.ts
Exemple d'outil :
export const myTool = { name : "My Tool", description : "Description", execute : async (args : MyArgs, apiKey : string) => { // Implémentation } }
Gestion des erreurs
Le projet utilise des classes d'erreur personnalisées :
DixaError
: Classe d'erreur de base pour les erreurs d'APIDixaValidationError
: Pour les échecs de validation des réponses
Vitrine
[NOTE]
Si vous avez développé un serveur utilisant FastMCP, veuillez soumettre un PR pour le présenter ici !
- https://github.com/apinetwork/piapi-mcp-server
- https://github.com/Meeting-Baas/meeting-mcp - Serveur MCP Meeting BaaS qui permet aux assistants IA de créer des bots de réunion, de rechercher des transcriptions et de gérer les données d'enregistrement
Remerciements
- FastMCP s'inspire de l'implémentation Python de Jonathan Lowin.
- Certaines parties de la base de code ont été adoptées à partir de LiteMCP.
- Certaines parties de la base de code ont été adoptées à partir du protocole Model ContextでSSEをやってみる.
Contribuer
- Suivre les modèles existants pour les ressources et les outils
- Ajouter une documentation JSDoc appropriée
- Utiliser les utilitaires partagés dans
types.ts
etconfig.ts
- Mettre à jour le README si de nouvelles fonctionnalités sont ajoutées