Overview
The Model Context Protocol (MCP) is an open standard that enables AI applications to securely connect to external data sources and APIs. The Dodo Payments MCP Server provides AI assistants like Claude, Cursor, and other MCP-compatible clients with structured access to your payment infrastructure. The Dodo Payments MCP Server is built with Stainless and uses the Code Mode architecture, which enables AI agents to write and execute TypeScript code against the Dodo Payments SDK in an isolated sandbox environment.Key capabilities
- Payment Operations: Create, retrieve, and manage payments and refunds
- Subscription Management: Handle recurring billing, upgrades, and cancellations
- Customer Administration: Manage customer data and portal access
- Product Catalog: Create and update products, pricing, and discounts
- License Management: Activate, validate, and manage software licenses
- Usage-Based Billing: Track and bill for metered usage
How Code Mode Works
The Dodo Payments MCP Server uses Code Mode, providing your AI agent with two powerful tools:- Docs Search Tool: Query documentation about the Dodo Payments API and SDK to understand available operations and parameters
- Code Execution Tool: Write TypeScript code against the SDK that executes in a secure sandbox environment without web or filesystem access
Installation
Choose the installation method that best fits your workflow.Remote MCP Server (Recommended)
Access the hosted MCP server without any local setup or installation. This is the fastest way to get started.1
Access the remote server
Navigate to https://mcp.dodopayments.com in your browser.
2
Configure your MCP client
Copy the provided JSON configuration for your specific client. For Cursor or Claude Desktop, add this to your MCP settings:
3
Authenticate and configure
The OAuth flow will prompt you to:
- Enter your Dodo Payments API key
- Select your environment (test or live)
- Choose your MCP client type
4
Complete setup
Click Login and Approve to authorize the connection.
Once connected, your AI assistant can interact with the Dodo Payments API on your behalf.
NPM Package
Install and run the MCP server locally using NPM.- NPX (No Installation)
- MCP Client Configuration
Docker
Run the MCP server in a containerized environment for consistent deployment.Docker images are available on GitHub Container Registry.
Client Configuration
Configure the Dodo Payments MCP server in your preferred AI client.- Cursor
- Claude Desktop
- Claude Code
- VS Code
- Cline (VS Code)
- Zed
- Other Clients
Set up the Dodo Payments MCP server in Cursor to enable conversational access to your payments data.One-Click InstallUse the button below to install the MCP server directly in Cursor:
After clicking, set your environment variables in Cursor’s
mcp.json via Cursor Settings > Tools & MCP > New MCP Server.Manual Configuration1
Open Cursor settings
Navigate to Cursor Settings > Features > Model Context Protocol or press
Cmd/Ctrl + Shift + P and search for “MCP Settings”.2
Edit configuration
Click Edit Config to open the
mcp_config.json file.3
Add Dodo Payments configuration
Choose one of the following configurations:Remote Server (Recommended)Local NPX
4
Save and restart
Save the configuration file and restart Cursor.
Verify the connection by asking the AI assistant about your Dodo Payments data.
Environment Variables
Configure the MCP server behavior using environment variables.| Variable | Description | Required |
|---|---|---|
DODO_PAYMENTS_API_KEY | Your Dodo Payments API key | Yes |
DODO_PAYMENTS_WEBHOOK_KEY | Your webhook signing key | No |
DODO_PAYMENTS_ENVIRONMENT | Set to live_mode for production | No |
Running Remotely
Deploy the MCP server as a remote HTTP server for web-based clients or agentic workflows.Remote Server Configuration
Once deployed, clients can connect using the server URL:Authorization Headers
The remote server accepts authentication via the following headers:| Header | Description |
|---|---|
Authorization | Bearer token authentication |
x-dodo-payments-api-key | Direct API key header |
Client Capabilities
Different MCP clients have varying levels of support for the MCP specification. The server can automatically adjust tool schemas to work around these limitations.Available Client Presets
| Client | Description |
|---|---|
infer | Auto-detect client (default) |
cursor | Cursor editor |
claude | Claude AI web or desktop |
claude-code | Claude Code CLI |
openai-agents | OpenAI agents platform |
Manual Capability Configuration
For clients not listed above, manually configure capabilities:top-level-unions- Support for top-level union typesvalid-json- Correct JSON string argument parsingrefs- Support for $ref pointers in schemasunions- Support for union types (anyOf)formats- Support for format validationstool-name-length=N- Maximum tool name length
Tool Filtering
Control which API operations are exposed to your AI assistant to optimize performance and maintain security.Filter by operation type
Restrict access to read-only or write operations.Filter by resource
Limit tools to specific API resources.Include or exclude specific tools
Fine-tune which individual tools are available.Combine filters
Apply multiple filters simultaneously for precise control.URL Query Parameter Filtering (Remote Server)
When using the remote server, apply filters via URL query parameters:Dynamic Tools Mode
For large APIs, loading all tools at once can overwhelm the AI’s context window. Dynamic tools mode provides a more efficient alternative.list_api_endpoints- Discovers available methods with optional filteringget_api_endpoint_schema- Gets detailed schema for a specific methodinvoke_api_endpoint- Executes any method with appropriate parameters
Dynamic tools are automatically enabled for APIs with more than 50 methods. Override with
--tools=all to include all tools.Advanced Usage
Programmatic integration
Build custom MCP servers or extend the existing one programmatically.Custom tool development
Extend the MCP server with your own tools and business logic.Security Best Practices
Protect your API credentials and maintain secure integrations.API Key Management
API Key Management
Never commit credentials to version controlStore API keys in environment variables or secure secret management systems.Rotate keys regularlyGenerate new API keys periodically and revoke old ones through your Dodo Payments dashboard.Use test keys for developmentAlways use test mode API keys during development to avoid affecting production data.
Access Control
Access Control
Apply tool filtering in productionLimit exposed operations to only what your AI assistant needs.Implement authentication for remote serversWhen deploying remotely, always require authentication via the
Authorization header or x-dodo-payments-api-key header.Monitor API usageTrack MCP server activity through your Dodo Payments dashboard and set up alerts for unusual patterns.Network Security
Network Security
Use HTTPS for remote serversAlways deploy remote MCP servers behind HTTPS endpoints.Implement rate limitingProtect against abuse by implementing rate limits at both the MCP server and API levels.Restrict network accessConfigure firewall rules to limit which clients can connect to your MCP server.
Troubleshooting
Connection issues
Connection issues
Verify your API keyEnsure your API key is correctly set and has the necessary permissions.Check your network connectionVerify you can reach the Dodo Payments API endpoints.Review client logsEnable verbose logging in your MCP client to diagnose connection problems.
Authentication errors
Authentication errors
Confirm API key environmentEnsure you’re using test keys with test endpoints and live keys with production endpoints.Check environment variableVerify
DODO_PAYMENTS_ENVIRONMENT is set correctly (live_mode for production).Regenerate credentialsIf issues persist, generate a new API key through your dashboard.Tool execution failures
Tool execution failures
Validate input parametersEnsure the AI assistant is providing correctly formatted parameters for each tool.Review error messagesCheck the error response from the API for specific guidance on what went wrong.Test with API directlyVerify the operation works when calling the Dodo Payments API directly via curl or Postman.
Client compatibility issues
Client compatibility issues
Try a different client presetIf tools aren’t working correctly, try specifying your client explicitly:Check capability supportSome clients don’t support all JSON schema features. Use
--describe-capabilities to understand what’s supported.