Nagora
Server Details
Buy real goods with Nano (XNO) through escrow. Search, purchase, track orders, get signed receipts.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- m-flex/nagora-mcp
- GitHub Stars
- 0
- Server Listing
- Nagora MCP server
TDQS
Scored across 9 tools
Each tool maps to a distinct resource or lifecycle step: search vs. listing detail, purchase creation, order status, cancellation, delivery confirmation, receipt retrieval, and credential management. There is no meaningful overlap between tools, so an agent can reliably select the correct one.
Nearly all tools follow a consistent verb_noun pattern (create_purchase, cancel_order, get_listing, get_order, get_receipt, confirm_delivery, search_listings, register_agent). The only deviation is whoami, which has no underscore but is a standard, recognizable command-style exception.
Nine tools is well-scoped for a marketplace escrow interaction surface. Each tool covers a necessary part of the agent workflow—authentication, discovery, purchasing, order tracking, cancellation, and receipt retrieval—without redundancy or bloat.
The tool set covers the full buyer-side escrow lifecycle: search, inspect, purchase, fund, poll, confirm delivery, and retrieve a receipt. Minor gaps exist around dispute/refund flows, but those are explicitly delegated to the website, so the intended agent-facing surface is largely complete.
Available Tools
9 toolscancel_orderAInspect
Cancels an order whose escrow is still Initiated (no on-chain funds sent yet). Restores listing stock. Cannot cancel once escrow is Funded; use the dispute or refund flow on the website instead.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | Agent API key (nag_agt_...). Omit when connected with an Authorization header | |
| orderId | Yes | Order ID to cancel |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It reveals the side effect of restoring listing stock and the hard limitation on canceling funded escrows. It could additionally mention what happens on invalid IDs or return behavior, but the core state-changing behavior is well disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences convey the action, precondition, side effect, and exclusion. There is no filler or repetition, and the critical state condition is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with two parameters and no output schema. The description covers precondition, action, side effect, and fallback path, which is enough for correct invocation. A minor gap is the absence of any note about error/return behavior, but this does not materially hinder usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already fully documented in the schema. The description does not add new parameter-level meaning beyond reinforcing that orderId refers to an order in Initiated escrow state, which is sufficient for the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Cancels an order') and a precise resource with a qualifying state ('escrow is still Initiated'). It also clarifies the no-on-chain-funds condition, which differentiates this tool from other order-related siblings like confirm_delivery or get_order.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when cancellation is valid (Initiated escrow), when it is not valid (Funded escrow), and directs the agent to the dispute/refund flow on the website instead. This gives clear when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confirm_deliveryAInspect
Confirms the goods or digital content arrived and releases the escrowed funds to the seller. Requires the order's escrowStatus to be Shipped. Call promptly once delivery is verified: the seller is waiting on this to get paid. If never called, an auto-finalise timer releases funds after the configured window.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | Agent API key (nag_agt_...). Omit when connected with an Authorization header | |
| orderId | Yes | Order ID to confirm |
TDQS
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 the key behavioral consequence (releasing escrowed funds to the seller), the required precondition (escrowStatus Shipped), and the auto-finalise timer behavior if never called. It stops short of describing error handling or idempotency, but the critical financial effect is transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each earning its place: the action and effect, the precondition and urgency, and the fallback behavior. The most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with no annotations or output schema, this description is complete. It covers what the tool does, when to call it, what it requires, and what happens if it isn't called. Nothing essential is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains orderId and apiKey. The description adds no parameter-specific semantics, but none are needed at the schema baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action (confirms arrival) and its concrete effect (releases escrowed funds), making the tool's role unambiguous. It is clearly differentiated from siblings like cancel_order and create_purchase by naming the exact transaction being confirmed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear precondition ('Requires the order's escrowStatus to be Shipped') and explicit timing guidance ('Call promptly once delivery is verified'), plus the consequence of not calling. It doesn't name alternatives or when-not-to-use scenarios, but the context is sufficient to route an agent correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_purchaseAInspect
Places an order against a listing. Returns a depositAddress (per-order escrow Nano account) and amountNano. IMPORTANT: the order is not funded by this call. Send exactly amountNano to depositAddress from the agent's Nano wallet to fund escrow. Once funds are detected the order moves to AwaitingShipment automatically. Physical listings require a shippingAddress.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | Agent API key (nag_agt_...). Omit when connected with an Authorization header | |
| quantity | No | Quantity, default 1 | |
| listingId | Yes | Listing to purchase | |
| variantId | No | Variant ID from get_listing, when the listing has variants | |
| quotedTotalNano | No | Total in XNO from a recent get_listing call. Rejected if more than 2% off the live rate; omit to skip the guard | |
| shippingAddress | No | Required for physical delivery; omit for digital listings | |
| deliveryOptionId | No | Delivery option ID from get_listing, when the listing offers several |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that the call does not fund the order, that escrow is per-order, that status changes automatically upon funds detection, and that shipping is conditional. It does not mention any destructive side effects or permissions, but for this tool the disclosed behavior is substantial and non-obvious.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the main action and the funding requirement. It is a single paragraph with a clear IMPORTANT note. It is somewhat lengthy but every sentence adds value; there is no fluff. It could be tightened, but it is well-structured and readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (7 parameters, 1 required) and no output schema, the description explains the return values and the funding workflow. It does not explicitly explain how to obtain variantId or deliveryOptionId, but the schema references get_listing, which is sufficient. The critical funding steps are covered, making it complete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for all 7 parameters, so the schema already documents each one. The description adds context about shippingAddress being required for physical listings, which the schema also states, and reiterates the funding flow, but it does not clarify variantId or deliveryOptionId beyond what the schema says. The description provides marginal value beyond the schema, so a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a specific verb and resource: 'Places an order against a listing.' It also names the return values (depositAddress and amountNano). It is immediately clear what this tool does and it is easily distinguished from siblings like cancel_order or get_order without needing to open the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit step-by-step guidance: the order is not funded by this call, exactly amountNano must be sent to depositAddress, and physical listings require shippingAddress. It also explains the automatic transition to AwaitingShipment. This is actionable and removes ambiguity about the follow-up funding step.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_listingARead-onlyInspect
Fetch a single listing by ID. No API key required. Returns full detail including variants, delivery options, and pricing. Use the returned Nano total as quotedTotalNano when purchasing to guard against exchange-rate drift.
| Name | Required | Description | Default |
|---|---|---|---|
| listingId | Yes | Listing ID from search_listings |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, and the description adds useful behavioral context beyond that: no API key needed, the response includes variants/delivery options/pricing, and the Nano total should be carried into purchase to guard against exchange-rate drift. This gives the agent actionable expectations about auth, return scope, and downstream use.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, all informative and none redundant. The core purpose is front-loaded, followed by auth context, return contents, and a specific downstream instruction—every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read-only tool with no output schema, the description covers purpose, auth requirements, return content, and how to use the result in the purchase flow. Nothing critical is missing for an agent to call and use this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage for the single parameter listingId, including the note that it comes from search_listings. The description adds no additional meaning to this parameter, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource: 'Fetch a single listing by ID.' It is clearly differentiated from sibling search_listings (which searches rather than fetches by ID) and from order/receipt tools by naming the listing resource and the returned detail scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context for when to call this tool: to retrieve a single listing's full details, with no API key required. It also connects to the purchase flow by instructing the agent to use the returned Nano total as quotedTotalNano, though it does not explicitly state exclusions or name alternative tools for the same task.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_orderARead-onlyInspect
Polls an order placed by this agent. Returns orderStatus, escrowStatus, funding timestamps, tracking info, and the receipt ID once available. Poll after funding the deposit address, and after the seller ships, before calling confirm_delivery.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | Agent API key (nag_agt_...). Omit when connected with an Authorization header | |
| orderId | Yes | Order ID returned by create_purchase |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation readOnlyHint=true already indicates a read-only operation, and the description does not contradict that. It adds behavioral context by stating it is a poll operation that returns data only when available ('once available' for receipt ID), implying the agent may need to retry. It does not mention error handling or rate limits, but these are minor gaps given the read-only nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no fluff. The first sentence states the purpose and return fields, the second provides the timing guidance. It is front-loaded and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only poll operation with no output schema, the description covers the essential information: what it returns, when to call it, and how it relates to confirm_delivery. An agent has enough context to invoke it correctly without additional documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% because both parameters (apiKey and orderId) have descriptions in the input schema. The tool description does not add any additional parameter-level detail beyond what the schema provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Polls' and the resource 'an order placed by this agent', and lists the specific fields returned (orderStatus, escrowStatus, funding timestamps, tracking info, receipt ID). It is distinct from siblings like cancel_order and confirm_delivery, which are actions, and get_receipt, which is a separate retrieval tool. The purpose is unambiguous and specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool: 'Poll after funding the deposit address, and after the seller ships, before calling confirm_delivery.' This gives clear timing and sequencing relative to other operations, and it also distinguishes from confirm_delivery by indicating it must be called before that action. This is explicit usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_receiptARead-onlyInspect
Returns the cryptographically signed receipt for a completed order, including the seller's Nano address, the on-chain payout block hash, and Nagora's KMS signature. Available only after escrow is Released; returns an error while the order is still in progress.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | Agent API key (nag_agt_...). Omit when connected with an Authorization header | |
| orderId | Yes | Order ID to fetch the receipt for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations only provide readOnlyHint: true, so the description carries the burden of behavioral context. It adds that the receipt is cryptographically signed, includes a KMS signature, and that errors occur while the order is in progress—useful details beyond the read-only hint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. It front-loads the core purpose and then adds the availability constraint. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lists the receipt contents, the availability condition, and the error behavior. Although there is no output schema, the description gives sufficient detail for an agent to understand what it will receive and when to call it. Minor missing detail like the exact error format is not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters (apiKey, orderId) are described adequately in the schema. The description does not add significant parameter-level detail beyond what the schema already provides, so a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: returning a cryptographically signed receipt for a completed order, specifying key contents (seller Nano address, payout block hash, KMS signature). It also differentiates itself from sibling tools like get_order by focusing on the receipt and its unique availability condition.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states the precondition: 'Available only after escrow is Released; returns an error while the order is still in progress.' This provides clear guidance on when to invoke the tool. It doesn't explicitly compare with alternatives, but the condition is sufficient for correct selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
register_agentAInspect
Creates a Nagora agent and mints its API key in one call. No Nagora account or signup required. IMPORTANT: this is a remote server with no local storage, so the key is returned ONCE in the result. Store it securely and pass it as the apiKey argument on subsequent calls in this session; for long-lived setups reconnect with an 'Authorization: Bearer ' header instead. Skip this tool if a credential is already configured; check with whoami.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Agent name, e.g. 'claude-shopper' (max 64 chars) | |
| callbackUrl | No | Optional webhook URL; Nagora POSTs signed order state-change events to it | |
| homepageUrl | No | Optional homepage describing the agent | |
| nanoAddress | Yes | Nano (XNO) address refunds should be sent to: the wallet this agent pays from | |
| contactEmail | No | Optional contact email for order issues |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses a critical behavioral trait beyond what annotations provide (none are given): the remote server has no local storage, so the API key is returned only once. It also explains the consequence (must store securely) and the alternative auth method (Authorization: Bearer header). This is exactly the kind of behavioral context an agent needs to avoid losing credentials.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph of 4 sentences, front-loaded with the core purpose and the most critical warning (key returned once). It is efficient and every sentence earns its place, though it could be slightly more structured with line breaks for the key-return warning. Still, it is appropriately sized and readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and no annotations, the description covers all essential context: what it does, the critical one-time key return, how to use the key afterward, and when to skip it. It also names the sibling tool (whoami) for checking credentials. Nothing an agent needs 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 5 parameters. The description adds context for the 'nanoAddress' parameter ('the wallet this agent pays from') and clarifies the 'callbackUrl' purpose ('signed order state-change events'), but these are minor additions. Baseline 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Creates a Nagora agent and mints its API key in one call.' It uses a specific verb ('Creates') and resource ('Nagora agent'), and explicitly distinguishes itself from the sibling tool 'whoami' by noting it should be skipped if a credential is already configured. This makes it easy for an agent to select it correctly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use and when-not-to-use guidance: 'Skip this tool if a credential is already configured; check with whoami.' It also explains the critical usage pattern: the key is returned once, must be stored securely, and passed as apiKey on subsequent calls or via Authorization header for long-lived setups. This is comprehensive and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_listingsARead-onlyInspect
Full-text search over active listings on nagora.shop. No API key required. Returns an items array and total count. Use get_listing for full detail before purchasing.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free-text search query, e.g. 'mechanical keyboard' | |
| count | No | Page size 1-100, default 20 | |
| sortBy | No | Sort order: newest, price_asc, or price_desc. Default newest | |
| maxPrice | No | Maximum price filter | |
| minPrice | No | Minimum price filter | |
| categoryId | No | Numeric category filter | |
| startIndex | No | Pagination offset, default 0 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description adds useful behavioral context by stating no API key is required and that the response contains an items array and total count. This goes beyond what the annotations alone convey without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. It front-loads the main purpose, then adds the most important usage and response details in a compact, readable way.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only search tool with seven parameters fully documented in the schema, the description covers the key contextual points: scope, authentication, response shape, and where to get more detail. A minor gap is the lack of any note about pagination or sorting behavior, but those are already in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all seven parameters including q, count, sortBy, and price filters. The description adds a high-level search intent but does not add parameter-level detail, which is acceptable given the complete schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('search') and resource ('active listings on nagora.shop'), making the tool's core function immediately clear. It also hints at its relationship to get_listing by saying full detail is available there, helping distinguish it from its sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for use: it is for searching active listings, requires no API key, and explicitly directs the agent to use get_listing for full detail before purchasing. It names an appropriate alternative but does not fully enumerate when not to use the tool beyond that distinction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
whoamiARead-onlyInspect
Verifies the configured credential and returns the agent's identity, spending caps, callback URL, and webhook secret. Call this first to confirm the credential works.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | Agent API key (nag_agt_...). Omit when connected with an Authorization header |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation readOnlyHint=true already establishes the read-only nature. The description adds value by detailing exactly what is returned (identity, spending caps, callback URL, webhook secret) and that it verifies the credential, giving useful context beyond the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences: the first states the core purpose, the second provides usage guidance. Every sentence earns its place, with no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with one optional parameter, the description covers the return values explicitly and gives a clear usage directive. The annotation covers the safety profile, so nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of the parameter with a clear description (apiKey and when to omit it). The tool description doesn't mention the parameter at all, so it adds no extra meaning. With full schema coverage, a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('verifies', 'returns') and a clear resource (the agent's identity, spending caps, callback URL, webhook secret). It distinguishes itself from sibling tools, which all relate to orders, listings, or registration, so an agent can easily tell it apart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly instructs 'Call this first to confirm the credential works,' providing clear timing and purpose. It doesn't explicitly name alternatives, but the sibling tools are functionally distinct, so there's little ambiguity about when to use this one.
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.
9 tool updates
- First observed
cancel_order - First observed
confirm_delivery - First observed
create_purchase - First observed
get_listing - First observed
get_order - First observed
get_receipt - First observed
register_agent - First observed
search_listings - First observed
whoami
Related MCP Connectors
Buy and sell with Bitcoin, Monero or Pirate Chain. Listings, Want Ads, offers, escrow.
Verified merchants accepting agentic payments on Lightning/L402/BOLT12/USDT — search, verify, pay.
Dispatch real-world physical tasks to verified human operators. Escrow or direct-settlement.
Manage your NanoCart store from any AI agent: products, orders, coupons, subscribers, reports.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables AI agents to search, inspect, and purchase physical goods on an escrow-secured marketplace, including listing search, agent reputation checks, and offer creation.583MIT
- AlicenseAqualityAmaintenanceAgent-to-agent commerce over Bitcoin Lightning: buy, sell, list, and discover files, data, APIs, and compute on a public marketplace (or privately by offer id). Non-custodial, buyers pay sellers wallet-to-wallet and a verified payment preimage unlocks the result.627686MIT No Attribution
- FlicenseNot gradedqualityCmaintenanceProvides paid and free tools for AI agents to buy from or sell to other agents over x402, including discovering sellers, verifying on-chain payment histories, running test purchases, and registering sellers for audited listings.-
- AlicenseAqualityDmaintenanceNon-custodial on-chain escrow + AI arbitration for agent-to-agent USDC payments on Base. Seven tools wrap a verified EscrowV1 contract — create, deliver, confirm, dispute, resolve — with read-only introspection if no wallet key is provided.72MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.