fry-x402-mcp
OfficialProvides tools for interacting with the Algorand blockchain, including DeFi/DePIN data feeds, staking, LP farming, Genesis NFT mint, P2P offers, and transaction submission.
Click on "Install 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., "@fry-x402-mcpshow me the farm pool analytics"
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.
fry-x402-mcp
MCP server that exposes the fry.farm x402 agentic actions API as tools any MCP client (Claude Desktop, Claude Code, custom agents) can call.
15 pay-per-call endpoints on Algorand mainnet, priced $0.001–$0.01 in USDC (ASA 31566704): 3 DeFi/DePIN data feeds + 12 transaction actions (staking, LP farming, Genesis NFT mint, P2P offers, submit, status).
Non-custodial: build tools return unsigned atomic groups. Your agent signs with its own wallet and submits via
x402_submit. fry.farm never holds keys.No API keys, no accounts — x402 (v2, scheme
exact) payment is the only auth. Payments verify and settle through the GoPlausible facilitator.Catalog-driven: tools are auto-generated at startup from the live, free
/x402/catalog;x402_catalog_refreshpicks up changes without a restart.
Quickstart
git clone https://github.com/Fry-Foundation/fry-x402-mcp.git
cd fry-x402-mcp
npm install && npm run buildClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"fry-x402": {
"command": "node",
"args": ["/absolute/path/to/fry-x402-mcp/dist/index.js"],
"env": {
"AGENT_MNEMONIC": "your 25-word agent wallet mnemonic",
"MAX_PAYMENT_USDC": "0.05"
}
}
}
}Generic MCP client (stdio)
Run node dist/index.js with the env vars below; speak MCP over stdio.
Env var | Required | Default | Purpose |
| for paid tools | — | The agent's OWN Algorand wallet (25 words). Signs x402 payments and is the |
| no |
| Hard per-call spend ceiling; payment requirements above it are refused. |
| no | public node | Override the Algorand node used by the payment client. |
| no | — | Sent as |
| no |
| Single API base (unprefixed tool names). |
| no | — | Comma-list of API bases for multi-property use. Each base's tools are prefixed with a short property tag ( |
Multi-property example (Claude Desktop env)
"FRY_X402_BASES": "https://fry.farm,https://fry.market",
"ALGOD_TOKEN": "<node token if required>"Related MCP server: algorand-mcp
Tools
Tool | Price | What it does |
| free | Live catalog: endpoints, prices, params, payment requirements |
| free | Re-fetch catalog, regenerate tools |
| $0.01 | DePIN device-staking pool telemetry |
| $0.008 | Farming/pool analytics (pools, TVL, positions) |
| $0.005 | FRY reward emission, daily budget, leaderboard |
| $0.01 | Build FryStaking V3 groups |
| $0.01 | Build FryFarming groups |
| $0.01 | Build Genesis NFT mint group (currently paused on-chain) |
| $0.01 | Build P2P offer groups |
| $0.005 | Submit a signed group; waits ≤8 rounds |
| $0.001 | Tx status by txid |
Typical agent journey: x402_catalog → x402_staking_stake (returns unsigned group) → sign locally → x402_submit → x402_status.
Security notes — read before configuring
AGENT_MNEMONICis the agent's wallet, not your main wallet. Fund it with only what the agent should be able to spend (USDC for x402 fees + the amounts it will transact + ALGO for txn fees).The mnemonic is read once from the environment and held in process memory only — never logged, never written to disk, never sent anywhere. Payments are signed locally; only signed payment payloads leave the process.
MAX_PAYMENT_USDCcaps each x402 payment client-side. On-chain action amounts (stake sizes etc.) are separate — they are whatever your agent asks to build and sign.Every paid response includes the
paymentReceiptheader content when the facilitator settles the payment.
License
MIT © Fry Foundation
Available Tools
17 toolsx402_catalogA
FREE — fetch the live https://fry.farm x402 catalog: every endpoint, price, param spec, and full x402 payment requirements.
| 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. It conveys that the operation is a 'live' and 'FREE' fetch, suggesting a read-only, non-destructive action with current data. However, it does not disclose caching behavior, error handling, or side effects, leaving some behavioral transparency gaps.
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, front-loaded sentence that immediately states the action and resource. It is concise with no extraneous words, earning every character.
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?
Since there is no output schema, the description correctly explains the return content by naming the catalog's contents (endpoints, prices, param specs, payment requirements). It does not specify the return format or pagination, but for a simple 0-param fetch, the information is fairly complete.
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 has zero parameters, so the schema is vacuously complete. Per the baseline of 4 for 0-param tools, the description does not need to explain parameter semantics, and it appropriately omits any parameter details.
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 fetches the live x402 catalog from fry.farm, listing specific contents (endpoints, prices, param specs, payment requirements). This distinguishes it from sibling tools like x402_catalog_refresh, which implies a refresh action rather than a fetch.
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 implies usage when the current catalog information is needed, but does not explicitly contrast it with alternatives like x402_catalog_refresh. The 'live' qualifier and 'FREE' hint at when to use it, but there is no direct guidance on selection among sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_catalog_refreshA
FREE — re-fetch the live https://fry.farm x402 catalog and regenerate its catalog-derived tools (picks up new/removed/re-priced endpoints).
| 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 burden for behavioral disclosure. It reveals that the tool re-fetches and regenerates tools, which is a significant side effect, but it does not elaborate on whether this is destructive, how it affects existing tools, or any potential consequences. The behavior is partially disclosed but not thoroughly.
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, compact sentence that front-loads the key information: 'FREE' and the action of re-fetching/regenerating. Every word contributes to understanding the tool's purpose and effect. No unnecessary repetition or fluff.
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 (no params, no output schema), and the description explains its main action and consequence. However, it does not mention what the tool returns, whether it requires authentication, or the precise scope of 'regenerate' (e.g., immediate tool updates vs. next session). Given the absence of an output schema, a bit more detail would improve completeness.
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 has zero parameters, and the schema coverage is 100% (vacuously). The baseline for no parameters is 4, and the description does not need to explain parameter semantics. It adds no param-related info, but none is 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?
The description clearly states the tool re-fetches the live x402 catalog and regenerates catalog-derived tools. It uses a specific verb ('re-fetch') and resource ('catalog'), and mentions the effect (picking up new/removed/re-priced endpoints), distinguishing it from the read-only sibling tool x402_catalog.
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 implies the tool should be used to refresh the catalog and its derived tools, but it does not explicitly state when to use it versus alternatives or when not to use it. It gives context ('FREE', 'picks up new/removed/re-priced endpoints') but lacks explicit usage boundaries or alternative references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_farmA
PAID $0.008 USDC — farming/pool analytics (pools, TVL, positions). Returns live JSON from https://fry.farm.
| 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 burden of behavioral disclosure. It usefully discloses the paid cost ($0.008 USDC) and that it fetches live JSON from an external URL. However, it does not explicitly state whether the tool is read-only or if there are side effects, though the analytics nature implies a safe read operation.
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 short sentences, front-loading the cost and immediately stating the purpose and data source. Every word earns its place with no redundancy or unnecessary detail.
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 no-parameter analytics tool, the description provides enough context: it names the data source, key metrics (pools, TVL, positions), and output format (live JSON). It lacks an explicit return structure, but the live JSON format and listed metrics give sufficient clarity for the tool's simplicity.
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 has zero parameters, and the empty input schema covers 100% of parameters by default. The description adds no parameter-specific information, but none is needed; the baseline score of 4 applies for a zero-parameter tool.
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 provides farming/pool analytics (pools, TVL, positions) and returns live JSON from fry.farm. It distinguishes itself from sibling staking tools by focusing on analytics rather than actions, though the verb is implied via 'Returns live JSON' rather than an explicit command.
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?
No guidance is provided about when to use this tool versus sibling tools like x402_lp_farm_stake or x402_lp_farm_claim. The description does not mention alternatives, exclusions, or conditions under which this tool should be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_fleetA
PAID $0.01 USDC — DePIN device-staking pool telemetry. Returns live JSON from https://fry.farm.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It discloses the $0.01 USDC payment requirement and states the output is live JSON from a specific URL, which are important behavioral traits. It does not mention failure modes or explicitly confirm read-only status, but the telemetry/returns language strongly implies a read operation.
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 with no filler: the payment is front-loaded, followed by the resource and return type. Every clause adds meaningful information.
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 tool, the description is adequate, but it lacks details on the JSON structure and does not explain how 'fleet' telemetry differs from related tools like x402_status or x402_farm. Since there is no output schema or annotations, the description could have provided more context about the response content.
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 has zero parameters and an empty input schema, so schema description coverage is effectively 100%. The baseline of 4 applies, and the description correctly omits parameter details since there are none to document.
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 the tool returns live JSON telemetry for a DePIN device-staking pool, which is a specific resource and read-like behavior. It does not use an explicit action verb like 'fetch' or 'get', and it does not differentiate itself from sibling tools, but the purpose is clear.
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 phrase 'DePIN device-staking pool telemetry' implies this is for retrieving telemetry, but there is no explicit statement of when to use it versus alternatives like x402_status or x402_farm. No when-not or alternative guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_genesis_mintA
PAID $0.01 USDC — genesis-mint/mint: 2-txn group: [axfer USDC mint_price -> app addr, appl mint(axfer) with owner/balance boxes, foreignAsset USDC, account treasury]. Sign with your own wallet, then call the submit tool. [PAUSED on-chain: On-chain paused; group builds correctly but the contract rejects until unpaused.]
| Name | Required | Description | Default |
|---|---|---|---|
| sender | Yes | address (agent wallet, must hold mint_price USDC + be opted into the NFT ASA flow) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden. It discloses the $0.01 USDC cost, the 2-transaction structure, the need to hold USDC and opt into the ASA flow, and the current paused state. It also clarifies that the group builds locally but the contract rejects on-chain, which is valuable behavioral context.
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 dense and packed into a run-on sentence with bracket-laden transaction details. It is not poorly sized, but the structure is clunky and could be clearer with bullet points or more separation between the workflow, cost, and pause status.
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 (transaction group, signing, submission, cost, pause state), the description covers all key aspects. It doesn't explicitly describe the return value, but the instruction to call submit tool implies the output is a signed transaction, which is sufficient context.
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 description already explains the sender must hold mint_price USDC and be opted into the NFT ASA flow. The tool description adds cost context but does not significantly enhance parameter understanding beyond 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 identifies the tool as 'genesis-mint/mint' and specifies it builds a 2-transaction group for a paid mint. It distinguishes itself from sibling tools (farm, stake, p2p) by focusing on the mint operation, though it lacks a simple verb-first phrasing.
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 instructs to sign with your own wallet and then call the submit tool, providing a clear workflow. Also warns that the contract is paused on-chain, telling users not to expect success currently—this is a strong when-not-to-use signal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_lp_farm_claimA
PAID $0.01 USDC — lp-farm/claim: 1-txn group: [appl claimRewards()] flat fee 0.002 ALGO. Sign with your own wallet, then call the submit tool.
| Name | Required | Description | Default |
|---|---|---|---|
| sender | Yes | address | |
| farmingId | Yes | uint64 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses that it is a 1-transaction group, has a payment requirement, incurs a fee, and requires local signing. It does not explicitly describe the outcome (rewards transferred to the sender) or the return value, but the function name partially covers this.
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 compact and information-dense, covering cost, transaction type, and workflow in two sentences. However, the use of abbreviations like 'appl' and the telegraphic style reduce readability, though no words are 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?
The tool appears to be a transaction builder that requires signing and submission via a separate tool. The description covers the workflow and costs but does not define the output (likely a signed transaction) or how to acquire a `farmingId`, leaving some gaps given the absence of an output 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?
The schema already provides descriptions for both parameters (address, uint64), achieving 100% coverage. The description adds no extra context about how to obtain `farmingId` or what `sender` must be, so it does not exceed 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 identifies this as a claim operation on an LP farm via the `claimRewards()` app call, distinguishing it from stake/unstake siblings. The purpose is clear despite the heavy use of technical shorthand.
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 explicitly instructs the user to sign with their own wallet and then call the submit tool, providing a clear workflow. It includes cost details (PAID $0.01 USDC, flat fee 0.002 ALGO), but does not explicitly contrast with stake/unstake or explain when claiming is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_lp_farm_stakeB
PAID $0.01 USDC — lp-farm/stake: 4-txn group: [pay boxMBR->app, stakePay->app, stakeAxfer->app, appl stakeTokens(uint64,uint64,pay,axfer,pay)]. Sign with your own wallet, then call the submit tool.
| Name | Required | Description | Default |
|---|---|---|---|
| sender | Yes | address | |
| farmingId | Yes | uint64 pool app id | |
| updatedApr | No | uint64 optional | |
| stakeAmount | Yes | uint64 (LP base units) | |
| stakeTokenId | No | uint64 (0=native; optional, read from pool) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the fee ($0.01 USDC), the multi-transaction structure (4-txn group), and the two-step workflow (sign then submit). This is valuable context beyond a simple action, though it doesn't detail side effects or reversibility.
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 dense sentence that packs in fee, operation, transaction list, and workflow. It is concise and information-dense, though the heavy use of technical shorthand may hinder readability for a non-expert. Every part contributes specific detail.
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 explains the transaction flow and signing requirement well, but it omits the expected outcome or return value, and doesn't mention prerequisites like having LP tokens or prior approvals. For a complex multi-step operation, this is a moderate gap. The presence of siblings adds some contextual context, but the description alone is not fully complete.
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%, so parameters are fully documented in the schema. The description adds the transaction signature 'stakeTokens(uint64,uint64,pay,axfer,pay)' but doesn't map it to named parameters or clarify their roles beyond what schema descriptions already provide. It adds minimal value over 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 clearly indicates the tool stakes LP tokens into a farm, naming the operation 'lp-farm/stake' and breaking down the 4-transaction group. It implicitly distinguishes from siblings like unstake and claim, though it doesn't explicitly contrast them. The technical detail adds specificity but lacks a plain-English statement of the action.
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?
No guidance on when to use this tool versus alternatives like unstake or claim. The only instruction is procedural: 'Sign with your own wallet, then call the submit tool.' This does not help an agent decide when to invoke this tool over its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_lp_farm_unstakeB
PAID $0.01 USDC — lp-farm/unstake: 1-txn group: [appl unstakeTokens(unstakeAmount)] flat fee 0.003 ALGO. Sign with your own wallet, then call the submit tool.
| Name | Required | Description | Default |
|---|---|---|---|
| sender | Yes | address | |
| farmingId | Yes | uint64 | |
| unstakeAmount | Yes | uint64 (LP base units) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description discloses important behavioral details: the cost (paid USDC and ALGO fee), the single-transaction group structure, and the signing flow. It does not mention side effects like token return or failure modes, but the fee and process transparency is valuable.
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 sentence that front-loads the cost and transaction type, making it compact. However, the code-like notation reduces readability, and terms like '1-txn group' and 'appl' are not explained, making it less accessible 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?
The description covers the transactional flow, cost, and required submit step, which is significant given the absence of an output schema. It does not explain the consequences of unstaking (e.g., tokens returned to sender) or any preconditions, leaving some context gaps for a financial operation.
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 schema already provides 100% description coverage for all three parameters (address, uint64, uint64 LP base units). The description only references unstakeAmount in the appl call and adds no new semantic detail beyond the schema, matching the baseline for full 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 identifies the action via 'lp-farm/unstake' and the appl call 'unstakeTokens(unstakeAmount)', making the resource and operation clear. It is somewhat jargon-heavy and lacks a plain-language statement, but it distinguishes from sibling stake/claim tools by naming the unstake action.
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 mentions a required follow-up ('call the submit tool') but provides no guidance on when to use this tool versus alternatives like x402_staking_unstake or when staking might be more appropriate. It does not state prerequisites such as having an existing LP farm position.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_p2p_acceptA
PAID $0.01 USDC — p2p/accept: 2-txn group: [pay ALGO->app, appl accept_offer_algo(uint64 offerId, pay)] with offer box ref, fee 0.005 ALGO. Sign with your own wallet, then call the submit tool.
| Name | Required | Description | Default |
|---|---|---|---|
| sender | Yes | address | |
| offerId | Yes | uint64 | |
| payAmount | Yes | uint64 ALGO base units to pay the maker |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the transaction group structure, the fee of 0.005 ALGO, the need for signing, and the follow-up submission step. However, the opening 'PAID $0.01 USDC' is ambiguous and could confuse the agent about whether it is a cost or reward.
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, dense sentence packing in transaction details, fee, and workflow. It is not verbose, but the cryptic shorthand (ALGO->app, appl) and the puzzling 'PAID $0.01 USDC' prefix reduce readability and clarity. It sits between minimal and well-structured.
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 complex tool with no output schema, the description covers the essential mechanics: the transaction group, fee, signing requirement, and next step (submit tool). It does not explain return values, but the instruction to call submit implies the tool produces something to be submitted. This is reasonably complete.
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 already provides 100% coverage with clear descriptions for sender, offerId, and payAmount. The description reinforces the roles of offerId and payAmount in the method call ('appl accept_offer_algo(uint64 offerId, pay)') but adds little beyond what the schema already states. 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 clearly states it is a 'p2p/accept' operation, detailing the 2-transaction group (pay ALGO to app and call accept_offer_algo). This specific verb+resource pairing (accept an offer) distinguishes it from sibling tools like create and cancel.
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 a clear workflow: 'Sign with your own wallet, then call the submit tool.' It implies the tool is used to accept an existing offer in a P2P exchange, but it does not explicitly state when not to use it or name alternatives. The context is clear enough for a 4, not a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_p2p_cancelA
PAID $0.01 USDC — p2p/cancel: 1-txn group: [appl cancel_offer(offerId)] with offer box ref, fee 0.002 ALGO. Sign with your own wallet, then call the submit tool.
| Name | Required | Description | Default |
|---|---|---|---|
| sender | Yes | address (offer maker) | |
| offerId | Yes | uint64 |
TDQS
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 the cost ($0.01 USDC), the ALGO fee (0.002), the single-transaction group structure, the need for a wallet signature, and the follow-up submit step. This is substantial behavioral information beyond what a naked tool name would imply.
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 entire description is one dense, front-loaded sentence that packs cost, transaction type, method call, fee, and workflow into a compact format. There is no wasted text; every element 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?
Given the tool's simplicity (2 parameters, no output schema, no annotations), the description provides a complete picture: what action occurs, the transaction structure, fees, and the required next step. It does not explicitly state what the tool returns, but the sign-then-submit instruction implies a transaction object, which suffices for 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 schema already describes both parameters, with coverage at 100%. The description adds value by clarifying 'sender' is the offer maker and 'offerId' is passed directly to cancel_offer, strengthening the semantic link between parameters and the operation.
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 identifies the operation as 'p2p/cancel' and specifies the exact application call 'cancel_offer(offerId)', distinguishing it from sibling tools like x402_p2p_create and x402_p2p_accept. The verb-resource pairing is precise and 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?
It provides explicit workflow guidance: sign with your own wallet and then call the submit tool. It also notes the transaction group composition and fee, giving clear context for when to use it. However, it does not explicitly state when not to use it or compare it to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_p2p_createA
PAID $0.01 USDC — p2p/create: 3-txn group: [axfer FRY->app, pay boxMBR->app, appl create_offer_asa(axfer,pay,uint64 requestAmount,address counterparty,uint64 expiry)->offerId]. Sign with your own wallet, then call the submit tool.
| Name | Required | Description | Default |
|---|---|---|---|
| expiry | No | uint64 unix secs optional (0 = none) | |
| sender | Yes | address | |
| offerAmount | Yes | uint64 FRY base units to escrow | |
| counterparty | No | address optional (zero addr = open) | |
| offerAssetId | No | uint64 optional (default FRY) | |
| requestAmount | Yes | uint64 ALGO base units requested |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It discloses the paid fee ($0.01 USDC), the exact transaction group structure, the need for user signing, and the follow-up submit step. This gives a clear picture of side effects and required actions, though some details like cancelability are absent.
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 dense sentence that packs necessary operational details: cost, transaction structure, and required follow-up. It is concise and front-loaded, though somewhat run-on and technical.
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 complexity of a 3-transaction group with 6 parameters and no output schema, the description provides substantial context: the operation, cost, transaction sequence, output (offerId), and next step. It is nearly complete, though it could mention prerequisites like wallet setup or asset IDs.
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 already provides 100% parameter coverage with descriptions. The description adds context by mapping parameters (requestAmount, counterparty, expiry) into the transaction group, but does not enrich parameter meaning beyond what the schema states. Hence the 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 clearly identifies the tool as creating a p2p offer via 'p2p/create' and details the specific 3-transaction group. This distinguishes it from siblings like x402_p2p_accept and x402_p2p_cancel.
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 explains the flow ('Sign with your own wallet, then call the submit tool') but does not explicitly contrast when to use this tool versus alternatives such as x402_p2p_accept or x402_p2p_cancel. Usage is implied rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_rewardsB
PAID $0.005 USDC — FRY reward emission, daily budget, leaderboard. Returns live JSON from https://fry.farm.
| 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 must cover behavioral semantics. It mentions 'PAID $0.005 USDC' and 'Returns live JSON', implying a cost and a read-only operation, but it does not clarify whether the cost is a fee to the agent or a reward amount, nor does it disclose auth requirements or rate limits. The payment detail is ambiguous.
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, concise sentence that efficiently packs cost, topic, return type, and source. It is front-loaded and contains no filler words.
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 (no params, no output schema), but the payment ambiguity and lack of explicit details about the response structure make it only partially complete. The minimal description leaves uncertainty about whether this is a read or a claim action, but for a zero-parameter JSON-fetch tool it is somewhat adequate.
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 has zero parameters, so the description does not need to explain any. The baseline for 0 parameters is 4, and the description adds no conflicting parameter information.
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 (FRY reward emission, daily budget, leaderboard) and states that it returns live JSON from https://fry.farm, which indicates a read operation. However, it lacks an explicit verb like 'get' or 'fetch', and the 'PAID $0.005 USDC' prefix is ambiguous, so the overall purpose is somewhat unclear.
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?
No guidance is provided on when to use this tool versus its siblings such as x402_farm or x402_status. The description only mentions the source URL without any context on selecting this tool over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_staking_claimA
PAID $0.01 USDC — staking/claim: 1-txn group: [appl claimTokens(updatedApr)] flat fee 0.002 ALGO. Sign with your own wallet, then call the submit tool.
| Name | Required | Description | Default |
|---|---|---|---|
| sender | Yes | address | |
| stakingId | Yes | uint64 | |
| updatedApr | No | uint64 optional |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the transparency burden. It discloses the costs involved ('PAID $0.01 USDC', 'flat fee 0.002 ALGO') and clarifies that the user must sign the transaction, meaning the tool generates a transaction rather than executing it directly. This is important behavioral context beyond the schema.
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 extremely terse, packing multiple pieces of information into a compact string. Every element (fee, transaction group, signing instruction) has purpose, but the syntax is cryptic with colons and technical abbreviations, making it less approachable. It is concise but could be clearer in structure.
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 claim operation with no output schema and no annotations, the description covers the essential workflow (sign and submit) and costs. However, it lacks context about prerequisites (e.g., must have staked first), what the claim returns, or potential failure modes. It is adequate for a technical audience but incomplete for full autonomous use.
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 parameters (sender, stakingId, updatedApr). The description mentions updatedApr within the claimTokens call, adding slight context about its role in the transaction, but does not significantly enhance parameter understanding beyond the schema. 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 identifies the tool as a staking claim operation via the phrase 'staking/claim' and the applause call 'claimTokens'. It clearly implies claiming tokens from staking, distinguishing from sibling tools like x402_lp_farm_claim and x402_staking_unstake. However, it does not explicitly state 'claim staking rewards' as a complete phrase, leaving minor ambiguity.
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 clear usage context: 'Sign with your own wallet, then call the submit tool.' This tells the agent that the tool only prepares a transaction and that a subsequent submission step is required. It does not explicitly state when not to use it or name alternative tools, but the workflow guidance is valuable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_staking_stakeA
PAID $0.01 USDC — staking/stake: 4-txn group: [pay boxMBR->app, stakePay->app, stakeAxfer->app, appl stakeTokens(uint64,uint64,pay,axfer,pay)]. Sign with your own wallet, then call the submit tool.
| Name | Required | Description | Default |
|---|---|---|---|
| sender | Yes | address (agent wallet) | |
| stakingId | Yes | uint64 pool app id | |
| updatedApr | No | uint64 optional (computed from pool state if omitted) | |
| stakeAmount | Yes | uint64 (base units) | |
| stakeTokenId | No | uint64 (0=native ALGO; optional, read from pool if omitted) |
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 well by disclosing the paid cost ($0.01 USDC), the multi-transaction group composition, and the signing/submission flow. This goes beyond the schema and gives the agent a concrete sense of behavioral side effects.
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 compact, packing cost, transaction structure, and workflow into two sentences. The density of the transaction-group notation makes it less readable, but every element earns its place by conveying necessary operational details.
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 and lack of output schema, the description provides a helpful workflow overview but omits prerequisites (e.g., box minimum balance) and potential error/failure behavior. It is complete enough for a straightforward interpretation but leaves room for more operational context.
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%, so the baseline is 3. The description adds little parameter-specific meaning beyond the schema, referencing 'stakeTokens(uint64,uint64,pay,axfer,pay)' in a technical shorthand that does not clarify units or optionality beyond the schema's own descriptions.
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 tool as 'staking/stake' and elaborates with a 4-transaction group structure, which clarifies it prepares a staking operation. It distinguishes from siblings like unstake and claim by naming the specific staking action, though the opening is somewhat redundant with the tool name.
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 implies usage when staking is desired and instructs to sign and then call the submit tool, giving a clear workflow. However, it does not explicitly contrast with alternatives like x402_lp_farm_stake or provide conditions for 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.
x402_staking_unstakeA
PAID $0.01 USDC — staking/unstake: 1-txn group: [appl unstakeTokens(unstakeAmount, updatedApr)] flat fee 0.003 ALGO. Sign with your own wallet, then call the submit tool.
| Name | Required | Description | Default |
|---|---|---|---|
| sender | Yes | address | |
| stakingId | Yes | uint64 | |
| updatedApr | No | uint64 optional | |
| unstakeAmount | Yes | uint64 (base units) |
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 well: it discloses the cost ($0.01 USDC), the flat fee (0.003 ALGO), the transactional atomicity (1-txn group), and the critical fact that this tool requires external signing and a separate submit step. It does not explain side effects or reversibility, but these are notable disclosures.
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 dense sentence that front-loads the most important fact (cost) and packs in fee, transaction group, and workflow. The phrase 'staking/unstake:' is slightly awkward and redundant with the tool name, but there is no wasted content.
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 transaction-building tool with no output schema and no annotations, the description covers the essential context: cost, fee, atomicity, protocol to invoke, and the necessary follow-up submit step. It omits details like what `stakingId` refers to or what happens after successful submission, but is sufficient for an agent to use the tool correctly within the broader workflow.
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 schema already covers 100% of parameters, so the baseline is 3. The description adds only the app-call order (`unstakeTokens(unstakeAmount, updatedApr)`) but does not clarify the semantics of `sender`, `stakingId`, or the precise meaning of `updatedApr` beyond what the terse schema descriptions already provide.
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 identifies the action as an unstake operation via an application call (`unstakeTokens`) and specifically ties it to 'staking', distinguishing it from LP farm variants. However, it does not explicitly contrast with sibling tools like `x402_lp_farm_unstake` or state the exact resource being unstaked, which prevents a perfect score.
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 only usage guidance is the workflow: 'Sign with your own wallet, then call the submit tool.' This explains the sequence but not when to choose this tool over alternatives, when not to use it, or any prerequisites such as holding an active staking position.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_statusA
PAID $0.001 USDC — look up an Algorand transaction's pending/confirmed status by txid.
| Name | Required | Description | Default |
|---|---|---|---|
| txid | Yes | transaction id to look up |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses a notable behavioral trait: 'PAID $0.001 USDC' indicating a cost, and states the outcome (pending/confirmed status). However, it does not mention whether the operation is read-only, error handling, or return format details, leaving some gaps.
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, compact sentence that front-loads the cost signal ('PAID $0.001 USDC') and then immediately states the purpose. There is zero wasted wording, making it highly concise and well-structured.
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 lookup tool with no output schema, the description provides the essential context: purpose, input, and cost. It lacks details on return values or error cases, but these are less critical given the tool's simplicity and the clear status outcome mentioned.
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% — the schema already describes 'txid' as 'transaction id to look up'. The description's mention of 'by txid' adds no semantic value beyond the schema, so the 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 action: 'look up an Algorand transaction's pending/confirmed status by txid.' It specifies the resource (Algorand transaction) and the input (txid), making it distinct from sibling tools that perform actions like stake, unstake, or submit.
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?
No explicit when-to-use or alternatives are mentioned, but the description clearly implies this is for checking transaction status, likely after a submission. The distinction from action-oriented siblings is implicit rather than stated, so it meets the 'implied usage' level.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_submitA
PAID $0.005 USDC — submit a SIGNED atomic group to Algorand mainnet; waits up to 8 rounds for confirmation. Use after signing the unsigned group returned by a build tool.
| Name | Required | Description | Default |
|---|---|---|---|
| txnsB64 | Yes | base64-encoded SIGNED transactions of one atomic group (<=16), in group order |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the behavioral burden and does so well by disclosing a $0.005 USDC fee, the requirement for signed input, and waiting up to 8 rounds for confirmation. It doesn't cover failure behavior or irreversibility, but the main behavioral traits are 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?
Two compact sentences: the first front-loads the fee and core action, the second gives usage order. Every word earns its place with no redundancy or 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?
For a single-parameter submission tool with no annotations and no output schema, the description covers the key workflow: signed input, cost, and confirmation wait. It omits the return value/confirmation shape, but the essential context is present.
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 schema already fully describes txnsB64 as 'base64-encoded SIGNED transactions of one atomic group (<=16), in group order,' and the description adds little beyond emphasizing the signed state. With 100% schema coverage, the 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 action ('submit a SIGNED atomic group to Algorand mainnet') and clearly differentiates this tool from sibling x402 tools, which are about staking, farming, P2P, and catalog operations. The paid nature and confirmation wait are also valuable purpose-relevant details.
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 instructs when to use: 'Use after signing the unsigned group returned by a build tool.' This provides clear sequencing and context. It doesn't mention when not to use or name alternatives, but the guidance is strong enough for a submit tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a distinct purpose: LP farm actions, staking actions, P2P actions, and meta/analytics tools are clearly separated by prefix and description. Minor overlap exists between analytics (x402_farm) and LP farm actions (x402_lp_farm_*), but descriptions are explicit enough to avoid confusion.
All tools share the x402_ prefix and use underscores, but the pattern is mixed: some are domain_action (lp_farm_stake, p2p_accept), some are bare nouns (catalog, farm, status), and one is noun_verb (catalog_refresh). This reduces predictability, though the prefix helps maintain some coherence.
At 17 tools, the server is on the heavier side, but the breadth of functionality (staking, LP farming, P2P, genesis mint, analytics, and meta operations) justifies the count. Each tool covers a distinct operation, and the number feels appropriate for a multi-protocol DeFi server.
The tool set covers the full lifecycle for staking and LP farming (stake, unstake, claim), P2P offers (create, accept, cancel), and includes necessary companions like submit and status. Notable gaps include missing view/list tools for P2P offers and positions, but analytics tools partially fill this need, making the set reasonably complete.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Monetize any MCP server: x402 paywall, pay-per-call billing in USDC on Base, agent marketplace.
Pay-per-call DeFi and macro intel for AI agents. x402 USDC tools via streamable HTTP /api/mcp.
Metered MCP tools: free discovery over MCP; per-call execution settled in USDC via x402 v2.
Pay-per-action access to APIs and MCP tools over Lightning L402 and Base USDC x402.
Related MCP Servers
- FlicenseNot gradedqualityFmaintenanceMCP server with 12 tools enabling AI agents (Claude, ChatGPT) to manage Algorand-based subscriptions, including locking funds in vaults and automated payments.4
- AlicenseNot gradedqualityDmaintenanceA comprehensive Model Context Protocol (MCP) server providing 50+ tools for Algorand blockchain development, including account management, asset operations, smart contracts, API integration, swap functionality, and advanced transaction capabilities.25MIT

oom-x402-mcpofficial
FlicenseNot gradedqualityBmaintenanceMCP server exposing 1,000+ pay-per-call API endpoints across agent infrastructure (memory, coordination, secrets, verification), data, compute, finance, weather, geography, and reference categories — payments via x402 protocol in USDC on Base.- AlicenseNot gradedqualityCmaintenanceMCP server providing 50+ crypto, market intelligence, and AI inference endpoints with x402 pay-per-request micropayments on Base.1Apache 2.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Fry-Networks/fry-x402-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server