/ Annuaire / Playground / Stripe
● Officiel stripe 🔑 Nécessite votre clé

Stripe

par stripe · stripe/agent-toolkit

Official Stripe MCP : interrogez les clients, les frais, les abonnements et les remboursements. Créez des factures tests et des liens de paiement à partir du chat.

Le MCP officiel de Stripe, qui fait partie de la boîte à outils des agents. Encapsule l'API Stripe : clients, produits, prix, factures, abonnements, liens de paiement, remboursements, solde et recherche. Coffre-fort en mode test ; en mode live, chaque écriture vaut de l'argent réel – soyez prudent.

Pourquoi l'utiliser

Fonctionnalités clés

Démo en direct

Aperçu en pratique

stripe.replay ▶ prêt
0/0

Installer

Choisissez votre client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "stripe": {
      "command": "npx",
      "args": [
        "-y",
        "@stripe/mcp",
        "--tools=all"
      ]
    }
  }
}

Ouvrez Claude Desktop → Settings → Developer → Edit Config. Redémarrez après avoir enregistré.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "stripe": {
      "command": "npx",
      "args": [
        "-y",
        "@stripe/mcp",
        "--tools=all"
      ]
    }
  }
}

Cursor utilise le même schéma mcpServers que Claude Desktop. La config projet l'emporte sur la globale.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "stripe": {
      "command": "npx",
      "args": [
        "-y",
        "@stripe/mcp",
        "--tools=all"
      ]
    }
  }
}

Cliquez sur l'icône MCP Servers dans la barre latérale Cline, puis "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "stripe": {
      "command": "npx",
      "args": [
        "-y",
        "@stripe/mcp",
        "--tools=all"
      ]
    }
  }
}

Même format que Claude Desktop. Redémarrez Windsurf pour appliquer.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "stripe",
      "command": "npx",
      "args": [
        "-y",
        "@stripe/mcp",
        "--tools=all"
      ]
    }
  ]
}

Continue utilise un tableau d'objets serveur plutôt qu'une map.

~/.config/zed/settings.json
{
  "context_servers": {
    "stripe": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@stripe/mcp",
          "--tools=all"
        ]
      }
    }
  }
}

Ajoutez dans context_servers. Zed recharge à chaud à la sauvegarde.

claude mcp add stripe -- npx -y @stripe/mcp --tools=all

Une seule ligne. Vérifiez avec claude mcp list. Supprimez avec claude mcp remove.

Cas d'usage

Usages concrets : Stripe

Rechercher pourquoi les frais d'un client échouent

👤 Ingénieurs de support, fondateurs en première ligne ⏱ ~10 min beginner

Quand l'utiliser : Le client dit « ma carte a été refusée 3 fois ». Vous voulez voir ce qui s’est réellement passé du côté de Stripe.

Prérequis
  • Clé API restreinte Stripe avec lecture des frais/clients — Dashboard.stripe.com/apikeys → Clés restreintes → Accorder Lire sur les clients, les frais, les intentions de paiement
Déroulement
  1. Trouver le client
    Recherchez le client Stripe avec l'e-mail « [email protected] ». Affichez leur mode de paiement par défaut et leurs dépenses totales.✓ Copié
    → Fiche client avec détails du mode de paiement
  2. Extraire les récentes accusations ayant échoué
    Répertoriez les frais de ce client au cours des 30 derniers jours avec statut != 'réussi'. Pour chacun, affichez le code de panne et le message.✓ Copié
    → Liste d'échecs avec card_declined/expired_card/etc. codes
  3. Expliquer et recommander des actions
    Quel est le vrai problème ? Recommandez ce qu'il faut dire au client (par exemple, « carte expirée – veuillez mettre à jour » ou « blocage de la fraude – essayez une autre carte »).✓ Copié
    → Explication claire destinée au client

Résultat : Ticket d'assistance résolu avec la cause réelle, pas « réessayez plus tard ».

Pièges
  • Examiner uniquement les frais : il manque les intentions de paiement qui n'ont jamais donné lieu à des frais. — Vérifiez également les intentions de paiement avec le statut « requires_payment_method » ou « annulé »
  • Le client dit « refusé », mais il s’agissait d’un abandon de 3DS — Les défis 3DS que l'utilisateur ferme s'affichent sous la forme « require_action » puis expirent ; vérifier la chronologie

Créer une facture test et un lien de paiement pour une transaction

👤 Personnes commerciales et opérationnelles concluant des accords personnalisés ⏱ ~5 min beginner

Quand l'utiliser : Vous avez convenu d'un prix personnalisé unique avec un client et avez besoin d'une facture ou d'un lien de paiement rapidement.

Prérequis
  • Touche du mode TEST (sk_test_...) — Démarrez toujours en mode test. Passez à la clé active uniquement une fois le flux validé.
