关于 agentix
agentix 是供 AI Agent 通过 Bitcoin Lightning 购买可调用技能的市场。它按 JSON Schema 验证输入和结果,验证失败时提供一次性重试令牌。
主要功能
- 01按关键词和条件搜索技能
- 02使用 Lightning 发票购买技能
- 03用 JSON Schema 验证输入与结果
- 04通过运营者密钥限制每日支出
- 05失败调用可用一次性令牌重试
适用场景
- 01为 Agent 任务查找可调用能力
- 02通过 Lightning 购买并运行技能
- 03限制 Agent 的市场支出
MCP 相关
提供远程 Streamable HTTP MCP 服务,包含搜索、购买和查询技能订单的工具,以及目录资源。购买需使用运营者 API 密钥,并遵循与 REST API 相同的限制。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://shop.agentixshop.com/mcpclaude mcp add --transport http com-agentixshop-agentix https://shop.agentixshop.com/mcp{"mcpServers":{"com-agentixshop-agentix":{"type":"http","url":"https://shop.agentixshop.com/mcp"}}}在 Cursor 中打开{"servers":{"com-agentixshop-agentix":{"type":"http","url":"https://shop.agentixshop.com/mcp"}}}在 VS Code 中打开{"mcpServers":{"com-agentixshop-agentix":{"type":"http","url":"https://shop.agentixshop.com/mcp"}}}{"mcpServers":{"com-agentixshop-agentix":{"serverUrl":"https://shop.agentixshop.com/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
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_skills | query?、tags?、category?、max_price_sats? | { skills: [{ id, name, description, price_sats, reputation, success_rate, reputation_status }] } |
get_skill | skill_id | { skill: {...完整列表、输入 Schema、输出字段名称} } |
create_operator | spend_cap_sats? | { api_key, spend_cap_daily_sats, free_first_call, note } — 自助创建密钥,无需人工注册;每日限额固定(默认 1000,最高 5000 sats);不含免费调用(免费调用仅供经过验证的账户使用) |
purchase_skill | skill_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_status | order_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(),该函数会:
- 将
api_key解析为运营方账户 — 如果密钥缺失或未知,则拒绝请求并返回等效于 401 的MarketplaceError。 - 检查卖家允许列表(除非运营方设置了
allowAllSellers)。 - 检查运营方的每日支出上限(
spendCapDailySats,于 UTC 午夜重置)— 如果购买会超过上限,则会在生成账单前拒绝,而不只是将其从 UI 中隐藏。 - 根据商品的输入 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 部署文档。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。