支付管理服务器

MCP Server for Creem.io 是一个为SaaS业务提供订阅、产品、支付和许可证管理的支付管理服务器。

  • by Selenium39
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 Selenium39/mcp-server-creem

使用说明

Creem.io的MCP服务器

一种模型上下文协议(MCP)服务器 我相信你。 -SaaS业务的支付合作伙伴。该服务器通过Creem API提供管理订阅、产品、支付等的工具。

特性

  • 产品管理:创建、检索和搜索产品
  • 结账会议:生成付款链接和结账会话
  • 订阅管理:处理定期订阅、升级和取消
  • 客户管理:管理客户并生成门户链接
  • 许可证密钥:激活、验证和停用软件许可证
  • 折扣代码:创建和管理折扣码
  • 交易:搜索和检索付款交易
  • 测试模式:完全支持Creem的测试环境

安装

npm install mcp-server-creem

或者从源代码安装:

git clone https://github.com/Selenium39/mcp-server-creem.git
cd mcp-server-creem
npm install
npm run build

配置

环境变量

设置以下环境变量:

  • CREEM_API_KEY (必需):您的Creem API密钥
  • CREEM_TEST_MODE (可选):设置为 true 使用测试模式(默认: false)

获取API密钥

  1. 去 Creem仪表板
  2. 导航到顶部导航栏中的“开发人员”部分
  3. 单击眼睛图标以显示您的API密钥
  4. 复制并安全保存

MCP设置配置

将其添加到您的MCP设置文件中(例如。, claude_desktop_config.json):

{
  "mcpServers": {
    "creem": {
      "command": "node",
      "args": ["/path/to/mcp-server-creem/build/index.js"],
      "env": {
        "CREEM_API_KEY": "your-api-key-here",
        "CREEM_TEST_MODE": "true"
      }
    }
  }
}

对于macOS上的Claude Desktop,配置文件通常位于:

~/Library/Application Support/Claude/claude_desktop_config.json

可用工具

产品管理

create_product

创建新产品(一次性或订阅)。

参数:

  • name (必填):产品名称
  • price (必填):以美分为单位的价格(例如,1000=10.00美元)
  • billing_type (必填):“一次性”或“经常性”
  • description (可选):产品描述
  • currency (可选):货币代码(默认值:“EUR”)
  • billing_period (可选):对于经常性产品(例如,“每月”、“每年”)
  • tax_category (可选):税种(默认:“saas”)
  • image_url (可选):产品图片URL

例子:

{
  "name": "Pro Plan",
  "description": "Professional subscription",
  "price": 2900,
  "currency": "USD",
  "billing_type": "recurring",
  "billing_period": "every-month"
}

get_product

按ID检索产品详细信息。

参数:

  • product_id (必填):产品ID

search_products

列出所有产品。

参数:

  • page_number (可选):页码(默认:1)
  • page_size (可选):每页项目数(默认值:50,最大值:100)

结账会议

create_checkout

为产品创建结账会话。

参数:

  • product_id (必填):产品ID
  • request_id (可选):自定义跟踪ID
  • success_url (可选):付款后重定向URL
  • customer_email (可选):预先填写客户电子邮件
  • customer_name (可选):预先填写客户姓名
  • discount_code (可选):应用折扣码
  • units (可选):座位数/单位
  • metadata (可选):自定义元数据对象

例子:

{
  "product_id": "prod_abc123",
  "customer_email": "user@example.com",
  "success_url": "https://myapp.com/success",
  "metadata": {
    "user_id": "12345",
    "plan": "pro"
  }
}

get_checkout

检索结账会话详细信息。

参数:

  • checkout_id (必填):结账会话ID

客户管理

get_customer

通过电子邮件或ID获取客户详细信息。

参数:

  • email (可选):客户电子邮件
  • customer_id (可选):客户ID

list_customers

列出所有客户。

参数:

  • page_number (可选):页码(默认:1)
  • page_size (可选):每页项目数(默认值:50)

create_customer_portal_link

生成客户门户登录链接。

参数:

  • customer_id (必填):客户ID

订阅管理

get_subscription

检索订阅详细信息。

参数:

  • subscription_id (必填):订阅ID

cancel_subscription

取消活动订阅。

参数:

  • subscription_id (必填):订阅ID

update_subscription

更新订阅(例如,更改座位)。

