中文
← Back to tutorials

Stripe MCP Server: Complete Setup and Usage Guide 2026

Process payments and manage subscriptions via AI - step-by-step guide to Stripe MCP Server

By AI Skill Navigation Editorial TeamPublished April 24, 2026

Stripe 官方 MCP(Model Context Protocol)服务器让你能通过 AI 客户端的函数调用直接操作 Stripe API。无论你是想快速查询交易、创建支付链接,还是管理订阅,MCP 都能将自然语言指令转化为安全的 API 调用。本指南涵盖远程与本地两种部署方式、客户端配置、工具列表及安全最佳实践。

什么是 Stripe MCP?

Stripe MCP 服务器是一个遵循 Model Context Protocol 的中间层,它将 Stripe API 封装成一系列“工具”(tools)。AI 客户端(如 Claude Desktop、Gemini CLI)可以通过 MCP 协议调用这些工具,从而执行创建产品、检索客户、生成发票等操作。工具的实际权限由你提供的 API 密钥决定——推荐使用受限密钥(Restricted API Key)来精确控制可执行的操作。

部署方式

Stripe 提供两种 MCP 服务器部署方式:

方式连接类型适用场景

远程服务器HTTPS + OAuth快速开始,无需本地安装,适合临时查询 本地服务器本地进程(stdio)需要自定义工具集、使用受限密钥、离线或高安全需求

#### 1. 远程服务器(推荐快速体验)

Stripe 官方托管了一个远程 MCP 服务器,地址为 https://mcp.stripe.com。AI 客户端通过 OAuth 2.0 流程进行身份验证,无需手动管理 API 密钥。

配置示例(Claude Desktop):

json
{
  "mcpServers": {
    "stripe": {
      "type": "remote",
      "url": "https://mcp.stripe.com"
    }
  }
}

首次连接时,客户端会引导你完成 Stripe 的 OAuth 授权流程。授权后,服务器将代表你调用 Stripe API,权限范围与你授权的 Stripe 账户一致。

注意: 远程服务器目前仅支持 Stripe 主账户,不支持连接账户(Connected Accounts)。如需操作连接账户,请使用本地服务器。

#### 2. 本地服务器(推荐生产环境)

本地服务器通过 npx 运行,需要你提供 Stripe Secret Key。这种方式适合需要精细控制工具集、使用受限密钥或操作连接账户的场景。

基本命令:

bash
npx -y @stripe/mcp --api-key=sk_test_XXXXXXXXXXXXXXXXXXXXXXXX

指定工具集:

bash
npx -y @stripe/mcp --tools=products,customers,invoices --api-key=sk_test_XXXXXXXXXXXXXXXXXXXXXXXX

操作连接账户:

bash
npx -y @stripe/mcp --api-key=sk_test_XXXXXXXXXXXXXXXXXXXXXXXX --stripe-account=acct_CONNECTED_ACCOUNT_ID

环境变量方式(推荐):

bash
export STRIPE_SECRET_KEY=sk_test_XXXXXXXXXXXXXXXXXXXXXXXX
npx -y @stripe/mcp

客户端配置

#### Claude Desktop

编辑 claude_desktop_config.json(路径因操作系统而异,通常位于 ~/Library/Application Support/Claude/%APPDATA%\Claude\):

json
{
  "mcpServers": {
    "stripe": {
      "command": "npx",
      "args": [
        "-y",
        "@stripe/mcp",
        "--tools=products,customers,invoices,charges,payment_intents",
        "--api-key=sk_test_XXXXXXXXXXXXXXXXXXXXXXXX"
      ]
    }
  }
}

Docker 方式(可选):

json
{
  "mcpServers": {
    "stripe": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "mcp/stripe",
        "--api-key=sk_test_XXXXXXXXXXXXXXXXXXXXXXXX"
      ]
    }
  }
}

