Sphere MCP Merch服务器
Unicity商品店的MCP(模型上下文协议)服务器。提供LLM访问权限,通过Nostr使用UCT代币浏览和购买Unicity品牌商品。
特性
- 产品目录:印有图案的T恤、连帽衫、杯子、帽子
- 订单管理:创建订单,跟踪状态
- Nostr集成:通过Nostr协议发送的付款请求
- Unicity区块链:使用名称标签进行身份和支付路由
- 自动标识:服务器在首次运行时创建自己的区块链身份
- HTTP传输:支持传统SSE和现代可流式HTTP
可用产品
| ID | 名称 | 价格 | 尺寸 |
|---|---|---|---|
tshirt-black | Unicity黑色T恤 | 25 UCT | S、M、L、XL、XXL |
tshirt-white | Unicity白色T恤 | 25 UCT | S、M、L、XL、XXL |
hoodie-black | Unicity黑色连帽衫 | 50 UCT | S、M、L、XL、XXL |
mug-classic | Unicity经典杯 | 15 UCT | - |
cap-black | Unicity黑色帽子 | 20 UCT | - |
MCP工具
| 工具 | 参数 | 说明 |
|---|---|---|
list_products | category (可选) | 列出所有商品及其价格 |
get_product | product_id | 通过图片获取产品详细信息 |
place_order | unicity_id, product_id, quantity, size | 下订单(发起付款) |
confirm_order | unicity_id, order_id | 等待付款确认 |
get_orders | unicity_id | 获取用户的所有订单 |
get_wallet_balance | password | 获取MCP钱包余额(管理员) |
HTTP端点
服务器在HTTP(默认端口3001)上运行,具有两种传输协议:
传统SSE(MCP检查员,老客户)
| 端点 | 方法 | 描述 |
|---|---|---|
/sse | GET | 建立SSE流,返回POST端点 |
/messages?sessionId=xxx | POST | 发送JSON-RPC消息 |
流式HTTP(现代客户端)
| 端点 | 方法 | 描述 |
|---|---|---|
/mcp | POST | 发送JSON-RPC请求 |
/mcp | GET | SSE流用于响应 |
健康检查
| 端点 | 方法 | 描述 |
|---|---|---|
/health | GET | 返回 { status, sseSessions, httpSessions } |
快速开始
1.配置环境
cp .env.example .env编辑 .env 具有所需值:
MCP_NAMETAG=merch-mcp
PAYMENT_COIN_ID=your_coin_id_here2.添加产品图片
将产品图片放在 assets/ 目录:
tshirt-black.pngtshirt-white.pnghoodie-black.pngmug-classic.pngcap-black.png
3.使用Docker Compose运行
docker compose up -d4.查看日志
docker compose logs -f测试MCP
MCP检查员
npx @modelcontextprotocol/inspector然后在浏览器UI中,选择“SSE”传输并输入URL: http://localhost:3001/sse
健康检查
curl http://localhost:3001/health工作流示例
- 用户列出可用产品:
Tool: list_products- 用户查看带有图像的产品:
Tool: get_product
Args: { "product_id": "tshirt-black" }- 用户下订单:
Tool: place_order
Args: { "unicity_id": "alice", "product_id": "tshirt-black", "quantity": 1, "size": "M" }- 付款请求已发送。 用户在其Unicity钱包中收到付款请求。
- 用户确认付款:
Tool: confirm_order
Args: { "unicity_id": "alice", "order_id": "abc123" }- 成功付款后,订单即被确认。
配置
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
MCP_NAMETAG | 是 | - | 此MCP服务器的名称标签 |
PAYMENT_COIN_ID | 是 | - | 用于支付的硬币ID |
MCP_PRIVATE_KEY_HEX | 否 | 自动生成 | 私钥(十六进制) |
NOSTR_RELAY_URL | 没有 | wss://nostr-relay.testnet.unicity.network | 诺斯特接力 |
AGGREGATOR_URL | 没有 | https://goggregator-test.unicity.network | Unicity聚合器 |
AGGREGATOR_API_KEY | 否 | (测试网密钥) | 聚合器API密钥 |
PAYMENT_TIMEOUT_SECONDS | 没有 | 120 | 付款超时 |
DATA_DIR | 没有 | ./data | 数据持久性目录 |
ASSETS_DIR | 没有 | ./assets | 产品图片目录 |
ADMIN_PASSWORD | 否 | 自动生成 | 钱包访问的管理员密码 |
HTTP_PORT | 没有 | 3001 | HTTP服务器端口 |
发展
# Install dependencies
npm install
# Build
npm run build
# Run locally
npm start
# Watch mode
npm run dev许可证
麻省理工学院
