Vai al contenuto principale

Panoramica

Il Model Context Protocol (MCP) è uno standard aperto che consente alle applicazioni AI di connettersi in modo sicuro a fonti di dati esterne e API. Il Dodo Payments MCP Server fornisce agli assistenti AI come Claude, Cursor e altri client compatibili con MCP un accesso strutturato alla tua infrastruttura di pagamento. Il Dodo Payments MCP Server è costruito con Stainless e utilizza l’architettura Code Mode, che consente agli agenti AI di scrivere ed eseguire codice TypeScript contro il Dodo Payments SDK in un ambiente sandbox isolato.

Capacità chiave

  • Operazioni di pagamento: Crea, recupera e gestisci pagamenti e rimborsi
  • Gestione degli abbonamenti: Gestisci fatturazione ricorrente, aggiornamenti e cancellazioni
  • Amministrazione dei clienti: Gestisci i dati dei clienti e l’accesso al portale
  • Catalogo prodotti: Crea e aggiorna prodotti, prezzi e sconti
  • Gestione delle licenze: Attiva, convalida e gestisci le licenze software
  • Fatturazione basata sull’uso: Monitora e fattura per l’uso misurato

Come funziona Code Mode

Il Dodo Payments MCP Server utilizza Code Mode, fornendo al tuo agente AI due strumenti potenti:
  1. Strumento di ricerca documenti: Interroga la documentazione sull’API e SDK di Dodo Payments per comprendere le operazioni e i parametri disponibili
  2. Strumento di esecuzione del codice: Scrivi codice TypeScript contro l’SDK che viene eseguito in un ambiente sandbox sicuro senza accesso al web o al filesystem
Questa architettura consente agli agenti AI di eseguire operazioni di pagamento complesse e multi-passaggio in modo deterministico e ripetibile.
Utilizzando Code Mode, gli agenti possono concatenare più chiamate API, gestire logica condizionale e eseguire calcoli, il tutto in un’unica invocazione dello strumento.

Installazione

Scegli il metodo di installazione che meglio si adatta al tuo flusso di lavoro.

Server MCP remoto (consigliato)

Accedi al server MCP ospitato senza alcuna configurazione o installazione locale. Questo è il modo più veloce per iniziare.
1

Accedi al server remoto

Naviga su https://mcp.dodopayments.com nel tuo browser.
2

Configura il tuo client MCP

Copia la configurazione JSON fornita per il tuo client specifico. Per Cursor o Claude Desktop, aggiungi questo alle tue impostazioni MCP:
{
  "mcpServers": {
    "dodopayments_api": {
      "command": "npx",
      "args": ["-y", "mcp-remote@latest", "https://mcp.dodopayments.com/sse"]
    }
  }
}
3

Autenticati e configura

Il flusso OAuth ti chiederà di:
  • Inserire la tua chiave API di Dodo Payments
  • Selezionare il tuo ambiente (test o live)
  • Scegliere il tipo di client MCP
Mantieni sicura la tua chiave API. Usa le chiavi in modalità test durante lo sviluppo.
4

Completa la configurazione

Fai clic su Login e Approva per autorizzare la connessione.
Una volta connesso, il tuo assistente AI può interagire con l’API di Dodo Payments per tuo conto.

Pacchetto NPM

Installa ed esegui il server MCP localmente utilizzando 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
Usa @latest per ottenere sempre l’ultima versione, oppure fissa a una versione specifica come @1.0.0 per stabilità.

Docker

Esegui il server MCP in un ambiente containerizzato per un deployment coerente.
# 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
Le immagini Docker sono disponibili su GitHub Container Registry.

Configurazione del client