参数:

  • subscription_id (必填):订阅ID
  • items (必填):包含以下项目的数组 id 和 units

例子:

{
  "subscription_id": "sub_xyz789",
  "items": [
    {
      "id": "sitem_abc123",
      "units": 5
    }
  ]
}

upgrade_subscription

升级或降级到其他产品。

参数:

  • subscription_id (必填):订阅ID
  • product_id (必填):新产品ID
  • update_behavior (可选):“立即按比例分摊费用”、“按比例分摊收费”或“不按比例分摊”

许可证密钥管理

activate_license

激活设备/实例的许可证密钥。

参数:

  • key (必填):许可证密钥
  • instance_name (必填):唯一设备标识符

deactivate_license

停用许可证实例。

参数:

  • key (必填):许可证密钥
  • instance_id (必填):实例ID

validate_license

验证许可证密钥。

参数:

  • key (必填):许可证密钥
  • instance_id (必填):实例ID

折扣代码

create_discount

创建折扣码。

参数:

  • code (必填):折扣码(例如“SUMMER50”)
  • type (必填):“百分比”或“固定”
  • value (必填):折扣值
  • currency (可选):用于固定折扣
  • max_redemptions (可选):使用限制
  • expires_at (可选):到期日期(ISO 8601)

例子:

{
  "code": "LAUNCH50",
  "type": "percentage",
  "value": 50,
  "max_redemptions": 100
}

get_discount

检索折扣详细信息。

参数:

  • code (必填):折扣码

delete_discount

删除折扣码。

参数:

  • discount_id (必填):折扣ID

交易

search_transactions

搜索并列出交易记录。

参数:

  • product_id (可选):按产品筛选
  • page_number (可选):页码(默认:1)
  • page_size (可选):每页项目数(默认值:50)

用法示例

创建产品和结账

// 1. Create a product
const product = await create_product({
  name: "Premium Plan",
  price: 4900,
  billing_type: "recurring",
  billing_period: "every-month"
});

// 2. Create checkout session
const checkout = await create_checkout({
  product_id: product.id,
  customer_email: "customer@example.com",
  success_url: "https://myapp.com/welcome"
});

// 3. Redirect customer to checkout.checkout_url

管理订阅

// Get subscription details
const subscription = await get_subscription({
  subscription_id: "sub_abc123"
});

// Update seat count
await update_subscription({
  subscription_id: "sub_abc123",
  items: [{
    id: "sitem_xyz789",
    units: 10
  }]
});

// Cancel subscription
await cancel_subscription({
  subscription_id: "sub_abc123"
});

许可证密钥工作流程

// Activate license
const activated = await activate_license({
  key: "LICENSE-KEY-HERE",
  instance_name: "user-macbook-pro"
});

// Validate on app startup
const isValid = await validate_license({
  key: "LICENSE-KEY-HERE",
  instance_id: activated.instance[0].id
});

// Deactivate when transferring
await deactivate_license({
  key: "LICENSE-KEY-HERE",
  instance_id: activated.instance[0].id
});

测试模式

要在没有实际付款的情况下测试您的集成:

  1. 集 CREEM_TEST_MODE=true 在您的环境中
  2. 使用Creem仪表板中的测试API密钥
  3. 使用测试卡: 4242 4242 4242 4242 (任何CVV/到期)

所有功能在测试模式下都是一样的,但不会产生实际费用。

错误处理

服务器返回详细的错误消息:

{
  "content": [{
    "type": "text",
    "text": "Error: Creem API Error (401): Invalid API key"
  }],
  "isError": true
}

常见错误:

  • 401:API密钥无效
  • 403:禁止-检查权限
  • 404:未找到资源
  • 400:无效参数

发展

# Install dependencies
npm install

# Build
npm run build

# Watch mode
npm run watch

# Run in development
npm run dev

资源

支持

许可证

麻省理工学院

贡献

欢迎投稿!请打开问题或提交拉取请求。

安全

永远不要提交API密钥。始终使用环境变量。向报告安全问题 support@creem.io.

主办单位

该项目得到了以下机构的大力支持 ChatTempMail

ChatTempMail -为开发人员和测试人员提供专业的临时电子邮件服务。

🚀 正在寻找更多MCP服务器? 结账 mcp服务器临时邮件 -用于管理临时电子邮件地址的强大MCP服务器!


由以下材料制成❤️ 对于MCP社区

报告Bug · 请求功能 · GitHub