跳转到主要内容

概述

模型上下文协议 (MCP) 是一种开放标准,使 AI 应用能够安全地连接到外部数据源和 API。Dodo Payments MCP 服务器为像 Claude、Cursor 和其他兼容 MCP 的客户端提供结构化访问您的支付基础设施。

关键功能

  • 支付操作:创建、检索和管理支付和退款
  • 订阅管理:处理定期账单、升级和取消
  • 客户管理:管理客户数据和门户访问
  • 产品目录:创建和更新产品、定价和折扣
  • 许可证管理:激活、验证和管理软件许可证
  • 基于使用的计费:跟踪和计费计量使用情况

安装

选择最适合您工作流程的安装方法。

远程 MCP 服务器(推荐)

访问托管的 MCP 服务器,无需任何本地设置或安装。这是开始的最快方式。
1

访问远程服务器

在浏览器中导航到 https://mcp.dodopayments.com
2

配置您的 MCP 客户端

复制为您的特定客户端提供的 JSON 配置。对于 Cursor 或 Claude Desktop,将其添加到您的 MCP 设置中:
{
  "mcpServers": {
    "dodopayments_api": {
      "command": "npx",
      "args": ["-y", "mcp-remote@latest", "https://mcp.dodopayments.com/sse"]
    }
  }
}
3

身份验证和配置

OAuth 流程将提示您:
  • 输入您的 Dodo Payments API 密钥
  • 选择您的环境(测试或生产)
  • 选择您的 MCP 客户端类型
保持您的 API 密钥安全。在开发期间使用测试模式密钥。
4

完成设置

点击 登录并批准 以授权连接。
一旦连接,您的 AI 助手可以代表您与 Dodo Payments API 进行交互。

NPM 包

使用 NPM 本地安装和运行 MCP 服务器。
# Set your API key
export DODO_PAYMENTS_API_KEY="dodo_test_..."

# Run the latest version
npx -y dodopayments-mcp@latest
使用 @latest 始终拉取最新版本,或固定到特定版本,如 @1.0.0 以确保稳定性。

Docker

在容器化环境中运行 MCP 服务器以实现一致的部署。
# Pull the latest image
docker pull ghcr.io/dodopayments/mcp:latest

# Run the container
docker run -e DODO_PAYMENTS_API_KEY="dodo_test_..." \
  -p 3000:3000 \
  ghcr.io/dodopayments/mcp:latest
Docker 镜像可在 GitHub Container Registry 上获取。

客户端配置

在您首选的 AI 客户端中配置 Dodo Payments MCP 服务器。
在 Cursor 中设置 Dodo Payments MCP 服务器,以启用对您的支付数据的对话访问。
1

打开 Cursor 设置

导航到 Cursor 设置 > 功能 > 模型上下文协议,或按 Cmd/Ctrl + Shift + P 并搜索 “MCP 设置”。
2

编辑配置

点击 编辑配置 以打开 mcp_config.json 文件。
3

添加 Dodo Payments 配置

选择以下配置之一:远程服务器(推荐)
{
  "mcpServers": {
    "dodopayments": {
      "command": "npx",
      "args": ["-y", "mcp-remote@latest", "https://mcp.dodopayments.com/sse"]
    }
  }
}
本地 NPX
{
  "mcpServers": {
    "dodopayments": {
      "command": "npx",
      "args": ["-y", "dodopayments-mcp@latest"],
      "env": {
        "DODO_PAYMENTS_API_KEY": "dodo_test_..."
      }
    }
  }
}
4

保存并重启

保存配置文件并重启 Cursor。
通过询问 AI 助手有关您的 Dodo Payments 数据来验证连接。

工具过滤

控制暴露给您的 AI 助手的 API 操作,以优化性能并维护安全性。

按操作类型过滤

限制访问只读或写操作。
# Only expose read operations (GET requests)
npx dodopayments-mcp --operation=read

# Only expose write operations (POST, PUT, DELETE)
npx dodopayments-mcp --operation=write
在开发期间使用 --operation=read 以防止意外修改您的数据。

按资源过滤

将工具限制为特定的 API 资源。
# Only expose payment-related tools
npx dodopayments-mcp --resource=payments

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

包含或排除特定工具

微调可用的单个工具。
# Include only specific tools
npx dodopayments-mcp --tool=create_payments --tool=list_payments

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

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

组合过滤器

同时应用多个过滤器以实现精确控制。
# Only payment and subscription read operations
npx dodopayments-mcp --operation=read --resource=payments --resource=subscriptions

高级用法

程序化集成

构建自定义 MCP 服务器或以编程方式扩展现有服务器。
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);

自定义工具开发

使用您自己的工具和业务逻辑扩展 MCP 服务器。
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] 
});

安全最佳实践

保护您的 API 凭据并维护安全集成。
绝不要将凭据提交到版本控制将 API 密钥存储在环境变量或安全的秘密管理系统中。
# 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
定期轮换密钥定期生成新的 API 密钥,并通过您的 Dodo Payments 仪表板撤销旧密钥。在开发中使用测试密钥在开发期间始终使用测试模式 API 密钥,以避免影响生产数据。
在生产中应用工具过滤将暴露的操作限制为您的 AI 助手所需的操作。
# Production: read-only access
npx dodopayments-mcp --operation=read

# Development: full access
npx dodopayments-mcp
为自定义端点实施身份验证在您的自定义工具处理程序中验证请求并强制执行授权。监控 API 使用情况通过您的 Dodo Payments 仪表板跟踪 MCP 服务器活动,并为异常模式设置警报。
对远程服务器使用 HTTPS始终在 HTTPS 端点后部署远程 MCP 服务器。实施速率限制通过在 MCP 服务器和 API 级别实施速率限制来防止滥用。限制网络访问配置防火墙规则以限制可以连接到您的 MCP 服务器的客户端。

故障排除

验证您的 API 密钥确保您的 API 密钥设置正确并具有必要的权限。
# Test your API key
curl -H "Authorization: Bearer dodo_test_..." \
  https://api.dodopayments.com/payments
检查您的网络连接验证您可以访问 Dodo Payments API 端点。查看客户端日志在您的 MCP 客户端中启用详细日志记录以诊断连接问题。
确认 API 密钥环境确保您在测试端点上使用测试密钥,并在生产端点上使用实时密钥。检查密钥权限验证您的 API 密钥是否具有您尝试执行的操作的权限。重新生成凭据如果问题仍然存在,请通过您的仪表板生成新的 API 密钥。
验证输入参数确保 AI 助手提供每个工具的正确格式参数。查看错误消息检查 API 的错误响应以获取有关出错的具体指导。直接测试 API验证在通过 curl 或 Postman 直接调用 Dodo Payments API 时操作是否有效。

资源