Configura il server Dodo Payments MCP nel tuo client AI preferito.
Configura il server Dodo Payments MCP in Cursor per abilitare l’accesso conversazionale ai tuoi dati di pagamento.Installazione con un clicUsa il pulsante qui sotto per installare direttamente il server MCP in Cursor:[Aggiungi a Cursor](https://cursor.com/en-US/install-mcp?name=dodopayments-mcp&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsImRvZG9wYXltZW50cy1tY3AiXSwiZW52Ijp7IkRPRE9fUEFZTUVOVFNfQVBJX0tFWSI6IlNldCB5b3VyIERPRE9fUEFZTUVOVFNfQVBJX0tFWSBoZXJlLiIsIkRPRE9fUEFZTUVOVFNfV0VCSE9PS19LRVkiOiJTZXQgeW91ciBET0RPX1BBWU1FTlRTX1dFQkhPT0tfS0VZIGhlcmUuIn19)Dopo aver cliccato, imposta le tue variabili d’ambiente nelle mcp.json di Cursor tramite Impostazioni Cursor > Strumenti & MCP > Nuovo server MCP.Configurazione manuale
1

Apri le impostazioni di Cursor

Naviga su Impostazioni Cursor > Funzionalità > Model Context Protocol o premi Cmd/Ctrl + Shift + P e cerca “Impostazioni MCP”.
2

Modifica la configurazione

Fai clic su Modifica Config per aprire il file mcp_config.json.
3

Aggiungi la configurazione di Dodo Payments

Scegli una delle seguenti configurazioni:Server remoto (consigliato)
{
  "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

Salva e riavvia

Salva il file di configurazione e riavvia Cursor.
Verifica la connessione chiedendo all’assistente AI dei tuoi dati di Dodo Payments.

Variabili d’ambiente

Configura il comportamento del server MCP utilizzando variabili d’ambiente.
VariabileDescrizioneRichiesta
DODO_PAYMENTS_API_KEYLa tua chiave API di Dodo Payments
DODO_PAYMENTS_WEBHOOK_KEYLa tua chiave di firma del webhookNo
DODO_PAYMENTS_ENVIRONMENTImposta su live_mode per la produzioneNo

Esecuzione remota

Distribuisci il server MCP come server HTTP remoto per client basati sul web o flussi di lavoro agentici.
# Start as remote server
npx -y dodopayments-mcp --transport=http

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

Configurazione del server remoto

Una volta distribuito, i client possono connettersi utilizzando l’URL del server:
{
  "mcpServers": {
    "dodopayments_api": {
      "url": "http://localhost:3000",
      "headers": {
        "Authorization": "Bearer your_api_key"
      }
    }
  }
}

Intestazioni di autorizzazione

Il server remoto accetta l’autenticazione tramite le seguenti intestazioni:
IntestazioneDescrizione
AuthorizationAutenticazione con token Bearer
x-dodo-payments-api-keyIntestazione API key diretta

Capacità del client

Diversi client MCP hanno livelli di supporto variabili per la specifica MCP. Il server può regolare automaticamente gli schemi degli strumenti per aggirare queste limitazioni.
# 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

Preset client disponibili

ClientDescrizione
inferRilevamento automatico del client (predefinito)
cursorEditor Cursor
claudeClaude AI web o desktop
claude-codeCLI di Claude Code
openai-agentsPiattaforma agenti OpenAI

Configurazione manuale delle capacità

Per i client non elencati sopra, configura manualmente le capacità:
# Disable $ref pointer support and set max tool name length
npx dodopayments-mcp --no-capability=refs --capability=tool-name-length=40
Capacità disponibili:
  • top-level-unions - Supporto per tipi di unione di alto livello
  • valid-json - Parsing corretto degli argomenti di stringa JSON
  • refs - Supporto per puntatori $ref negli schemi
  • unions - Supporto per tipi di unione (anyOf)
  • formats - Supporto per validazioni di formato
  • tool-name-length=N - Lunghezza massima del nome dello strumento
Esegui npx dodopayments-mcp --describe-capabilities per informazioni dettagliate sulle capacità.

Filtraggio degli strumenti

Controlla quali operazioni API sono esposte al tuo assistente AI per ottimizzare le prestazioni e mantenere la sicurezza.

Filtra per tipo di operazione

Restringi l’accesso a operazioni di sola lettura o di scrittura.
# Only expose read operations (GET requests)
npx dodopayments-mcp --operation=read

# Only expose write operations (POST, PUT, DELETE)
npx dodopayments-mcp --operation=write
Usa --operation=read durante lo sviluppo per prevenire modifiche accidentali ai tuoi dati.

Filtra per risorsa

Limita gli strumenti a risorse API specifiche.
# 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*

Includi o escludi strumenti specifici

Affina quali strumenti individuali sono disponibili.
# 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

Combina filtri

Applica più filtri contemporaneamente per un controllo preciso.
# Only payment and subscription read operations
npx dodopayments-mcp --operation=read --resource=payments --resource=subscriptions

Filtraggio dei parametri di query URL (server remoto)

Quando utilizzi il server remoto, applica filtri tramite parametri di query URL:
https://mcp.dodopayments.com/?operation=read
https://mcp.dodopayments.com/?resource=payments

Modalità strumenti dinamici

Per API di grandi dimensioni, caricare tutti gli strumenti contemporaneamente può sovraccaricare la finestra di contesto dell’AI. La modalità strumenti dinamici fornisce un’alternativa più efficiente.
npx dodopayments-mcp --tools=dynamic
In modalità dinamica, tre meta-strumenti sostituiscono strumenti API individuali:
  1. list_api_endpoints - Scopre i metodi disponibili con filtraggio opzionale
  2. get_api_endpoint_schema - Ottiene lo schema dettagliato per un metodo specifico
  3. invoke_api_endpoint - Esegue qualsiasi metodo con parametri appropriati
Gli strumenti dinamici sono abilitati automaticamente per API con più di 50 metodi. Sovrascrivi con --tools=all per includere tutti gli strumenti.
# Use both dynamic tools and specific resources
npx dodopayments-mcp --tools=dynamic --resource=payments

Utilizzo avanzato

Integrazione programmatica

Costruisci server MCP personalizzati o estendi quello esistente programmaticamente.
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);

Sviluppo di strumenti personalizzati

Estendi il server MCP con i tuoi strumenti e logica aziendale.
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] 
});

