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 個工具