Skip to main content
Glama

Server Details

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

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 39 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
brand52agency/noden-marketplace
GitHub Stars
0
ChatGPT
–
Claude
–

TDQS

A3.9/5.0

Scored across 6 tools

Disambiguation4/5

Each tool targets a distinct step: catalog search, listing detail, purchase, order polling, operator key creation, and skill submission. The main risk is that submit_skill looks like a real seller-listing tool but is explicitly non-functional, which can mislead an agent into treating it as a usable action rather than a stub.

Naming Consistency5/5

All six tools follow a clean verb_noun snake_case pattern (search_skills, get_skill, purchase_skill, check_order_status, create_operator, submit_skill). No mixed conventions or vague single-word names.

Tool Count4/5

Six tools is a sensible, well-scoped size for a buy/poll marketplace flow, and each has a clear role. It is slightly lean given that one of the six is a non-functional placeholder, effectively leaving five usable tools.

Completeness3/5

The core loop (search → get detail → purchase → poll status) is covered, but there is no way to list or inspect past orders, no tool to check spend cap, prepaid credits, or allowlist state despite these being central to purchase, and no key rotation. submit_skill is a declared but unavailable operation, leaving the seller side a dead end.

Available Tools

6 tools
check_order_statusAInspect

Poll an order's status: pending, completed or failed. Once completed, the output and verification result are included. If failed, the result is not returned and a retry_token (one free call, 24 hours) is included.

NameRequiredDescriptionDefault
order_idYes

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden and does so well: it discloses the three terminal states, what output appears on completion vs failure, and the one-free-call 24-hour retry_token. It omits polling cadence and whether polling is idempotent, but the output behavior is unusually well specified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences, front-loaded with the state machine, then branching outcomes. Every sentence adds information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Behavioral outcomes are well covered for a single-param tool with no output schema, but the order_id parameter is fully undocumented and there is no guidance on polling behavior, leaving key invocation details missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the sole parameter (order_id) is never described in the description—no format, origin, or where it comes from. With low coverage the description must compensate, and it does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb (poll/check) and resource (order status) with the three possible states enumerated. It is distinguishable from siblings like purchase_skill or submit_skill, though not explicitly contrasted.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by describing the polling lifecycle and the retry_token on failure, but it never states when to call this tool, how often to poll, or what to do after success. Usage is inferred rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_operatorAInspect

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. This key has no free call — purchases are paid over Lightning. The free first call belongs to a verified human account (email confirmed). For a higher cap and ongoing human review/monitoring, a human should sign up their own account at https://shop.getnoden.com/signup instead.

NameRequiredDescriptionDefault
spend_cap_satsNoRequested daily spend cap in sats. Defaults to 1000, capped at 5000.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does so richly: it discloses the returned artifact (a key with a daily spend cap), that the cap is immutable ('cannot be raised later'), the payment model (Lightning, no free call), and where the free call actually lives. The permanent-constraint disclosure is exactly the kind of behavioral context an agent needs before committing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose, then usage condition, then behavior, then the alternative route — good ordering. Slightly redundant ('no human required' restated as 'no signup form, no login'), costing a little tightness against an otherwise dense paragraph.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-optional-param tool with no output schema, the description covers what it returns, the constraints on that return, the cost model, and the fallback path. Nothing needed to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single parameter is fully documented, so baseline is 3. The description goes beyond the schema by framing the cap as permanent ('cannot be raised later'), adding decision-relevant meaning the schema fields do not convey.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Self-register for an operator API key') and immediately scopes it with 'no human required — no signup form, no login'. An agent knows exactly what this produces and how it differs from a human account signup.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states the condition: 'Use this if you don't already have an api_key from a human operator.' It also names the alternative path (human signup at the shop URL) and the trade-off (higher cap, ongoing monitoring), so selection is unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_skillAInspect

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.

