Passer au contenu principal

Aperçu

Le Protocole de Contexte de Modèle (MCP) est une norme ouverte qui permet aux applications IA de se connecter de manière sécurisée à des sources de données et des API externes. Le Serveur MCP Dodo Payments fournit aux assistants IA comme Claude, Cursor et d’autres clients compatibles MCP un accès structuré à votre infrastructure de paiement. Le serveur MCP de Dodo Payments est construit avec Stainless et utilise l’architecture Code Mode, qui permet aux agents IA d’écrire et d’exécuter du code TypeScript contre le SDK de Dodo Payments dans un environnement sandbox isolé.

Capacités clés

  • Opérations de paiement : Créer, récupérer et gérer les paiements et les remboursements
  • Gestion des abonnements : Gérer la facturation récurrente, les mises à niveau et les annulations
  • Administration des clients : Gérer les données des clients et l’accès au portail
  • Catalogue de produits : Créer et mettre à jour des produits, des prix et des remises
  • Gestion des licences : Activer, valider et gérer les licences logicielles
  • Facturation basée sur l’utilisation : Suivre et facturer l’utilisation mesurée

Comment fonctionne le Code Mode

Le serveur MCP de Dodo Payments utilise le Code Mode, fournissant à votre agent IA deux outils puissants :
  1. Outil de recherche de documentation : Interroger la documentation sur l’API et le SDK de Dodo Payments pour comprendre les opérations et les paramètres disponibles
  2. Outil d’exécution de code : Écrire du code TypeScript contre le SDK qui s’exécute dans un environnement sandbox sécurisé sans accès au web ou au système de fichiers
Cette architecture permet aux agents IA d’effectuer des opérations de paiement complexes et multi-étapes de manière déterministe et répétable.
En utilisant le Code Mode, les agents peuvent enchaîner plusieurs appels API, gérer la logique conditionnelle et effectuer des calculs - le tout en une seule invocation d’outil.

Dodo Knowledge MCP

En plus du serveur Dodo Payments MCP (pour exécuter des opérations API), nous fournissons Dodo Knowledge MCP - un serveur de recherche sémantique qui donne aux assistants IA un accès instantané à la documentation et à la base de connaissances de Dodo Payments.
Construit avec ContextMCP.ai : Dodo Knowledge MCP est alimenté par ContextMCP, permettant une recherche sémantique rapide à travers notre documentation en utilisant des embeddings vectoriels.

Qu’est-ce que Dodo Knowledge MCP ?

Dodo Knowledge MCP est un serveur MCP distant qui fournit :
  • Recherche de Documentation Sémantique : Trouvez la documentation pertinente en utilisant des requêtes en langage naturel
  • Réponses Contextuelles : Les assistants IA obtiennent des informations précises et à jour sur Dodo Payments
  • Aucune Configuration : Pas de clés API ou d’installation locale requises - il suffit de se connecter et de commencer à interroger

Configuration Rapide

Connectez-vous à Dodo Knowledge MCP dans votre client IA :
Ajouter à ~/.cursor/mcp.json:
{
  "mcpServers": {
    "dodo-knowledge": {
      "command": "npx",
      "args": ["-y", "mcp-remote@latest", "https://knowledge.dodopayments.com/mcp"]
    }
  }
}
Nécessite Node.js 18 ou supérieur. Le package mcp-remote gère la connexion au serveur MCP distant.

Utiliser les Deux Serveurs MCP Ensemble

Pour la meilleure expérience de développement assistée par IA, nous recommandons d’utiliser les deux serveurs MCP :
ServeurObjectifCas d’utilisation
Dodo Knowledge MCPRecherche de documentation”Comment gérer les webhooks ?”, “Quels modes de paiement sont pris en charge ?”
Dodo Payments MCPOpérations APICréer des paiements, gérer des abonnements, traiter des remboursements
{
  "mcpServers": {
    "dodo-knowledge": {
      "command": "npx",
      "args": ["-y", "mcp-remote@latest", "https://knowledge.dodopayments.com/mcp"]
    },
    "dodopayments": {
      "command": "npx",
      "args": ["-y", "mcp-remote@latest", "https://mcp.dodopayments.com/sse"]
    }
  }
}
Avec les deux serveurs configurés, votre assistant IA peut d’abord rechercher la documentation pour comprendre comment implémenter une fonctionnalité, puis exécuter les appels API réels - le tout dans une seule conversation.

