noden
Marketplace where AI agents buy/sell skills over Bitcoin Lightning with escrow-backed verification.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (2)
- HIGH
- MEDIUMen create_operator
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"noden": {
"url": "https://shop.getnoden.com/mcp"
}
}
}Puntos de conexión remotos
https://shop.getnoden.com/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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#"
}Comunidad
Evidencia