NameRequiredDescriptionDefault
skill_idYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses a key limitation: the output schema is reduced to field names and the exact output format is only available after purchase. It also states that the response includes the purchase input schema, setting clear expectations about what is returned. This is significant behavioral context beyond a simple 'get'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, with the primary purpose front-loaded and no extraneous words. It efficiently conveys the main action, the key output feature (purchase schema), and the output limitation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-parameter lookup tool with no output schema, the description covers the essential purpose, the included purchase schema, and the output format limitation. It does not mention error cases or pagination, but those are less critical here. The sibling tools provide surrounding context, making this sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, so the description must compensate. It does not explicitly explain the skill_id parameter, but the phrase 'one skill listing' implies that skill_id identifies the target listing. However, it does not specify the format or source of the ID, leaving some ambiguity. Given there is only one parameter and its purpose is fairly obvious, a middle score is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Get'), the resource ('one skill listing'), and adds a specific detail about including the purchase input JSON Schema. This distinguishes it from siblings like search_skills (search) and purchase_skill (buy). No ambiguity about what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for retrieving details before purchasing, but it does not explicitly state when to use it versus alternatives (e.g., use this before purchase_skill, or use search_skills for discovery). There is no exclusion guidance or explicit condition, leaving the agent to infer the appropriate context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

purchase_skillAInspect

Purchase a skill. Validates input against the listing's schema and the caller's spend cap/allowlist, then, unless the account has enough prepaid credits (see below), returns a Lightning invoice for the exact price of one call; once the invoice is paid the skill runs and the result is checked against the listing's output schema. If the account has enough prepaid credits for the call, they are used automatically: the response has paid_with_credits true, credits_charged and credits_remaining, and no invoice — just poll check_order_status. If the check fails the result is not returned and no sats are sent back: the order status gives a single-use retry_token, and passing it here (same skill, same api_key, within 24 hours) runs one free call. A verified human account gets one free call on a listing priced at or below the trial cap: the response then has free_trial true and no invoice — just poll check_order_status. Every other purchase returns a Lightning invoice. Free skills (price_sats 0) need no payment: the response has free_skill true and no invoice, just poll check_order_status. 'input' (the skill's required input, matching its input schema) is required, and so is a key: pass 'api_key' (your operator API key), or set it once as an 'Authorization: Bearer ' header on this MCP connection. Spend-cap enforcement needs to know which operator is calling. 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. The skill runs only once Noden itself detects the payment on the invoice, never because the wallet-push call succeeded.

NameRequiredDescriptionDefault
inputYesInput matching the skill's input JSON Schema
api_keyNoYour operator API key. Optional if the connection sends it as an Authorization: Bearer header
skill_idYes
retry_tokenNoA retry_token from a failed order of this same skill: runs one free call instead of returning an invoice
agent_wallet_connectionNoOptional nostr+walletconnect:// URI — if given, Noden asks this wallet to pay the invoice

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations supplied, the description carries the full behavioral burden and does so thoroughly: validation against listing schema and spend cap/allowlist, automatic prepaid-credit consumption, no-refund-on-schema-check-failure semantics, the single-use 24-hour retry token, the free-trial eligibility rule, and the fact that NWC payment is best-effort and fire-and-forget while execution only triggers on Noden-detected payment. Authentication requirements and the exact response flags (paid_with_credits, free_trial, free_skill, wallet_payment_requested) are also disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose and primary invoice flow are front-loaded, but the bulk is a single dense paragraph of chained parentheticals covering five mutually exclusive outcomes, which makes it harder to parse than a short bulleted or segmented structure would be. Most sentences earn their place, but the packing hurts scannability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex, multi-branch payment-and-execution tool with no output schema and no annotations, the description covers what an agent needs to call it correctly and interpret the response: auth options, all payment outcomes, failure/retry behavior, and the response flags to branch on. Nothing material is missing for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 80%, and the description adds real meaning beyond it: 'input' must match the skill's input schema, api_key can be supplied per-call or once as a Bearer header (and is needed for spend-cap attribution), retry_token is scoped to the same skill/api_key within 24 hours, and agent_wallet_connection triggers an optional best-effort wallet push whose result must be verified. skill_id is left to the schema, but that gap is minor given the rest of the coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence names a specific verb and resource ('Purchase a skill'), and the rest of the description makes the multi-branch purchase flow explicit: invoice path, prepaid-credit path, retry-token path, free-trial path, and free-skill path. It also names the sibling tool to use afterward ('poll check_order_status'), so an agent can distinguish it from status-checking and listing tools without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear conditional guidance on which outcome to expect and explicitly routes the agent to check_order_status after every no-invoice case. It does not explicitly state when to use get_skill or search_skills instead (e.g., previewing or finding a listing before purchasing), so the sibling routing is incomplete rather than absent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_skillsAInspect

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.

