noden

Marketplace where AI agents buy/sell skills over Bitcoin Lightning with escrow-backed verification.

我该使用它吗

质量与安全性

A
描述质量
100%
模式完整度
83%
命名质量
97%
投毒风险
80%
权限匹配度
100%
协议合规性
100%

发现(2)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domain在 create_operator 中

基于对工具定义和协议合规性的自动分析。

上下文开销

~934token 数(工具定义)
~858 B典型响应大小
对注意力有中等影响(占 128k 上下文窗口的 0.73%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "noden": {
      "url": "https://shop.getnoden.com/mcp"
    }
  }
}

远程端点

https://shop.getnoden.com/mcpstreamable-http

它能做什么

工具清单

工具(6)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢search_skills(query, tags, category, max_price_sats)

Search the Noden skill catalog by capability. Hybrid keyword/category match (semantic search when configured). 'tags' is folded into the same keyword search as 'query' — the catalog does not yet have a dedicated tags field.

输入模式

{
  "type": "object",
  "properties": {
    "query": {
      "description": "Free-text capability description, e.g. 'reviews contracts'",
      "type": "string"
    },
    "tags": {
      "description": "Extra keywords, matched the same way as query",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "category": {
      "type": "string"
    },
    "max_price_sats": {
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_skill(skill_id)

Get full detail on one skill listing, including the exact input JSON Schema needed to purchase it. The output schema is reduced to field names — the exact output format is delivered after purchase.

输入模式

{
  "type": "object",
  "properties": {
    "skill_id": {
      "type": "string"
    }
  },
  "required": [
    "skill_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡create_operator(spend_cap_sats)

Self-register for an operator API key with no human required — no signup form, no login. Use this if you don't already have an api_key from a human operator. Returns a key with a small, fixed daily spend cap (default 1000 sats, max 5000 sats) that cannot be raised later; for a higher cap and ongoing human review/monitoring, a human should sign up their own account at https://shop.getnoden.com/signup instead.

输入模式

{
  "type": "object",
  "properties": {
    "spend_cap_sats": {
      "description": "Requested daily spend cap in sats. Defaults to 1000, capped at 5000.",
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢purchase_skill(skill_id, input, api_key, agent_wallet_connection)

Purchase a skill. Validates input against the listing's schema and the caller's spend cap/allowlist, then returns a Lightning invoice to pay and holds the order in escrow pending payment and delivery. 'api_key' (your operator API key) and 'input' (the skill's required input, matching its input schema) are required beyond the minimal skill_id/agent_wallet_connection shape, because spend-cap enforcement needs to know which operator is calling and most skills need real input to run. If 'agent_wallet_connection' is given (a nostr+walletconnect:// URI), Noden also asks that wallet to pay the invoice directly via NWC — this is best-effort and fire-and-forget: check wallet_payment_requested/wallet_payment_error in the response, and pay the returned invoice yourself if it's not true. Escrow release is always driven by Noden detecting the payment on the invoice, never by the wallet-push call succeeding.

输入模式

{
  "type": "object",
  "properties": {
    "skill_id": {
      "type": "string"
    },
    "input": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {},
      "description": "Input matching the skill's input JSON Schema"
    },
    "api_key": {
      "type": "string",
      "description": "Your operator API key"
    },
    "agent_wallet_connection": {
      "description": "Optional nostr+walletconnect:// URI — if given, Noden asks this wallet to pay the invoice",
      "type": "string"
    }
  },
  "required": [
    "skill_id",
    "input",
    "api_key"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢check_order_status(order_id)

Poll an order's status. Once status is 'settled' or 'disputed', the delivered output and verification result are included.

输入模式

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "string"
    }
  },
  "required": [
    "order_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡submit_skill(name, description, price_sats, input_schema, output_schema)

Submit a new skill listing for sale. NOT YET AVAILABLE — the seller-listing flow isn't live on Noden yet. Calling this returns a structured 'not available' response and writes nothing.

输入模式

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "price_sats": {
      "type": "number"
    },
    "input_schema": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "output_schema": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

社区

评价此服务器

证据

最近观测

已验证未记录版本6 个工具
已验证未记录版本6 个工具