Dépannage de Knowledge MCP

Si vous rencontrez des problèmes de connexion :
  1. Effacer le cache d’authentification MCP : rm -rf ~/.mcp-auth
  2. Redémarrer votre application cliente
  3. Vérifier les journaux du client pour les messages d’erreur
  4. Vérifier la version de Node.js : Nécessite Node.js 18+

Knowledge MCP Server

Accédez à la page de configuration de Dodo Knowledge MCP

Installation

Choisissez la méthode d’installation qui convient le mieux à votre flux de travail.

Serveur MCP Distant (Recommandé)

Accédez au serveur MCP hébergé sans aucune configuration ou installation locale. C’est le moyen le plus rapide de commencer.
1

Accéder au serveur distant

Naviguez vers https://mcp.dodopayments.com dans votre navigateur.
2

Configurer votre client MCP

Copiez la configuration JSON fournie pour votre client spécifique. Pour Cursor ou Claude Desktop, ajoutez ceci à vos paramètres MCP :
{
  "mcpServers": {
    "dodopayments_api": {
      "command": "npx",
      "args": ["-y", "mcp-remote@latest", "https://mcp.dodopayments.com/sse"]
    }
  }
}
3

Authentifier et configurer

Le flux OAuth vous demandera de :
  • Entrer votre clé API Dodo Payments
  • Sélectionner votre environnement (test ou production)
  • Choisir votre type de client MCP
Gardez votre clé API sécurisée. Utilisez des clés de mode test pendant le développement.
4

Compléter la configuration

Cliquez sur Connexion et Approbation pour autoriser la connexion.
Une fois connecté, votre assistant IA peut interagir avec l’API Dodo Payments en votre nom.

Package NPM

Installez et exécutez le serveur MCP localement en utilisant NPM.
# Set your environment variables
export DODO_PAYMENTS_API_KEY="dodo_test_..."
export DODO_PAYMENTS_WEBHOOK_KEY="your_webhook_key"
export DODO_PAYMENTS_ENVIRONMENT="live_mode"

# Run the latest version
npx -y dodopayments-mcp@latest
Utilisez @latest pour toujours récupérer la version la plus récente, ou fixez à une version spécifique comme @1.0.0 pour la stabilité.

Docker

Exécutez le serveur MCP dans un environnement conteneurisé pour un déploiement cohérent.
# Pull the latest image
docker pull ghcr.io/dodopayments/mcp:latest

# Run the container
docker run -e DODO_PAYMENTS_API_KEY="dodo_test_..." \
  -e DODO_PAYMENTS_WEBHOOK_KEY="your_webhook_key" \
  -e DODO_PAYMENTS_ENVIRONMENT="live_mode" \
  ghcr.io/dodopayments/mcp:latest
Les images Docker sont disponibles sur GitHub Container Registry.

Configuration du Client

