这是一个使用PaidMCP和官方MCP TypeScript SDK的付费MCP服务器示例。
此MCP服务器设计用于与Alby比特币支付MCP服务器或其他能够进行闪电网络支付的MCP服务器结合使用。
这个样板MCP服务器有3个工具:
get_weather 是一个付费工具,用于获取指定城市的天气信息。get_food_delivery_menu 是一个免费工具,返回可以购买的食物项目。order_food_delivery 订购菜单中的一个或多个项目。威尔明顿的天气如何?
我将为您获取威尔明顿当前的天气信息。
─── get_weather | weather ──────────────────────────
城市: 威尔明顿
看起来这个天气服务需要小额闪电网络支付才能访问数据。如果您愿意继续,我可以帮助您使用已连接的闪电钱包支付该账单。
账单金额为21聪,以获取威尔明顿的天气数据。让我先支付这笔账单,然后获取您的天气信息。
─── pay_invoice | alby-http ──────────────────────────
账单: ...
◇ 鹅想要调用上述工具,您允许吗?
│ 允许
│
很好!支付成功。现在我将使用支付哈希来获取威尔明顿的天气信息。
─── get_weather | weather ──────────────────────────
城市: 威尔明顿
支付哈希: ...
## 威尔明顿的天气
目前威尔明顿的气温是**14.2°C**(约57.6°F)。
*这些天气数据是通过21聪的闪电微支付获得的。*
给我订两份披萨
用户想要订购两份披萨。查看环境详情,可以看到这是一个具有食品配送功能的样板MCP项目。可以看到有食品配送工具可用:
food_delivery_menu.ts
food_delivery_order.ts
我还注意到有一个连接了食品配送工具的样板付费MCP服务器:
food_delivery_menu: 显示可购买的食品配送菜单项
food_delivery_order: 订购一个或多个项目的食品配送
为了订购披萨,我应该:
首先检查菜单,看看有哪些披萨选项
然后下单订购两份披萨
让我先检查菜单,看看有什么可用的。
我将帮助您订购两份披萨。让我先检查食品配送菜单,看看有哪些披萨选项。
─── 样板付费MCP | get_food_delivery_menu ──────────────────────────
{}
太好了!我看到菜单上有披萨,每份21聪。现在我将下单订购两份披萨。
─── 样板付费MCP | order_food_delivery ──────────────────────────
订购一个或多个项目的食品配送
{
"menu_items": [
{
"title": "披萨"
},
{
"title": "披萨"
}
]
}
食品配送服务要求在完成订单前支付。我需要先支付闪电账单。让我使用Alby MCP服务器支付42聪(21聪×2份披萨)的账单。
─── Alby MCP | pay_invoice ──────────────────────────
{
"invoice": "lnbc420n1p58vggudpyfaexgetjypnx7u3q2p5h57np9ss9q6t60fssnp4q228a2ztxkwzaypvzrsh823qngmv97f2v9puwvtsadetypmutyscwpp53jg4mzq70r7gj75wu0scphy3h46df8t9ehjfs5ae4w4wfm93fwgssp5a4pus38dey8e5mqw0y6cyn6gce9w3yq2gpn52cha636fzll29xrq9qyysgqcqpcxqyz5vqlg4ess44vklv7a3tsl59tuh29jz6g55dp5hg0dwnsfhg47p4g02nyzmlaawul8mscspgqkz00radh94kk7m0nn3a84x22yhree8s42qqe95prr"
}
很好!支付成功且无费用。现在我将提供支付哈希来完成披萨订单。
─── 样板付费MCP | order_food_delivery ──────────────────────────
{
"menu_items": [
{
"title": "披萨"
},
{
"title": "披萨"
}
],
"payment_hash": "8c915d881e78fc897a8ee3e180dc91bd74d49d65cde49853b9abaae4ecb14b91"
}
任务已完成
您的两份披萨订单已成功下单!
订单详情:
订单ID: 21
项目: 2 × 披萨
总费用: 42聪(每份披萨21聪)
支付: 成功完成,无费用
您的披萨正在准备配送中。
fly launch部署您的MCP服务器。yarn install
复制.env.example到.env并更新您的NWC连接密钥。
还没有?请查看Alby Hub
添加到您的MCP服务器列表,并更新args和env:
{
"mcpServers": {
"boilerplate_paid_mcp": {
"command": "node",
"args": ["/YOUR_PATH_TO_REPOSITORY/boilerplate-paid-mcp/build/index.js"],
"env": {
"NWC_CONNECTION_STRING": "nostr+walletconnect://..."
},
"disabled": false,
"autoApprove": [],
"alwaysAllow": [],
"disabledTools": []
}
}
}
同时建议安装Alby MCP以测试支付功能。
yarn build
yarn inspect
确保使用一个不错的模型(例如Claude Sonnet 3.7),否则MCP服务器将无法工作。
访问support.getalby.com,我们很高兴帮助您使MCP服务器正常工作。