使用说明
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密钥
- 去 Creem仪表板
- 导航到顶部导航栏中的“开发人员”部分
- 单击眼睛图标以显示您的API密钥
- 复制并安全保存
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(必填):产品IDrequest_id(可选):自定义跟踪IDsuccess_url(可选):付款后重定向URLcustomer_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(必填):订阅IDitems(必填):包含以下项目的数组id和units
例子:
{
"subscription_id": "sub_xyz789",
"items": [
{
"id": "sitem_abc123",
"units": 5
}
]
}
upgrade_subscription
升级或降级到其他产品。
参数:
subscription_id(必填):订阅IDproduct_id(必填):新产品IDupdate_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
});
测试模式
要在没有实际付款的情况下测试您的集成:
- 集
CREEM_TEST_MODE=true在您的环境中 - 使用Creem仪表板中的测试API密钥
- 使用测试卡:
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
资源
支持
- 电子邮件: support@creem.io
- 不一致: 加入社区
- 文档: docs.creem.io
许可证
麻省理工学院
贡献
欢迎投稿!请打开问题或提交拉取请求。
安全
永远不要提交API密钥。始终使用环境变量。向报告安全问题 support@creem.io.
主办单位
该项目得到了以下机构的大力支持 ChatTempMail
ChatTempMail -为开发人员和测试人员提供专业的临时电子邮件服务。
🚀 正在寻找更多MCP服务器? 结账 mcp服务器临时邮件 -用于管理临时电子邮件地址的强大MCP服务器!
由以下材料制成❤️ 对于MCP社区