Migliori pratiche di sicurezza

Proteggi le tue credenziali API e mantieni integrazioni sicure.
Non impegnare mai le credenziali nel controllo di versioneMemorizza le chiavi API in variabili d’ambiente o sistemi di gestione segreti sicuri.
# 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
Ruota le chiavi regolarmenteGenera nuove chiavi API periodicamente e revoca quelle vecchie tramite il tuo dashboard di Dodo Payments.Usa chiavi di test per lo sviluppoUsa sempre chiavi API in modalità test durante lo sviluppo per evitare di influenzare i dati di produzione.
Applica il filtraggio degli strumenti in produzioneLimita le operazioni esposte solo a quelle di cui il tuo assistente AI ha bisogno.
# Production: read-only access
npx dodopayments-mcp --operation=read

# Development: full access
npx dodopayments-mcp
Implementa l’autenticazione per i server remotiQuando distribuisci in remoto, richiedi sempre l’autenticazione tramite l’intestazione Authorization o l’intestazione x-dodo-payments-api-key.Monitora l’uso delle APIMonitora l’attività del server MCP tramite il tuo dashboard di Dodo Payments e imposta avvisi per schemi insoliti.
Usa HTTPS per i server remotiDistribuisci sempre i server MCP remoti dietro endpoint HTTPS.Implementa il rate limitingProteggi contro gli abusi implementando limiti di frequenza sia a livello di server MCP che di API.Limita l’accesso alla reteConfigura regole firewall per limitare quali client possono connettersi al tuo server MCP.

Risoluzione dei problemi

Verifica la tua chiave APIAssicurati che la tua chiave API sia impostata correttamente e abbia le autorizzazioni necessarie.
# Test your API key
curl -H "Authorization: Bearer dodo_test_..." \
  https://api.dodopayments.com/payments
Controlla la tua connessione di reteVerifica di poter raggiungere gli endpoint API di Dodo Payments.Controlla i log del clientAbilita il logging dettagliato nel tuo client MCP per diagnosticare problemi di connessione.
Conferma l’ambiente della chiave APIAssicurati di utilizzare chiavi di test con endpoint di test e chiavi live con endpoint di produzione.Controlla la variabile d’ambienteVerifica che DODO_PAYMENTS_ENVIRONMENT sia impostata correttamente (live_mode per la produzione).Rigenera le credenzialiSe i problemi persistono, genera una nuova chiave API tramite il tuo dashboard.
Valida i parametri di inputAssicurati che l’assistente AI stia fornendo parametri formattati correttamente per ciascun strumento.Controlla i messaggi di erroreControlla la risposta di errore dall’API per indicazioni specifiche su cosa sia andato storto.Testa direttamente con l’APIVerifica che l’operazione funzioni quando chiami direttamente l’API di Dodo Payments tramite curl o Postman.
Prova un preset client diversoSe gli strumenti non funzionano correttamente, prova a specificare esplicitamente il tuo client:
npx dodopayments-mcp --client=cursor
Controlla il supporto delle capacitàAlcuni client non supportano tutte le funzionalità dello schema JSON. Usa --describe-capabilities per capire cosa è supportato.

Risorse