Déroulement
  1. Rechercher ou créer le client
    Recherchez le client Stripe avec l'e-mail « [email protected] ». S'il n'y en a pas, créez-en un avec le nom « BigCo Inc ».✓ Copié
    → Numéro client renvoyé
  2. Créer un article prix unique + facture
    Créez un élément de facture unique : 4 500 $, description « Services d'intégration du deuxième trimestre ». Attachez-vous à ce client. Créez ensuite et finalisez une facture.✓ Copié
    → Facture avec host_invoice_url
  3. Confirmer le livrable
    Donnez-moi l'URL de la facture hébergée et un résumé de ce qui a été créé. Ne l'envoyez pas par e-mail, je le transférerai manuellement.✓ Copié
    → URL + résumé ; aucun e-mail surprise envoyé

Résultat : Une facture que vous pouvez envoyer au client en 90 secondes.

Pièges
  • L’envoi automatique d’e-mails aux clients à partir du chat est une arme à pied — Utilisez « auto_advance : false » et ignorez « send_invoice » jusqu'à ce que vous ayez révisé ; le MCP ne doit pas envoyer d'e-mail aux clients de production sans confirmation explicite
  • La confusion entre les modes test et live signifie que de l'argent réel circule pour un « test » — Inspectez toujours le préfixe de la clé API (sk_test_ vs sk_live_) avant toute mutation ; demandez au MCP de lui répondre
Combiner avec : supabase

Calculez le MRR actuel et le taux de désabonnement à partir des abonnements Stripe

👤 Fondateurs effectuant des opérations financières ⏱ ~15 min intermediate

Quand l'utiliser : Bilan mensuel ; vous voulez une lecture rapide du MRR/désabonnement directement à partir de la source.

Déroulement
  1. Extraire les abonnements actifs
    Répertoriez tous les abonnements Stripe actifs (status='active' ou 'trialing'). Regroupez par price_id, additionnez l'équivalent MRR.✓ Copié
    → Totaux par prix + total général
  2. Pull annulé ce mois-ci
    Liste des abonnements annulés au cours des 30 derniers jours. Pour chacun, affichez la date de début, la contribution MRR et le client.✓ Copié
    → Liste de désabonnement avec impact sur les revenus
  3. Calculer le nouveau MRR net
    Nouveau MRR net = nouveau ce mois-ci - désabonnement ce mois-ci. Calculez et rédigez un résumé de 3 lignes.✓ Copié
    → Numéro unique avec découpage des calculs

Résultat : Un instantané MRR précis que vous pouvez coller dans votre revue mensuelle.

Pièges
  • Les forfaits annuels nécessitent une normalisation mensuelle — Divisez le prix annuel par 12 en additionnant le MRR ; le MCP ne fait pas ça pour vous
  • Les remises et les crédits sont biaisés entre le brut et le net — Décidez de la convention MRR (brut ou net de remises) et appliquez-la de manière cohérente
Combiner avec : filesystem

Traiter un remboursement avec des garde-fous appropriés

👤 Responsables de support avec autorité de remboursement ⏱ ~5 min beginner

Quand l'utiliser : Le client demande un remboursement ; vous souhaitez vérifier la charge et la traiter proprement.

Prérequis
  • Clé API avec remboursements : écrire — Clé restreinte, accordez uniquement les étendues minimales
Déroulement
  1. Rechercher et valider la charge
    Recherchez Stripe charge ch_xxx. Affichez le montant, le client, le statut et s'il est déjà remboursé (partiel ou total).✓ Copié
    → Détails des frais + historique des remboursements
  2. Aperçu du remboursement
    Je souhaite rembourser 50 $ sur 200 $ (partiel). Montre-moi à quoi ressemblerait l'appel de remboursement. N'exécutez pas encore.✓ Copié
    → Aperçu à sec de l'appel d'API
  3. Exécuter sur confirmation
    Procéder au remboursement partiel. Renvoyez l’ID de remboursement et l’état de facturation mis à jour.✓ Copié
    → Remboursement créé, frais marqués partiellement_refunded

Résultat : Remboursement traité proprement avec piste d'audit.

Pièges
  • Le remboursement d'un montant supérieur au montant initial échoue de manière confuse — Vérifiez toujours le solde remboursable restant avant de demander ; le MCP fait écho à la limite
  • Le remboursement déclenche un webhook vers votre application – peut mettre à jour l'état interne deux fois. — Coordonner le flux de remboursement avec celui qui gère le gestionnaire de webhook

Solde d'audit et paiements récents avant la clôture du trimestre

👤 Finances, fondateurs ⏱ ~10 min intermediate

Quand l'utiliser : À la fin du trimestre, vous voulez savoir exactement ce qu'il y a dans Stripe et ce qui est sur le point d'arriver à la banque.

Déroulement
  1. Obtenir la répartition du solde actuel
    Afficher le solde Stripe actuel : disponible, en attente, en transit. Ventilation par devise.✓ Copié
    → Solde par devise triple
  2. Répertorier les paiements récents
    Répertoriez les paiements des 90 derniers jours avec la date, le montant, le statut et la date d'arrivée. Trier par date desc.✓ Copié
    → Calendrier de paiement avec totaux
  3. Réconciliez-vous avec vos livres
    Quel est le montant total des paiements au cours de la période ? Dites-moi à quoi vous attendre pour atterrir à la banque dans les 7 prochains jours.✓ Copié
    → Total agrégé pour la période + prévisions à court terme

