关于 Perly Pay
perly-pay-mcp 是供 AI 编码助手使用 Perly Pay 的本地 MCP 服务。它涵盖支付设置和记录查询,并将实时 API 密钥限制为只读操作。
主要功能
- 01管理产品和价格
- 02创建支付链接和发票
- 03读取付款和收据
- 04检查权限和额度
- 05在测试模式模拟付款
- 06在本地验证 Webhook 签名
适用场景
- 01设置产品和支付链接
- 02开具发票并查看付款记录
- 03不进行真实付款测试结账流程
- 04检查买家访问权限和额度使用
MCP 相关
该服务通过 stdio 在本地运行,并将 Perly Pay API 操作作为 MCP 工具提供。使用实时密钥时会拒绝写入操作,仅允许读取。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y perly-pay-mcpPERLY_PAY_SECRET_KEY密钥Your key from Dashboard → Developers: sk_test_… while you build.PERLY_PAY_APIOptional. Default https://pay.perly.io.PERLY_PAY_WEBHOOK_SECRET密钥Optional whsec_…, the default for verify_webhook_signature.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
38收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| limit | integer | 否 | 要返回的对象数量,范围为 1–100。默认值为 10。 |
| cursor | string | 否 | 上一页的 `next_cursor`。 |
| status | enum | 否 | open | seen | underpaid | paid | overpaid | review | expired | canceled | refunded | partially_refunded |
| customer | string | 否 | 客户 ID,格式为 `cus_…`。 |
| subscription | string | 否 | 订阅 ID,格式为 `sub_…`。 |
详细介绍
perly-pay-mcp
直接在 AI 编码助手中出售你的作品并收取加密货币。perly-pay-mcp 是一个本地 MCP 服务,供 Perly Pay 使用:你的助手可以创建产品、价格、付款链接和发票,在测试模式下支付,读取付款和收据,并检查买家的访问权限。Bitcoin、USDC 和 USDT 会直接进入你自己的钱包;Perly Pay 不会托管这些资产。每笔付款收费 2.5¢,且不超过付款金额的 0.5%;每月最多 21 笔付款免费。
它在你的机器上通过 stdio 运行,只使用你的密钥与 Perly Pay 的公开 API 通信。中间没有我们的服务器。
设置
在 Perly Pay 中获取测试密钥:Dashboard → Developers → API keys(sk_test_…)。
Claude Code
claude mcp add perly-pay --env PERLY_PAY_SECRET_KEY=sk_test_… -- npx -y perly-pay-mcp
Cursor:~/.cursor/mcp.json,或项目中的 .cursor/mcp.json
{
"mcpServers": {
"perly-pay": {
"command": "npx",
"args": ["-y", "perly-pay-mcp"],
"env": { "PERLY_PAY_SECRET_KEY": "sk_test_…" }
}
}
}
Codex:~/.codex/config.toml
[mcp_servers.perly-pay]
command = "npx"
args = ["-y", "perly-pay-mcp"]
env = { PERLY_PAY_SECRET_KEY = "sk_test_…" }
不要将密钥提交到 git:项目中的配置文件通常会被提交。需要 Node 20 或更高版本。
| 变量 | |
|---|---|
PERLY_PAY_SECRET_KEY | 构建时使用 sk_test_…。sk_live_… 仅可读取(见下文)。 |
PERLY_PAY_API | 默认为 https://pay.perly.io。可使用 perly.io 主机或本机地址;仅 localhost 可使用纯 http。 |
PERLY_PAY_ALLOW_ANY_API | 设置为 1 时,会将密钥发送到 PERLY_PAY_API 中的任意其他 https 主机,以供你自行运行的副本使用。 |
PERLY_PAY_WEBHOOK_SECRET | 可选的 whsec_…,作为 verify_webhook_signature 的默认值。 |
试试看
用付款链接出售一小时的咨询服务,定价 49 美元,然后在测试模式下支付,并向我展示这笔付款。
助手会调用 create_product、create_price、create_payment_link、simulate_payment 和 list_payments。
工具
| 区域 | 工具 |
|---|---|
| 产品和价格 | create_product、list_products、update_product、create_price、list_prices、update_price |
| 付款链接 | create_payment_link、list_payment_links、update_payment_link |
| 发票和结账 | create_invoice、list_invoices、retrieve_invoice、cancel_invoice、create_checkout_session、retrieve_checkout_session |
| 客户 | create_customer、list_customers、retrieve_customer |
| 订阅(通过发票续订) | create_subscription、list_subscriptions、retrieve_subscription |
| 访问权限和额度 | check_entitlement、list_entitlements、consume_entitlement_credits、list_credit_usage |
| 收款,只读 | list_payments、retrieve_payment、list_receipts、retrieve_receipt、list_events |
| 退款 | create_refund、list_refunds |
| Webhook | create_webhook_endpoint、list_webhook_endpoints、delete_webhook_endpoint |
| 测试模式 | simulate_payment:支付发票,或从付款链接购买并完成付款 |
| 在你的机器上 | verify_webhook_signature 检查 Perly-Signature;pay_links 提供只有你能使用的 Dashboard 页面:方案、钱包、上线、双重验证、密钥 |
这些工具由 Perly Pay 的 OpenAPI 文档生成,因此其参数与 API 自身的参数一致。
它不会做什么
- 使用有效密钥时,它只会读取。 所有写入操作的工具都会被拒绝:
创建发票、结账会话、产品、价格、客户、付款链接和订阅,取消、编辑、退款、消费额度、
模拟付款以及 Webhook 端点。它会说明原因,你可以在管理后台或应用自己的代码中完成这些操作。列表和查询的功能与测试模式相同。
原因:买家输入的文本可能会传给助手,而服务端收到的任何内容都无法证明是你而非模型批准了有效模式下的更改
(
confirm: true是由模型写入的;客户端的批准提示和 MCP elicitation 答案也都会经由客户端返回)。因此,服务端绝不会使用有效密钥执行写入操作。 - 钱包、API 密钥、账单、有效模式和双重身份验证都没有对应工具。
你可以在管理后台设置;
pay_links会提供相关页面。 - 无法撤销的操作(取消发票、发起退款、删除 Webhook 端点)需要等待
confirm: true,助手应仅在征求你同意后才发送此参数。 - 你的密钥永远不会在答复或日志中再次显示。
- 买家的许可证密钥不会传给助手:携带许可证密钥的事件返回时会移除其中的
key;许可证密钥会保留在管理后台。 - 他人撰写的文本会标记为数据。 客户姓名、电子邮件、描述和元数据可能来自买家,也可能来自打开付款链接的任何人; 每个 API 答案末尾都会附注,提醒助手不要照做。 即便如此,在批准更改之前,仍要先阅读工具即将修改的内容。
文档:https://pay.perly.io/docs/mcp。API 参考: https://pay.perly.io/docs/api。MIT 许可证。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。