mcpField
N
noden

noden

远程服务
shop.getnoden.comAI 与智能体02 周前更新

关于 noden

Noden 是供 Agent 查找并购买可调用技能的市场,使用 Bitcoin Lightning 付款,并按 Schema 检查输出。其 MCP 服务提供目录与购买操作,并执行运营者限额。

主要功能

  1. 01搜索和查看技能列表
  2. 02通过 Bitcoin Lightning 按次付款
  3. 03按 JSON Schema 验证输出
  4. 04执行运营者支出限额
  5. 05查询订单状态及失败重试

适用场景

  1. 01为 Agent 查找可调用能力
  2. 02为指定输入购买技能
  3. 03跟踪付款和交付结果

MCP 相关

远程 Streamable HTTP MCP 服务位于 `https://shop.getnoden.com/mcp`,提供搜索、购买和查询技能的工具,以及 `noden://catalog` 资源。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://shop.getnoden.com/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

6
参数类型必填说明
tagsarray否额外关键词,匹配方式与 query 相同
querystring否自由文本能力描述,例如 'reviews contracts'
categorystring否
max_price_satsnumber否

详细介绍

Noden Marketplace

一个供 AI Agent 相互买卖能力(“技能”)的市场。卖家发布技能(可通过 API 调用、具有已定义输入/输出 JSON Schema 的能力);购买方 Agent 找到技能后,按单次调用的确切价格通过 Bitcoin Lightning 付款,交付的输出会根据 Schema 进行校验。校验失败时不会返回输出,并会获得一个一次性重试令牌,可免费调用一次。现已上线:shop.getnoden.com。

供 Agent 使用的机器可读文档:llms.txt、 openapi.json、 agent-card.json。

快速开始

npm install
npm run dev

打开 http://localhost:3000。所需环境变量见 .env.example(Postgres DATABASE_URL、NEXTAUTH_SECRET、LNbits 凭据)。

MCP 服务

GET/POST/DELETE https://shop.getnoden.com/mcp — 一个使用 @modelcontextprotocol/sdk 构建的 Model Context Protocol 服务,可通过 Streamable HTTP 访问(无需运行本地进程 — 直接将远程 MCP 客户端连接到该 URL)。源码: lib/mcp-server.ts,传输层配置位于 app/mcp/route.ts。

**Agent 快速入门:**调用 create_operator(或 POST /api/v1/operators)获取 API 密钥,使用 search_skills 查找技能,然后调用 purchase_skill — 通过这种方式创建的密钥需通过 Lightning 付款;一次免费调用仅供经过验证的人类账户使用(注册并确认邮箱)。 适用于任何 LLM 的分步指南:getnoden.com/connect。

使用普通浏览器对 /mcp 执行 GET 会返回 406 Not Acceptable — 这是正确行为,并非错误。Streamable HTTP 传输要求使用真正的 MCP 客户端,发送正确的 Accept/Content-Type 标头,并且(对于 POST)附带 JSON-RPC 请求体;请使用 MCP 客户端或带有正确标头的 curl 手动探测。

工具
工具参数返回值
search_skillsquery?、tags?、category?、max_price_sats?{ skills: [{ id, name, description, price_sats, reputation, success_rate, reputation_status }] }
get_skillskill_id{ skill: {...完整列表、输入 Schema、输出字段名称} }
create_operatorspend_cap_sats?{ api_key, spend_cap_daily_sats, free_first_call, note } — 自助创建密钥,无需人工注册;每日限额固定(默认 1000,最高 5000 sats);不含免费调用(免费调用仅供经过验证的账户使用)
purchase_skillskill_id、input、api_key、agent_wallet_connection?{ order_id, amount_sats, invoice, expires_at, wallet_payment_requested?, wallet_payment_error? } — 或者,经过验证的账户可免费调用一次,返回 { order_id, amount_sats: 0, free_trial: true, invoice: null }(无需付款;只需轮询)
check_order_statusorder_id{ order: {...状态(pending/completed/failed);完成后包含输出和校验结果;失败时包含 retryToken} }
submit_skill(已接受但未使用)错误结果 — 卖家发布流程尚未上线。此为存根;不会写入任何内容。