Résultat : Un résumé prêt pour la réconciliation.

Pièges
  • Les réserves et les fonds contestés ne sont pas « disponibles » — N'assimilez pas balance.available + balance.ending = trésorerie totale ; vérifier les soldes détenus séparément
Combiner avec : filesystem

Combinaisons

Associez-le à d'autres MCPs pour un effet X10

stripe + supabase

Webhook Stripe → Fonction Supabase Edge → Requêtes Stripe MCP pour enrichir la gestion des événements

Lorsque le webhook Stripe « invoice.payment_failed » se déclenche, la fonction Edge appelle Stripe MCP pour récupérer les frais récents du client et colle un résumé dans notre canal d'opérations Slack.✓ Copié
stripe + postgres

Réconcilier les frais Stripe avec votre base de données de commandes internes

Pour chaque prélèvement Stripe réussi hier, recherchez la ligne correspondante dans notre tableau « commandes » par stripe_payment_intent_id. Incohérences de signalement.✓ Copié
stripe + filesystem

Exporter les données Stripe au format CSV pour l'équipe financière

Exportez toutes les factures du dernier trimestre vers /reports/invoices-Q1-2026.csv avec l'adresse e-mail du client, le montant, le statut et la date.✓ Copié

Outils

Ce que ce MCP expose

OutilEntréesQuand appelerCoût
list_customers / retrieve_customer / create_customer / update_customer Stripe customer params CRUD client free Stripe API
list_products / create_product / update_product product params Opérations sur le catalogue de produits free
list_prices / create_price price params Opérations de prix (ponctuelles ou récurrentes) free
list_invoices / create_invoice / finalize_invoice / pay_invoice invoice params Cycle de vie des factures free
create_invoice_item customer, amount, currency, description Ajouter une ligne à un brouillon de facture free
list_payment_intents / retrieve_payment_intent PI params Inspecter l’état du flux de paiement free
list_charges / retrieve_charge charge params Contrôle des charges free
create_refund charge: str, amount?: int Émettre un remboursement total ou partiel – destructeur en mode direct free Stripe API; refund itself moves money
create_payment_link line_items, after_completion? Générer une URL de paiement hébergée à envoyer à un client free
list_subscriptions / cancel_subscription / update_subscription subscription params Cycle de vie de l'abonnement free
retrieve_balance none Solde actuellement disponible/en attente free
list_payouts limit, created? Voir les paiements récents et à venir free
search_* query: str (Stripe Search syntax) Filtrage puissant sur les ressources via l'API de recherche free

Coût et limites

Coût d'exécution

Quota d'API
L'API Stripe a des limites de débit généreuses (100 req/s en lecture en direct, 25 req/s en test par défaut)
Tokens par appel
Les objets Stripe sont riches en jetons (données imbriquées riches). Utilisez « expand » uniquement lorsque cela est nécessaire ; tailles de liste de casquettes
Monétaire
MCP gratuit ; Frais Stripe par paiement traité, et non par appel API
Astuce
En mode test, les coûts sont nuls. En mode réel, le seul « coût » qui compte est celui des remboursements ou des factures émis accidentellement — la porte écrit avec le filtrage --tools=.

Sécurité

Permissions, secrets, portée

Portées minimales : restricted key with the minimum scopes per workflow (e.g. Customers:read + Charges:read for support)
Stockage des identifiants : Clé API dans la variable d'environnement STRIPE_SECRET_KEY. Ne vous engagez jamais. Utilisez des clés restreintes, pas la clé secrète racine.
Sortie de données : Tous les appels vers api.stripe.com (TLS, PCI gérés par Stripe)
Ne jamais accorder : root secret key to long-running agents API key with Refunds:write or Subscriptions:write to autonomous workflows without HITL

Dépannage

Erreurs courantes et correctifs

401 Invalid API Key

Clé incorrecte, révoquée ou inadéquation test/live. Vérifiez dans le tableau de bord. Confirmez que la variable d'environnement est exportée dans le processus client MCP.

Vérifier : curl https://api.stripe.com/v1/balance -u $STRIPE_SECRET_KEY:
Permission denied: this key has no access to ...

Clé restreinte manquant la portée appropriée. Modifiez la clé dans le tableau de bord pour accorder l'autorisation nécessaire.

Refund: amount exceeds remaining refundable

Charge déjà partiellement remboursée. Récupérez d'abord les frais, vérifiez « amount_refunded », remboursez uniquement le reste.

Search returns 0 results despite the object existing

Stripe Search a un délai de propagation (~ 1 minute pour les objets nouvellement créés). Utilisez list/retrieve pour les éléments très récents.

Alternatives

Stripe vs autres

AlternativeQuand l'utiliserCompromis
Stripe CLI via shellVous souhaitez transférer des webhooks, générer des appareils ou des flux de tests locauxNo agent ergonomics; meant for dev workflows
Direct REST API via fetch MCPYou need a feature the official MCP doesn't exposeAuth, pagination, and types are all manual; way more error-prone

Plus

Ressources

📖 Lire le README officiel sur GitHub

🐙 Voir les issues ouvertes

🔍 Parcourir les 400+ serveurs MCP et Skills