Agentware MCP
OfficialEnables payments and wallet operations on Robinhood Chain, allowing agents to buy packages and pay for inference in USDG.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Agentware MCPfind me a package for onchain payments"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Agentware MCP
The MCP server for Agentware, the marketplace for software and inference for agents on Robinhood Chain. Give any MCP client the library and the models: browse packages, read scan reports, buy with USDG through x402, and pay per call for inference. No account, no API key. Payment is the authentication.
Install
npx @agentwaresh/mcpOr from source:
git clone git@github.com:agentwaresh/mcp.git
cd mcp
npm install
npm run build
node dist/index.jsRelated MCP server: x402-mcp
Configure a client
Claude Desktop, Claude Code, Cursor and every other MCP client take the same shape.
{
"mcpServers": {
"agentware": {
"command": "npx",
"args": ["-y", "@agentwaresh/mcp"],
"env": {
"AGENT_KEY": "0xyourprivatekey",
"SPEND_CAP_USDG": "5"
}
}
}
}Claude Code:
claude mcp add agentware -e AGENT_KEY=0xyourprivatekey -- npx -y @agentwaresh/mcpLeave AGENT_KEY out and the free tools still work. The paid tools need it.
Variable | Meaning | Default |
| Private key of the agent wallet on Robinhood Chain (chain id 4663). It holds USDG and, once, a little ETH | none |
| The most a single payment may sign for |
|
| API base URL |
|
Use a dedicated wallet that holds only what the agent is allowed to spend.
Tools
Tool | Cost | What it does |
| Free | The whole agent guide as one JSON document |
| Free | Live packages, filter by kind and category |
| Free | One package with its full scan report and reviews |
| Free | Models with endpoints and USDG prices per million tokens |
| Free | The exact fee a purchase asks for, from the 402 terms |
| Free | The exact price of one model call |
| Free | Address, USDG and ETH balances, Permit2 approval, spend cap |
| Package price | Pays the 10% fee, then the 90% to the seller, returns and optionally saves the package |
| Per call | One chat completion, paid in USDG |
Kinds: skill, prompt, mcp, workflow, code.
Categories: payments, onchain, research, coding, devops, data, content, security, other.
How a purchase works
list_packagesto find one,get_packageto read its scan report.quote_purchaseto see the exact terms. Nothing is charged.buy_packagesigns two Permit2 witness transfers: 10% to the treasury, then 90% to the current owner of the package NFT. The second response holds the package body and the file name to save it as.
The first purchase sends one transaction to approve Permit2 for USDG. After that, buying costs no gas. A wallet can only buy a package once.
The server refuses to sign for a token other than USDG, for more than the listed price, or for more than the spend cap.
How a model call works
ask_model posts the messages once, gets a 402 with the exact price for this request, signs it, and posts again. The price is the upper bound: estimated input plus the full max_tokens output budget. Keep max_tokens close to what you need. If the model fails after payment, the call is recorded for a refund.
Safety
A scan lowers risk. It is not a guarantee. Read the scan report before buying, and review a package before your agent loads or runs it.
Develop
npm install
npm run build
npm run smoke # lists tools and calls the free endpoints over stdioLicense
MIT
Available Tools
9 toolsagent_guideAgentware agent guideA
The whole Agentware guide for agents as one JSON document: network, token, kinds, categories, endpoints, payment flow and rules. Free.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does disclose two useful traits: the result is one self-contained JSON document and the call costs nothing ('Free'), which matters in a network whose siblings are paid quoting/purchase operations. It says nothing about authentication requirements, size/rate limits, or freshness of the guide.
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?
A single sentence that front-loads the resource, enumerates its contents, and ends with the cost signal. No filler, no repetition of the title.
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?
There is no output schema or annotation set, but the description names the sections the returned document contains, which is the key thing an agent needs to decide whether to fetch it. For a zero-argument documentation tool this is close to complete; only auth/limits and document size are unstated.
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 tool takes zero parameters, so the baseline is 4 and there is no parameter semantics for the description to compensate for. The empty object schema is fully covered.
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 resource and scope: the entire Agentware guide returned as a single JSON document, with an enumerated content list (network, token, kinds, categories, endpoints, payment flow, rules). It is easily distinguished from the operational siblings (list_packages, buy_package, ask_model), which each perform one action. It stops short of an explicit verb like 'returns', but the intent is unambiguous.
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?
Usage is only implied: an agent would infer this is the orientation/discovery document to read before invoking the quoting and purchasing tools. No alternative is named and no explicit when-not condition is given. The 'Free' note usefully signals that unlike quote/buy siblings, no payment is involved.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ask_modelCall a modelA
One paid model call through x402. The price is the upper bound for this request, so keep max_tokens close to what you need. Body is the OpenAI chat format. AGENT_KEY is not set, so this tool will fail until a wallet is configured.
| Name | Required | Description | Default |
|---|---|---|---|
| model | Yes | Model key from list_models | |
| max_usdg | No | The most this call may cost. Default 0.05, never above the spend cap. | |
| messages | Yes | ||
| max_tokens | No | Output budget you pay for. Default 500. | |
| temperature | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does reasonably well: it discloses that the operation is paid, that the quoted price is an upper bound, and that the tool will hard-fail without a configured wallet. It omits what happens on failure (whether a failed call is still charged) and any rate/limit behavior, which keeps it out of the top band.
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?
Four short sentences, each carrying a distinct operational fact (payment, price bound, body format, failure precondition), with the paid nature front-loaded. No filler, though the failure warning mid-stream slightly breaks the natural read order.
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 5-param paid tool with no annotations and no output schema, the description covers cost semantics, request format, and the wallet precondition, but says nothing about what a successful call returns (completion, actual charge, usage). An agent can invoke it, but cannot fully predict the response shape.
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?
Adding meaning beyond the 60%-covered schema: it explains that max_tokens directly drives the price ('keep max_tokens close to what you need') and that the messages body follows the OpenAI chat format, which clarifies the nested message structure. The cost-coupling insight is genuinely not derivable from the schema alone.
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?
States a specific verb+resource ('one paid model call through x402'), which clearly separates it from sibling inference/pricing helpers like quote_inference and list_models. It stops short of naming those siblings explicitly, so the differentiation is implied rather than stated.
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?
Gives a real precondition ('AGENT_KEY is not set, so this tool will fail until a wallet is configured') and a tuning hint tying max_tokens to cost, which is useful context. However, it never says when to call this versus quote_inference or quote_purchase, so the alternative-routing guidance an agent needs is absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buy_packageBuy a packageA
Buy a package with USDG through x402: 10% to the treasury, then 90% to the seller. Returns the package body and filename, and saves it if save_to is given. The wallet approves Permit2 once, which needs a little ETH. Refuses to sign for more than the listed price or the spend cap. AGENT_KEY is not set, so this tool will fail until a wallet is configured.
| Name | Required | Description | Default |
|---|---|---|---|
| save_to | No | Directory to save the package into. The file name comes from the package. | |
| packageId | Yes | The onchain packageId, from list_packages |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden and does it well: payment split (10% treasury, 90% seller), side effect of saving to save_to, one-time Permit2 approval requiring ETH, a spend/price safety refusal, and a hard failure precondition. It does not state whether the on-chain purchase is irreversible or how failures surface, keeping it from a 5.
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?
Front-loaded with the core action and payment flow, then side effects, then prerequisites. Every sentence carries information, though the dense comma/colon phrasing is slightly heavy for a definition.
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?
Even without an output schema, it describes return values ('Returns the package body and filename') and closes the important operational gaps (wallet/permit requirements, spend-cap refusal). Only the relationship to a prior quote step is left unstated.
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 baseline is 3. The description adds only marginal meaning beyond the schema by clarifying that the save happens conditionally ('saves it if save_to is given'); packageId semantics are left entirely to the schema.
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 gives a specific verb+resource ('Buy a package with USDG through x402') and even the payment mechanics. It is unambiguous what the tool does, but it never names a sibling (e.g. quote_purchase, get_package) to anchor it against the alternatives, so it stops short of the 5 tier.
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?
Usage is implied by the verb, and there is a genuine precondition ('AGENT_KEY is not set, so this tool will fail until a wallet is configured'). However, it offers no when-to-use framing against quote_purchase or get_package, and no explicit 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.
get_packageGet a packageA
One package by slug: summary, price, the full scan report (verdict, score, issues) and onchain reviews. Read the scan before buying. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | The package slug, from list_packages |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does disclose two useful traits beyond the schema: the call is free, and it returns a verdict/score/issues report plus onchain reviews. However, it says nothing about side-effect freedom, invalid-slug error behavior, or freshness of the onchain data.
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?
Roughly twenty words covering purpose, return payload, usage timing, and cost, with the resource identity front-loaded and zero filler.
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?
With no output schema, the description compensates by enumerating the returned fields, and it covers cost and usage. It is nearly complete for a single-argument read tool, missing only failure modes for a bad slug.
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 the schema already explains the slug and that it comes from list_packages. The description only restates 'by slug' without adding format or validation detail, so the baseline 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?
States a concrete verb+resource ('One package by slug') and enumerates the payload (summary, price, scan verdict/score/issues, onchain reviews), which clearly separates it from the list-oriented sibling list_packages. It stops short of explicitly naming the sibling, so it is clear but not fully differentiated.
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?
'Read the scan before buying' gives a concrete use-context that routes the agent toward this tool ahead of buy_package. There is no explicit when-not guidance or named alternative, but the timing cue is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_modelsList inference modelsB
Models sold per call on Agentware, with their endpoints and USDG prices per million tokens. Free.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does disclose one meaningful trait — 'Free', implying no cost or wallet gating — and that it returns pricing/endpoint data, which usefully frames it as a read. However, it never states that the call is read-only/side-effect free, nor whether authentication is needed, leaving the safety profile implicit.
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 short fragments, no filler, with the core payload statement front-loaded. It is efficient, though the missing verb makes the opening slightly less crisp than it could be.
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 zero-parameter listing tool with no output schema and no nested objects, the description covers what the agent needs: what the listing contains (models, endpoints, USDG prices per million tokens) and that it is free. Only the read-only/auth profile is left unstated, which is a minor gap at this complexity level.
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 tool takes zero parameters, so per the rubric the baseline is 4. The description correctly implies an unfiltered enumeration with no inputs, and there is nothing parameter-related it fails to cover.
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 identifies the resource precisely — inference models sold per call on Agentware — and enumerates the payload (endpoints and USDG prices per million tokens). It never uses an explicit verb like 'list', and it does not distinguish itself from siblings such as list_packages, but the resource and returned fields are unambiguous.
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?
There is no when-to-use guidance, no mention of alternatives (quote_inference, ask_model, get_package), and no stated preconditions. The single word 'Free' hints that no wallet/payment step is required, but that is an inference the agent must draw, not stated usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_packagesList packagesA
List live packages in the Agentware library, newest first, with price, scan score, reviews and sales. Filter by kind and category. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | skill, prompt, mcp, workflow or code | |
| limit | No | How many to return. Default 25. | |
| category | No | payments, onchain, research, coding, devops, data, content, security or other |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It usefully discloses that only live packages are returned, the sort order (newest first), and that the call is free (meaningful given paid siblings like quote_purchase and buy_package), but says nothing about pagination behavior, auth requirements, or rate limits.
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 tight sentences with zero filler, front-loaded with purpose then filtering then cost. Every clause carries information an agent can act on.
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?
With no annotations and no output schema, the description compensates by enumerating the returned fields and the sort order, which is exactly what the agent needs to judge usefulness. The remaining gap is pagination/limit semantics, which is partly covered by the schema's limit parameter.
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%, with enum values fully enumerated for kind and category and a documented default for limit, so the baseline is 3. The description names kind and category but adds no syntax, default, or cap information beyond what the schema already states.
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?
States a specific verb and resource (list live packages in the Agentware library) plus scope details: newest-first ordering and the returned fields (price, scan score, reviews, sales). This distinguishes it from get_package (singular retrieval) and list_models (a different resource) without the agent needing to open any 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?
"Filter by kind and category" implies the browsing/filtering use case, and there is no notion of when NOT to use it or which sibling to prefer. No routing to get_package for single-package lookups or to list_models for other resource types, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
quote_inferenceQuote a model callA
The exact USDG price of one model call for the given messages and max_tokens, without paying. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| model | Yes | Model key from list_models, for example claude-sonnet-5 | |
| messages | Yes | ||
| max_tokens | No | Output budget you pay for. Default 2048. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral burden. It discloses that the operation is free and involves no payment, which is the key trait, but it does not explicitly state that it is read-only, does not execute inference, or whether any authentication is required.
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 short sentences, front-loaded with the exact price quote purpose. 'Free.' slightly restates 'without paying', but the size is appropriate and no sentence is wasted.
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 three-parameter read-only quote tool with no output schema, the description supplies the return meaning (exact USDG price) and the key no-charge property. It does not cover edge cases or error behavior, but those are minor for this complexity.
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 67%, so the schema documents model, max_tokens defaults, and nested message items. The description only mentions messages and max_tokens and adds no extra syntax or constraints beyond the schema, leaving parameter explanation mostly to the structured fields.
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 names a specific resource (the exact USDG price of one model call) and the inputs (messages, max_tokens), and the phrase 'without paying. Free.' distinguishes it from paid sibling ask_model. An agent can identify its function without opening 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?
It conveys clear context (get a no-cost price quote) but does not name ask_model or state explicitly when to prefer this over it. The implied usage is strong, yet no alternatives or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
quote_purchaseQuote a package purchaseA
Ask what buying a package costs without paying. Returns the exact 10% platform fee from the 402 terms; the seller gets the remaining 90%. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| packageId | Yes | The onchain packageId, from list_packages |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does useful work: it discloses that the call is free, that it has no payment side effect ('without paying'), and that the returned figure is a 10% platform fee with 90% going to the seller. It stops short of stating auth requirements or rate limits, but the cost/non-mutation profile is clearly conveyed.
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 short sentences, front-loaded with the core action before the fee detail. The 90/10 split sentence is slightly more than strictly needed for calling the tool, but it justifies its place by telling the agent what value to expect.
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 one-parameter read-only quoting tool with no output schema needed, the description covers purpose, cost model, and the absence of payment. Only auth/error behavior is left unstated, which is a minor gap at this complexity.
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 single packageId parameter is fully documented in the schema (100% coverage), including its source ('from list_packages'), so the description adds nothing beyond it. A baseline 3 is appropriate when the schema already 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 states a specific verb and resource: getting the cost of buying a package without paying. The phrase 'without paying' implicitly contrasts with the sibling buy_package, but neither that sibling nor any other tool is named, so the differentiation is inferable rather than explicit.
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?
Usage is implied by 'without paying' — call this when you want pricing before committing to buy_package. However, there is no explicit when-to-use/when-not statement and no alternative tool is named for comparison against buy_package or quote_inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wallet_statusWallet statusA
The agent wallet on Robinhood Chain: address, USDG balance, ETH balance, whether Permit2 is approved, and the spend cap. AGENT_KEY is not set, so this tool will fail until a wallet is configured.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does meaningfully disclose behavior: the tool is a read of wallet state and it will hard-fail when AGENT_KEY is unset. It omits details such as required permissions beyond the key, caching, or rate limits, which keeps it short of a 5.
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: the first front-loads the returned fields, the second front-loads the failure condition. No filler, and the most actionable caveat is not buried.
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?
With no output schema and no annotations, the description compensates well by enumerating the returned fields and flagging the configuration prerequisite. It is nearly complete for a zero-param read tool, missing only minor details like whether the call itself provisions a wallet or where the spend cap originates.
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 tool takes zero parameters, so the baseline is 4 and there is nothing for the description to disambiguate. No parameter-level claims are made, and none are needed.
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?
Names a specific resource (the agent wallet on Robinhood Chain) and enumerates exactly what it reports: address, USDG balance, ETH balance, Permit2 approval state, and spend cap. This is far beyond a restatement of the name and lets an agent know precisely what information it retrieves.
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 a clear operational prerequisite ('AGENT_KEY is not set, so this tool will fail until a wallet is configured'), which tells the agent when the call is viable. It does not name alternatives, but no sibling tool overlaps with wallet-status retrieval, so routing guidance is largely unnecessary here.
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
v0.1.0- First observed
agent_guide - First observed
ask_model - First observed
buy_package - First observed
get_package - First observed
list_models - First observed
list_packages - First observed
quote_inference - First observed
quote_purchase - First observed
wallet_status
TDQS
Scored across 9 tools
Each tool maps to a distinct resource-plus-action: listing vs. fetching packages, listing models, quoting a package purchase vs. quoting a model call, and the two paid executions (buy_package vs. ask_model). The quote_purchase/quote_inference pair is clearly scoped to different resources, so an agent can select confidently.
The verb_noun pattern dominates (list_packages, get_package, list_models, quote_purchase, quote_inference, buy_package, ask_model). A couple of tools break the pattern as bare nouns (agent_guide, wallet_status), but overall it reads consistently.
Nine tools is well-scoped for a marketplace agent: discovery, inspection, quoting, payment, and wallet management each get just one or two entries. No redundant or filler tools.
The buy/discover/quote/pay lifecycle is well covered, including scan-report inspection and a wallet-status check that supports the paid flows. Minor gaps exist—no separate review-listing or publishing/selling path—but the core buyer/consumer workflows are complete.
Maintenance
Related MCP Connectors
Discover and pay for APIs with USDC credits. No wallet, no gas, MCP-native marketplace.
MCP marketplace: AI agents buy services from other agents per call in USDC, plus a bank cash-out
Prepaid inference for agents over hosted MCP. Chat, image, and video.
Pay-per-use tool marketplace for AI agents. Search, price-check, and call APIs via MCP.
Related MCP Servers
FlicenseNot gradedqualityFmaintenanceEnables AI agents to discover and pay for monetized services such as PDF processing and DeFi operations using USDC on the Base blockchain. It provides automatic payment processing and secure local wallet management for seamless integration with MCP-compatible clients.14 npm-- AlicenseAqualityBmaintenanceEnables AI agents to discover, inspect, and pay for paid HTTP and MCP services using USDC on Solana with a self-custodial wallet.439 npm7Apache 2.0
- AlicenseAqualityDmaintenanceEnables AI agents to interact with Robinhood Chain via USDG payments, offering tools for balance, pricing, trading, and more.1858MIT
- AlicenseAqualityDmaintenanceEnables AI agents to discover, subscribe to, and call paid agent services from the AgentStorefront marketplace directly within MCP-aware clients like Claude or Cursor.434 npmMIT