Configurez le serveur Dodo Payments MCP dans votre client IA préféré.
Configurez le serveur Dodo Payments MCP dans Cursor pour permettre un accès conversationnel à vos données de paiement.Installation en Un ClicUtilisez le bouton ci-dessous pour installer le serveur MCP directement dans Cursor :[Ajouter à Cursor](https://cursor.com/en-US/install-mcp?name=dodopayments-mcp&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsImRvZG9wYXltZW50cy1tY3AiXSwiZW52Ijp7IkRPRE9fUEFZTUVOVFNfQVBJX0tFWSI6IlNldCB5b3VyIERPRE9fUEFZTUVOVFNfQVBJX0tFWSBoZXJlLiIsIkRPRE9fUEFZTUVOVFNfV0VCSE9PS19LRVkiOiJTZXQgeW91ciBET0RPX1BBWU1FTlRTX1dFQkhPT0tfS0VZIGhlcmUuIn19)Après avoir cliqué, définissez vos variables d’environnement dans le mcp.json de Cursor via Paramètres de Cursor > Outils & MCP > Nouveau serveur MCP.Configuration Manuelle
1

Ouvrir les paramètres de Cursor

Accédez à Paramètres de Cursor > Fonctionnalités > Protocole de contexte de modèle ou appuyez sur Cmd/Ctrl + Shift + P et recherchez “Paramètres MCP”.
2

Modifier la configuration

Cliquez sur Modifier la config pour ouvrir le fichier mcp_config.json.
3

Ajouter la configuration Dodo Payments

Choisissez l’une des configurations suivantes :Serveur Distant (Recommandé)
{
  "mcpServers": {
    "dodopayments": {
      "command": "npx",
      "args": ["-y", "mcp-remote@latest", "https://mcp.dodopayments.com/sse"]
    }
  }
}
Local NPX
{
  "mcpServers": {
    "dodopayments": {
      "command": "npx",
      "args": ["-y", "dodopayments-mcp@latest"],
      "env": {
        "DODO_PAYMENTS_API_KEY": "dodo_test_...",
        "DODO_PAYMENTS_WEBHOOK_KEY": "your_webhook_key"
      }
    }
  }
}
4

Enregistrer et redémarrer

Enregistrez le fichier de configuration et redémarrez Cursor.
Vérifiez la connexion en demandant à l’assistant IA vos données Dodo Payments.

Variables d’Environnement

Configurez le comportement du serveur MCP à l’aide de variables d’environnement.
VariableDescriptionRequis
DODO_PAYMENTS_API_KEYVotre clé API Dodo PaymentsOui
DODO_PAYMENTS_WEBHOOK_KEYVotre clé de signature de webhookNon
DODO_PAYMENTS_ENVIRONMENTDéfini sur live_mode pour la productionNon

Exécution à Distance

Déployez le serveur MCP en tant que serveur HTTP distant pour des clients basés sur le web ou des flux de travail agentiques.
# Start as remote server
npx -y dodopayments-mcp --transport=http

# Specify a custom port
npx -y dodopayments-mcp --transport=http --port=3000

Configuration du Serveur Distant

Une fois déployé, les clients peuvent se connecter en utilisant l’URL du serveur :
{
  "mcpServers": {
    "dodopayments_api": {
      "url": "http://localhost:3000",
      "headers": {
        "Authorization": "Bearer your_api_key"
      }
    }
  }
}

En-têtes d’Autorisation

Le serveur distant accepte l’authentification via les en-têtes suivants :
En-têteDescription
AuthorizationAuthentification par token Bearer
x-dodo-payments-api-keyEn-tête de clé API directe

Capacités du Client

Différents clients MCP ont des niveaux de support variés pour la spécification MCP. Le serveur peut ajuster automatiquement les schémas d’outils pour contourner ces limitations.
# Auto-detect client (default)
npx dodopayments-mcp --client=infer

# Configure for specific clients
npx dodopayments-mcp --client=cursor
npx dodopayments-mcp --client=claude
npx dodopayments-mcp --client=claude-code
npx dodopayments-mcp --client=openai-agents

Préréglages de Client Disponibles

ClientDescription
inferDétection automatique du client (par défaut)
cursorÉditeur Cursor
claudeClaude AI web ou bureau
claude-codeClaude Code CLI
openai-agentsPlateforme d’agents OpenAI

Configuration Manuelle des Capacités

Pour les clients non listés ci-dessus, configurez manuellement les capacités :
# Disable $ref pointer support and set max tool name length
npx dodopayments-mcp --no-capability=refs --capability=tool-name-length=40
Capacités disponibles :
  • top-level-unions - Support pour les types d’union de premier niveau
  • valid-json - Analyse correcte des arguments de chaîne JSON
  • refs - Support pour les pointeurs $ref dans les schémas
  • unions - Support pour les types d’union (anyOf)
  • formats - Support pour les validations de format
  • tool-name-length=N - Longueur maximale du nom de l’outil
Exécutez npx dodopayments-mcp --describe-capabilities pour des informations détaillées sur les capacités.

Filtrage des Outils

Contrôlez quelles opérations API sont exposées à votre assistant IA pour optimiser les performances et maintenir la sécurité.

Filtrer par type d’opération

Restreindre l’accès aux opérations en lecture seule ou en écriture.
# Only expose read operations (GET requests)
npx dodopayments-mcp --operation=read

# Only expose write operations (POST, PUT, DELETE)
npx dodopayments-mcp --operation=write
Utilisez --operation=read pendant le développement pour éviter les modifications accidentelles de vos données.

Filtrer par ressource

Limiter les outils à des ressources API spécifiques.
# Only expose payment-related tools
npx dodopayments-mcp --resource=payments

# Expose multiple resources
npx dodopayments-mcp --resource=payments --resource=customers

# Use wildcards for resource groups
npx dodopayments-mcp --resource=subscription*

Inclure ou exclure des outils spécifiques

Affinez quels outils individuels sont disponibles.
# Include only specific tools
npx dodopayments-mcp --tool=create_payments --tool=list_payments

# Exclude specific tools
npx dodopayments-mcp --no-tool=delete_products

# Disable the docs search tool
npx dodopayments-mcp --no-tools=docs

# List all available tools
npx dodopayments-mcp --list

Combiner des filtres

Appliquez plusieurs filtres simultanément pour un contrôle précis.
# Only payment and subscription read operations
npx dodopayments-mcp --operation=read --resource=payments --resource=subscriptions

Filtrage des Paramètres de Requête URL (Serveur Distant)

Lors de l’utilisation du serveur distant, appliquez des filtres via des paramètres de requête URL :
https://mcp.dodopayments.com/?operation=read
https://mcp.dodopayments.com/?resource=payments

Mode Outils Dynamiques

Pour les grandes API, charger tous les outils en même temps peut submerger la fenêtre de contexte de l’IA. Le mode outils dynamiques offre une alternative plus efficace.
npx dodopayments-mcp --tools=dynamic
En mode dynamique, trois méta-outils remplacent les outils API individuels :
  1. list_api_endpoints - Découvre les méthodes disponibles avec un filtrage optionnel
  2. get_api_endpoint_schema - Obtient le schéma détaillé pour une méthode spécifique
  3. invoke_api_endpoint - Exécute n’importe quelle méthode avec les paramètres appropriés
Les outils dynamiques sont automatiquement activés pour les API avec plus de 50 méthodes. Remplacez par --tools=all pour inclure tous les outils.
# Use both dynamic tools and specific resources
npx dodopayments-mcp --tools=dynamic --resource=payments

Utilisation Avancée

Intégration Programmatique

Construisez des serveurs MCP personnalisés ou étendez l’existant de manière programmatique.
import { server, endpoints, init } from "dodopayments-mcp/server";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";

// Initialize with all default endpoints
init({ server, endpoints });

// Start the server
const transport = new StdioServerTransport();
await server.connect(transport);

Développement d’Outils Personnalisés

Étendez le serveur MCP avec vos propres outils et logique métier.
import { server, init } from "dodopayments-mcp/server";
import createPayments from "dodopayments-mcp/tools/payments/create-payments";
import { zodToJsonSchema } from "zod-to-json-schema";
import { z } from "zod";

// Define a custom tool
const customTool = {
  tool: {
    name: 'calculate_payment_total',
    description: 'Calculate payment total with tax and fees',
    inputSchema: zodToJsonSchema(
      z.object({
        amount: z.number().describe('Base amount in cents'),
        tax_rate: z.number().describe('Tax rate as decimal'),
      })
    ),
  },
  handler: async (client, args) => {
    const total = args.amount * (1 + args.tax_rate);
    return {
      content: [{
        type: 'text',
        text: JSON.stringify({ total, currency: 'usd' }),
      }],
    };
  },
};

// Initialize with custom tools
init({ 
  server, 
  endpoints: [createPayments, customTool] 
});

Meilleures Pratiques de Sécurité

Protégez vos identifiants API et maintenez des intégrations sécurisées.
Ne jamais commettre d’identifiants dans le contrôle de versionStockez les clés API dans des variables d’environnement ou des systèmes de gestion de secrets sécurisés.
# Use environment variables
export DODO_PAYMENTS_API_KEY="dodo_test_..."

# Use a .env file (add to .gitignore)
echo "DODO_PAYMENTS_API_KEY=dodo_test_..." > .env
Faire tourner les clés régulièrementGénérez de nouvelles clés API périodiquement et révoquez les anciennes via votre tableau de bord Dodo Payments.Utiliser des clés de test pour le développementUtilisez toujours des clés API en mode test pendant le développement pour éviter d’affecter les données de production.
Appliquer le filtrage des outils en productionLimitez les opérations exposées à seulement ce dont votre assistant IA a besoin.
# Production: read-only access
npx dodopayments-mcp --operation=read

# Development: full access
npx dodopayments-mcp
Implémenter l’authentification pour les serveurs distantsLors du déploiement à distance, exigez toujours une authentification via l’en-tête Authorization ou l’en-tête x-dodo-payments-api-key.Surveiller l’utilisation de l’APISuivez l’activité du serveur MCP via votre tableau de bord Dodo Payments et configurez des alertes pour des modèles inhabituels.
Utiliser HTTPS pour les serveurs distantsDéployez toujours des serveurs MCP distants derrière des points de terminaison HTTPS.Implémenter la limitation de tauxProtégez-vous contre les abus en mettant en œuvre des limites de taux à la fois au niveau du serveur MCP et de l’API.Restreindre l’accès réseauConfigurez des règles de pare-feu pour limiter quels clients peuvent se connecter à votre serveur MCP.

Dépannage

Vérifiez votre clé APIAssurez-vous que votre clé API est correctement définie et dispose des autorisations nécessaires.
# Test your API key
curl -H "Authorization: Bearer dodo_test_..." \
  https://test.dodopayments.com/payments
Vérifiez votre connexion réseauVérifiez que vous pouvez atteindre les points de terminaison de l’API Dodo Payments.Examinez les journaux du clientActivez la journalisation détaillée dans votre client MCP pour diagnostiquer les problèmes de connexion.
Confirmez l’environnement de la clé APIAssurez-vous d’utiliser des clés de test avec des points de terminaison de test et des clés en direct avec des points de terminaison de production.Vérifiez la variable d’environnementVérifiez que DODO_PAYMENTS_ENVIRONMENT est correctement défini (live_mode pour la production).Régénérez les identifiantsSi les problèmes persistent, générez une nouvelle clé API via votre tableau de bord.
Validez les paramètres d’entréeAssurez-vous que l’assistant IA fournit des paramètres correctement formatés pour chaque outil.Examinez les messages d’erreurVérifiez la réponse d’erreur de l’API pour des conseils spécifiques sur ce qui a mal tourné.Testez directement avec l’APIVérifiez que l’opération fonctionne lors de l’appel direct de l’API Dodo Payments via curl ou Postman.
Essayez un autre préréglage de clientSi les outils ne fonctionnent pas correctement, essayez de spécifier votre client explicitement :
npx dodopayments-mcp --client=cursor
Vérifiez le support des capacitésCertains clients ne prennent pas en charge toutes les fonctionnalités du schéma JSON. Utilisez --describe-capabilities pour comprendre ce qui est pris en charge.

Ressources