NameRequiredDescriptionDefault
tagsNoExtra keywords, matched the same way as query
queryNoFree-text capability description, e.g. 'reviews contracts'
categoryNo
max_price_satsNo

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses non-obvious behavior: hybrid keyword/category matching, optional semantic search, and that tags are folded into the same keyword search as query because the catalog lacks a dedicated tags field. It does not cover result format or auth, but for a search tool the disclosed behavior is solid.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two tight sentences followed by one clarifying caveat about tags. It front-loads the core purpose and then adds only high-value behavioral detail, with no filler or redundant restatement of the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is sufficient to invoke the tool, but it leaves gaps: max_price_sats is undocumented, the category vocabulary is unspecified, and there is no indication of result shape or ordering. These are not fatal because the tool is a simple search, but a slightly richer description would make it fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50%, with category and max_price_sats lacking descriptions. The description adds meaning for tags ('folded into the same keyword search as query') and implies category is part of the match, but it does not explain max_price_sats or how category and query combine.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource: 'Search the Noden skill catalog by capability.' It also clarifies the matching mechanism (hybrid keyword/category, optionally semantic), which distinguishes it from siblings like get_skill, purchase_skill, and submit_skill.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The intended use is implied by 'Search the Noden skill catalog by capability'—agents should use this when looking for skills by capability. However, there is no explicit guidance about when to prefer get_skill (e.g., when a skill ID is known) or when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

submit_skillAInspect

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.

NameRequiredDescriptionDefault
nameNo
price_satsNo
descriptionNo
input_schemaNo
output_schemaNo

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It explicitly states that calling the tool 'writes nothing' and returns a structured 'not available' response, which accurately communicates that the tool is a safe no-op stub. This is exemplary transparency for a disabled endpoint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no filler. The intended purpose is front-loaded, followed immediately by the critical availability warning and the behavioral consequence of calling it. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool that always returns 'not available' and writes nothing, the description is complete. It tells the agent not to expect success, describes the response shape at a high level, and confirms there are no side effects. Detailed parameter meanings and output structures are unnecessary when the operation is disabled.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has five parameters with 0% description coverage, and the description does not explain any of them. It only implies they will have no effect because the call writes nothing. For an unavailable stub this is acceptable in practice, but the description still adds no semantic meaning to the individual parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: submit a new skill listing for sale. It also clarifies the current reality of the tool with 'NOT YET AVAILABLE', and the sibling tools are all read/purchase/status operations, so this is clearly the listing-creation tool. It is unambiguous and distinguishable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly tells the agent the tool is not yet available, meaning it should not be used to actually list a skill. It also tells the agent what to expect if called: a structured 'not available' response. This is strong when-not guidance; no alternative tool exists for this flow yet.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changedpurchase_skill3 fields changed
      • changedInput schema / properties / api_key / description
        Previous value: -"Your operator API key"New value: +"Your operator API key. Optional if the connection sends it as an Authorization: Bearer header"
      • addedInput schema / properties / retry_token
        Added value: +{
        +  "description": "A retry_token from a failed order of this same skill: runs one free call instead of returning an invoice",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "skill_id",
        -  "input",
        -  "api_key"
        -]New value: +[
        +  "skill_id",
        +  "input"
        +]
  2. 1 tool update
    • Addedcreate_operator
  3. 5 tool updates
    • First observedcheck_order_status
    • First observedget_skill
    • First observedpurchase_skill
    • First observedsearch_skills
    • First observedsubmit_skill

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    AI-to-AI economic marketplace with on-chain USDC escrow on Base L2. Agents browse skills, hire each other, manage jobs, release payments, and handle disputes via AI Judge. 15 MCP tools, reputation scoring.
    15
    3
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Give your agent an address: private agent-to-agent messaging, free encrypted file handoffs, and Lightning commerce. Buy, sell, and discover files, data, APIs, and compute on a public marketplace. Non-custodial: buyers pay sellers directly and payment unlocks delivery.
    27
    137 npm
    MIT No Attribution
  • A
    license
    Not graded
    quality
    F
    maintenance
    A live skill marketplace on Solana mainnet where AI agents register, list skills, and hire each other with trustless escrow, providing MCP tools for discovery, registration, listing, execution, and escrow.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.