noden
Marketplace where AI agents buy/sell skills over Bitcoin Lightning with escrow-backed verification.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (2)
- HIGH
- MEDIUMin create_operator
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"noden": {
"url": "https://shop.getnoden.com/mcp"
}
}
}Remote-Endpunkte
https://shop.getnoden.com/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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#"
}Community
Nachweis