#### Gemini CLI

  • 安装 Gemini CLI
  • 安装 Stripe MCP 扩展:
  • bash
       gemini extensions install https://github.com/stripe/ai
       
  • 启动 Gemini CLI:
  • bash
       gemini
       
  • 在 Gemini CLI 中运行 OAuth 授权:
  • 
       /mcp auth stripe
       

    #### 其他 MCP 客户端

    对于支持 MCP 的任意客户端(如 VS Code 扩展、自定义应用),配置方式类似:指定命令为 npx -y @stripe/mcp,并传入所需参数。

    可用工具

    Stripe MCP 服务器暴露的工具与 Stripe API 端点对应。以下是常用工具类别(完整列表请参考 Stripe MCP 官方文档):

    类别工具示例说明

    产品create_product, list_products, update_product管理商品目录 价格create_price, list_prices为产品设置定价 客户create_customer, retrieve_customer, list_customers客户管理 支付create_payment_intent, retrieve_payment_intent, list_charges处理支付 发票create_invoice, finalize_invoice, void_invoice发票生命周期管理 订阅create_subscription, cancel_subscription, list_subscriptions订阅管理 退款create_refund处理退款 报告list_balance_transactions查看余额变动

    注意: 工具列表取决于你使用的 --tools 参数。如果不指定,默认加载所有可用工具。建议根据实际需求限制工具集,以减少不必要的 API 权限暴露。

    安全最佳实践

    #### 1. 使用受限密钥(Restricted API Key)

    永远不要使用你的主密钥(Secret Key with full access)。在 Stripe Dashboard > API Keys 中创建一个受限密钥,并仅授予 MCP 所需的权限。

    创建步骤:

  • 登录 Stripe Dashboard
  • 导航至 Developers > API Keys
  • 点击 Create restricted key
  • 命名(例如 "MCP Claude")
  • 勾选你希望 MCP 工具使用的权限(例如:products:write, customers:read, payment_intents:write
  • 复制生成的密钥(以 sk_restricted_ 开头)
  • 配置示例:

    bash
    npx -y @stripe/mcp --api-key=sk_restricted_XXXXXXXXXXXXXXXXXXXXXXXX
    

    #### 2. 限制工具集

    通过 --tools 参数仅暴露你需要的工具,与受限密钥的权限形成双重保护。

    bash
    npx -y @stripe/mcp --tools=products,customers --api-key=sk_restricted_XXXXXXXXXXXXXXXXXXXXXXXX
    

    #### 3. 连接账户安全

    如果使用连接账户(--stripe-account),确保该账户的 API 密钥也使用受限密钥,并且连接账户本身只拥有必要的权限。

    #### 4. 环境变量管理

    避免在命令行中直接暴露密钥。使用环境变量或配置文件管理密钥:

    bash
    

    .env 文件

    STRIPE_SECRET_KEY=sk_restricted_XXXXXXXXXXXXXXXXXXXXXXXX STRIPE_ACCOUNT=acct_CONNECTED_ACCOUNT_ID

    然后在启动脚本中引用:

    bash
    export $(grep -v '^#' .env | xargs)
    npx -y @stripe/mcp
    

    调试与测试

    #### 使用 MCP Inspector

    MCP Inspector 是一个图形化工具,可以列出所有可用工具并逐个测试。

  • 构建本地服务器:
  • bash
       git clone https://github.com/stripe/ai.git
       cd ai
       npm install
       npm run build
       

  • 启动 Inspector:
  • bash
       npx @modelcontextprotocol/inspector node dist/index.js --api-key=sk_test_XXXXXXXXXXXXXXXXXXXXXXXX
       

  • 打开浏览器访问 Inspector UI(默认 http://localhost:5173),点击 Connect
  • 在 Inspector 中查看工具列表,选择工具并填写参数进行测试。
  • #### Docker 调试

    如果使用 Docker 构建:

    bash
    docker build -t mcp/stripe .
    docker run -p 3000:3000 -p 5173:5173 -v /var/run/docker.sock:/var/run/docker.sock mcp/inspector docker run --rm -i mcp/stripe --api-key=sk_test_XXXXXXXXXXXXXXXXXXXXXXXX
    

    常见问题

    #### Q: 远程服务器和本地服务器有什么区别? A: 远程服务器(https://mcp.stripe.com)通过 OAuth 授权,无需管理 API 密钥,适合快速体验。本地服务器需要你提供 Secret Key,但支持自定义工具集、连接账户操作,以及使用受限密钥进行更精细的权限控制。

    #### Q: 如何限制 MCP 只能读取数据而不能写入? A: 两种方式:1) 在 Stripe Dashboard 创建受限密钥时,仅授予 read 权限(如 products:read, customers:read)。2) 使用 --tools 参数仅暴露只读工具(如 list_products, retrieve_customer)。建议同时使用两者。

    #### Q: 连接账户(Connected Account)如何配置? A: 在本地服务器命令中添加 --stripe-account=acct_xxx 参数。注意:远程服务器目前不支持连接账户。确保连接账户的 API 密钥也使用受限密钥。

    #### Q: 为什么我的工具列表是空的? A: 可能原因:1) API 密钥无效或权限不足。2) 使用了 --tools 参数但拼写错误。3) 密钥对应的 Stripe 账户没有数据(某些工具如 list_products 在无数据时返回空列表,但工具本身仍应显示)。检查 Inspector 或客户端日志。

    #### Q: 可以在生产环境中使用 MCP 吗? A: 可以,但必须遵循安全最佳实践:使用受限密钥、限制工具集、通过环境变量管理密钥、定期审计 API 调用日志。建议先在测试模式(sk_test_)下充分测试,再切换到生产模式(sk_live_)。

    *Last updated: July 2026. Always verify against each tool's official docs.*

    Also available in 中文.