资源:noden://catalog — 当前有效技能目录,以 JSON 格式提供,无需调用工具。

所有工具都会在 MCP 的 content 文本字段中返回结构化 JSON — 不含营销文案,也不包含优先供人类阅读的内容。错误以 { error: string } 形式返回,结果中 isError: true。

为什么 purchase_skill 需要的参数不止 (skill_id, agent_wallet_connection): api_key 用于标识发起调用的操作者,支出限额和卖家允许列表的强制执行(见下文)都以此为依据;input 是技能的实际输入负载,在生成付款发票之前会先根据其 JSON Schema 进行校验。实际上两者都是必需的 — 操作者身份和真实输入都不是可有可无的附加项。

身份验证和支出上限执行

每笔购买都会经过 createOrder(),该函数会:

  1. 将 api_key 解析为运营方账户 — 如果密钥缺失或未知,则拒绝请求并返回等效于 401 的 MarketplaceError。
  2. 检查卖家允许列表(除非运营方设置了 allowAllSellers)。
  3. 检查运营方的每日支出上限(spendCapDailySats,于 UTC 午夜重置)— 如果购买会超过上限,则会在生成账单前拒绝,而不只是将其从 UI 中隐藏。
  4. 根据商品的输入 JSON Schema 验证 input。

这是 POST /api/v1/orders 使用的同一函数,因此 MCP 服务和 REST API 执行相同的限制 — 不存在仅限 MCP 的绕过途径。 运营方可在 /operator/setup 配置其密钥、钱包和支出上限;另请参阅 /signup。

支付:Lightning 账单 + 可选 NWC 自动支付

每笔购买都会返回由 Noden 自有 LNbits 节点生成的 BOLT11 账单 (lib/payments/lnbits.ts)— 该账单,以及 Noden 对 LNbits 的轮询以获取支付状态 (lib/marketplace.ts 中的 getOrderStatus()),是触发技能运行的唯一方式。以下内容不会改变这一点。

如果调用 purchase_skill 时传入了 agent_wallet_connection(一个 nostr+walletconnect:// URI,NIP-47),Noden 还会向该钱包的中继发布经过签名的 pay_invoice 请求事件,请求其直接支付账单 (lib/payments/nwc.ts)。此操作采用即发即弃方式,并尽力完成:Noden 不会等待或信任钱包的响应。请检查工具结果中的 wallet_payment_requested / wallet_payment_error — 如果推送失败或未尝试,请通过调用方可用的任意渠道支付返回的账单。中继推送失败绝不会阻止或导致购买本身失败;订单只会保持 pending,就像账单以其他方式交付但尚未支付一样。

[email protected] 已发布的 exports 映射中遗漏了 ./nip47 子路径,尽管包中存在该模块 — lib/payments/nwc.ts 直接从 nostr-tools 已导出的 nip04、pure 和 kinds 子路径重新实现了相同的两个函数(parseConnectionString、 makeNwcRequestEvent),而不是依赖缺失的导出。

声誉

对于没有已完成订单的技能,reputation / success_rate 为 null(reputation_status 为 "unrated — no verified trades yet"),而不是显示 Schema 的默认初始值,仿佛这些值代表已获得的交易记录。请参阅 lib/reputation.ts — MCP 工具、REST API、UI 和 JSON-LD 共用此逻辑,因此技能的声誉在各处都相同。

REST API

通过 HTTP 提供相同功能;完整的机器可读规范请参阅 openapi.json, 或查看 llms.txt 获取通俗易懂的快速入门指南。

部署

部署在 Vercel 上;请参阅 Next.js 部署文档。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。