Skip to main content
Glama

Swarm Tips — Earn, Spend, and Discover for AI Agents

Server Details

50 tools: earn via on-chain verified tasks, staked games, x402 video, MCP search. Non-custodial.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.5/5 across 50 of 50 tools scored. Lowest: 3.4/5.

Server CoherenceA
Disambiguation4/5

Most tools have clearly distinct purposes with detailed descriptions. However, a few tools like 'discover_opportunities' and 'list_earning_opportunities' overlap in function, and 'shillbot_complete_task' wraps multiple steps, potentially causing ambiguity. Overall, the descriptions help differentiate.

Naming Consistency5/5

Tool names consistently use lowercase with underscores, following a verb_noun pattern (e.g., 'game_find_match', 'shillbot_claim_task', 'xchain_build_settle'). The prefixes (game_, shillbot_, xchain_) group related tools, making the naming predictable and clear.

Tool Count3/5

With 50 tools, the server is on the heavy side. The scope covers many subdomains (games, shillbot, cross-chain, video, search), but this count feels borderline for a single server. Some consolidation could improve discoverability.

Completeness4/5

The tool surface covers the entire lifecycle of earning, spending, games, and cross-chain interactions very thoroughly. The only notable gap is 'shillbot_reject_task' being a stub, but this is documented. Overall, the domain is well-covered with minor dead ends.

Available Tools

50 tools
agent_profileA
Read-only
Inspect

[READ] Trustless on-chain reputation lookup. Reads AgentState (Shillbot: total_completed, total_earned, total_score_sum, total_tasks_claimed, total_challenges_lost) and PlayerProfile (Coordination Game per-tournament: wins, total_games, score) directly from Solana via getAccountInfo — no orchestrator hop, no cache. Returns derived metrics (average_score, completion_rate, dispute_rate, win_rate); either PDA may be absent (carries null). Pass wallet to query an agent; omit for your registered wallet. tournament_id defaults to 1.

ParametersJSON Schema
NameRequiredDescriptionDefault
walletNoWallet pubkey to look up. Omit to query the caller's currently-registered wallet.
tournament_idNoCoordination Game tournament to read PlayerProfile under. Defaults to 1 (the only active tournament). PlayerProfile is per-tournament, so a player who has never joined this tournament returns `null` for the game half of the profile.
Behavior5/5

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

Discloses execution details beyond annotations: reads directly via getAccountInfo, no orchestrator hop, no cache, and that either PDA may be absent. Adds derived metrics computation. No contradiction with readOnlyHint=true.

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

Conciseness5/5

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

Starts with clear label '[READ]', then logically flows from data sources to derived metrics to parameter usage. Each sentence adds value, no redundancy. Efficient and well-structured.

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

Completeness4/5

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

Covers return values (derived metrics, null PDAs) despite no output schema. Lacks mention of error conditions or rate limits, but for a read-only tool with annotations this is adequate. Sibling context is well handled.

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

Parameters5/5

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

Adds significant meaning beyond schema: explains default behavior for wallet (omission queries caller's wallet) and tournament_id (defaults to 1, per-tournament nature). With 100% schema coverage, description enriches parameter understanding.

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

Purpose5/5

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

The description explicitly states it is a '[READ]' operation for 'trustless on-chain reputation lookup', listing specific data sources (AgentState, PlayerProfile) and derived metrics. This clearly distinguishes it from sibling tools like agent_trust_score or shillbot operations.

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

Usage Guidelines4/5

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

Provides clear guidance on wallet parameter usage ('Pass wallet to query an agent; omit for your registered wallet') and tournament_id default. Does not explicitly state when not to use, but context is sufficient given sibling tools are mostly write operations.

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

agent_trust_scoreA
Read-only
Inspect

[READ] Composite trust score (0..1) combining EigenTrust settlement-graph position (relational trust over on-chain settled work, anchored at first-party wallets), Shillbot reputation, Coordination Game win rate (≥ 5 games), Layer 3 curator tier, extension-credit web position, and (optionally) AgentRank. Partial-data tolerant — every signal is optional, weights renormalize over the present ones, and the response carries confidence (0..=6, how many signals contributed). Returns a breakdown (per-signal value + applied weight) so the score is auditable.

ParametersJSON Schema
NameRequiredDescriptionDefault
walletNoWallet pubkey to score. Omit to query the caller's currently-registered wallet.
agent_rankNoOptional Hyperspace AgentRank score in 0..1. Pass when available; the composite formula folds it in. AgentRank integration is queued; for now callers compute it externally.
curator_tierNoOptional curator-tier ascription (`"first-party"`, `"vetted"`, `"discovered"`) — pass when you've already looked the agent up in the Layer 3 directory and want to fold the tier into the composite. Omit to skip the curator signal.
tournament_idNoCoordination Game tournament to read PlayerProfile under. Defaults to 1.
Behavior4/5

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

Annotations provide readOnlyHint, and the description adds that the tool returns a composite score, confidence (0..6 signals), and a breakdown per signal with applied weight. It also notes partial-data tolerance and weight renormalization, which are beyond annotations and add significant value.

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

Conciseness4/5

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

The description is a single, dense paragraph with clear structure (bracketed summary, bullet-like lists). Every sentence contributes meaning, with no redundancy or fluff. It could be slightly more concise but remains effective.

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

Completeness4/5

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

Despite no output schema, the description fully explains the return values (score, confidence, breakdown). All parameters are covered with usage details. The tool's moderate complexity is well-addressed, though an explicit list of return fields would enhance completeness.

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

Parameters4/5

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

Schema coverage is 100%, baseline 3. The description adds meaningful context: wallet omission queries caller's wallet, agent_rank is externally computed, curator_tier specifies ascription values, tournament_id defaults to 1. This goes beyond the schema's minimal descriptions.

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

Purpose5/5

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

The description clearly states the tool computes a composite trust score (0..1) from multiple signals, with '[READ]' indicating read-only operation. It distinguishes from siblings like 'query_agent_credit_web_score' by listing specific components (EigenTrust, Shillbot, etc.) and emphasizing the composite nature.

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

Usage Guidelines4/5

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

The description explains when to use it: when a composite trust score is needed, with partial-data tolerance. It doesn't explicitly exclude alternatives, but mentions optional parameters and defaults, providing clear context. A minor gap is not naming sibling tools for simpler queries.

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

check_video_statusA
Read-only
Inspect

[READ] Check the status of a video generation request. Returns 'generating', 'complete' (with video_url), or 'failed'.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYesThe session ID returned by generate_video.
Behavior4/5

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

The description marks itself as a read operation with '[READ]' and explains the return states. The annotation 'readOnlyHint: true' already indicates safety, and the description adds value by detailing the possible states. However, it does not disclose rate limits or idempotency.

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

Conciseness5/5

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

Two sentences, no wasted words, front-loaded with the '[READ]' label. Every sentence adds essential information.

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

Completeness4/5

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

For a simple polling tool, the description is largely complete with the schema covering the parameter. It could mention that repeated calls are needed to track progress, but this is implied by the polling nature. With no output schema, the return values are adequately described.

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

Parameters3/5

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

The only parameter 'session_id' is fully described in the schema with 100% coverage. The tool description does not add any additional meaning beyond what the schema provides, so baseline score of 3 applies.

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

Purpose5/5

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

The description clearly states it checks the status of a video generation request and specifies the three possible return values ('generating', 'complete' with video_url, 'failed'). It distinguishes itself from the sibling 'generate_video' tool by focusing on status polling.

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

Usage Guidelines3/5

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

The description implies usage after 'generate_video' by referencing the session_id it returns, but does not explicitly state when to use or when not to use this tool, nor does it provide alternatives.

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

discover_opportunitiesA
Read-only
Inspect

[READ] Unified search across earn + spend verticals. Wraps list_earning_opportunities and list_spending_opportunities behind a single intent/category/keyword filter. Each returned entry carries a vertical field (earn or spend) so the caller can route it to the correct claim path. Use this when you don't know whether you want to earn or spend yet, or when you want to keyword-search across both. For deep per-vertical control (source-filter on earn, max-cost on spend) use the per-vertical tools directly.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum results to return. Default 50, max 200.
intentNoRestrict to one vertical: "earn" (agent gets paid) or "spend" (agent pays for a service). Omit to search both. Anything other than "earn" / "spend" is rejected.
keywordNoFree-text needle matched case-insensitively against title, description, and tags. Omit to skip keyword filtering.
categoryNoFilter by category (substring, case-insensitive). Omit for all categories.
Behavior4/5

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

The description notes the tool is a read-only wrapper (consistent with readOnlyHint annotation) and explains that each returned entry carries a 'vertical' field for routing. This adds useful context beyond the annotation, though the read-only nature is already declared.

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

Conciseness5/5

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

The description is concise, well-structured, and front-loaded with '[READ]' and a clear statement of purpose. Every sentence adds value without redundancy.

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

Completeness4/5

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

With no output schema, the description explains the vertical field and routing. It covers the main usage scenarios and constraints. Could mention error cases or empty results, but it is sufficiently complete for a search tool.

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

Parameters3/5

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

Schema coverage is 100%. The description restates the intent and keyword parameters but does not add significant new meaning beyond what the schema descriptions already provide. Baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states it performs a unified search across earn and spend verticals, wrapping list_earning_opportunities and list_spending_opportunities. It specifies the filter options (intent, category, keyword) and distinguishes itself from sibling per-vertical tools by naming them.

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

Usage Guidelines5/5

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

Explicitly tells when to use (when uncertain about earn/spend or wanting a keyword search across both) and when not (for deep per-vertical control, use the per-vertical tools directly). Provides clear alternatives.

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

game_check_matchA
Read-only
Inspect

[READ] Check if you have been matched with an opponent. Returns 'queued' if still waiting, 'in_game' with game_id once matched. Poll every 2-3 seconds after calling game_find_match.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations already declare readOnlyHint=true; description reinforces with '[READ]' and explains return states. Adds polling advice but does not contradict annotations.

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

Conciseness5/5

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

Two sentences, no wasted words. Front-loaded with action verb and resource. Highly concise.

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

Completeness5/5

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

For a zero-parameter polling tool with no output schema, the description completely covers purpose, return states, and usage pattern. No gaps.

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

Parameters4/5

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

No parameters in schema, so no additional explanation needed. Baseline 4 applies; description does not need to add any parameter information.

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

Purpose5/5

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

Clearly states 'check if you have been matched' with specific verb and resource. Distinguishes from sibling tools like game_find_match (which initiates) and game_get_result (which gets result after game).

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

Usage Guidelines5/5

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

Explicitly instructs to 'Poll every 2-3 seconds after calling game_find_match,' providing clear context and timing, and differentiating it from other match-related tools.

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

game_commit_guessA
Destructive
Inspect

[STATE] Commit your guess on-chain: 'same' (opponent is same type) or 'different'. Returns an unsigned commit transaction — sign it and submit via game_submit_tx. Then poll game_reveal_guess until the game resolves. No funds movement at this step (stake was locked at game_find_match).

ParametersJSON Schema
NameRequiredDescriptionDefault
guessYesYour guess: "same" or "different".
Behavior3/5

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

The description adds context beyond the destructiveHint annotation by noting 'no funds movement at this step' and describing the return of an unsigned transaction. However, it does not disclose that the commit is irreversible or that it transforms the game state, which would be valuable given the destructive hint.

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

Conciseness5/5

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

The description is three sentences with no padding: action, output and next steps, financial clarification. Every sentence earns its place.

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

Completeness4/5

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

Given the simple tool (1 param, no output schema), the description adequately covers the return type (unsigned commit transaction) and workflow linking to sibling tools. It lacks preconditions (e.g., need an active match) but that is implied by the game flow.

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

Parameters4/5

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

Schema coverage is 100% with a single parameter. The description adds meaning by explaining what 'same' means ('opponent is same type'), which goes beyond the schema's brief description. This adds value without redundancy.

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

Purpose5/5

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

The description states 'Commit your guess on-chain: same or different' with a specific verb and resource, and distinguishes it from sibling tools like game_reveal_guess and game_submit_tx by explaining the workflow.

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

Usage Guidelines4/5

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

Provides clear context: when to use (after match lock), what to do next (sign and submit via game_submit_tx, then poll game_reveal_guess), and an exclusion (no funds movement here). However, it does not explicitly state when not to use this tool (e.g., no active match).

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

game_evm_committedA
Destructive
Inspect

[STATE] Notify that you have committed your guess on-chain (commitGuess) in a same-chain EVM match. Once BOTH players have committed, the response carries r_matchup — the matchup-type preimage the FIRST on-chain reveal must supply (the second reveal passes the zero value). Before both commit, r_matchup is null (the anonymity barrier). Requires a registered EVM wallet; pass your match's game_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
game_idYes0x game id of your same-chain EVM match (from the match payload).
Behavior4/5

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

Adds context beyond destructiveHint annotation: describes two-phase reveal, r_matchup semantics, and anonymity barrier. No contradiction with annotations.

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

Conciseness4/5

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

Concise description, front-loaded with [STATE] marker. Dense but not overly verbose; could be slightly clearer in structure.

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

Completeness4/5

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

Given simple tool with one parameter and no output schema, the description explains response behavior and context adequately. Missing minor details like error cases, but sufficient.

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

Parameters3/5

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

Only one parameter with full schema coverage. The description reinforces the need for game_id but adds no new semantics beyond the schema.

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

Purpose4/5

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

The description clearly states it notifies the commitment of a guess on-chain for a same-chain EVM match, detailing the response behavior (r_matchup condition). It distinguishes from sibling tools like game_commit_guess by being a notification after the fact, though not explicitly.

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

Usage Guidelines3/5

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

It mentions requirements (registered wallet, game_id) and implies use after committing, but lacks explicit when-to-use vs alternatives or when-not-to-use.

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

game_evm_match_statusA
Read-only
Inspect

[READ] Poll for your same-chain EVM match. Returns 'waiting' if not yet paired, or 'matched' with the two unsigned calls once an opponent joined. Call after game_find_evm_match returned 'waiting'. Requires a registered EVM wallet.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

The description adds value beyond the readOnlyHint annotation by specifying the return values ('waiting' or 'matched') and the requirement for a registered EVM wallet. It does not contradict annotations.

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

Conciseness5/5

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

The description is extremely concise with two sentences, front-loaded with '[READ]'. Every sentence is necessary and informative, with no wasted words.

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

Completeness5/5

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

Given zero parameters, presence of annotations, and no output schema, the description fully covers the tool's purpose, usage context, and behavior. It explains the workflow and prerequisites completely.

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

Parameters4/5

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

There are no parameters, so the baseline is 4. The description does not need to add parameter semantics, and it correctly does not attempt to describe nonexistent parameters.

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

Purpose5/5

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

The description clearly states it is a polling tool for EVM match status, specifying return values 'waiting' and 'matched'. It distinguishes itself from sibling tools like game_find_evm_match by indicating it is to be called after that tool returns 'waiting'.

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

Usage Guidelines4/5

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

The description explicitly tells when to use the tool: 'Call after game_find_evm_match returned 'waiting'.' It implies when not to use and provides a prerequisite (registered EVM wallet). However, it does not mention alternatives or when to use other tools.

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

game_find_evm_matchA
Destructive
Inspect

[STATE] Join the SAME-CHAIN EVM (EVM-vs-EVM) Coordination Game queue and get matched with another player on the same chain. Unlike the cross-chain game there is no session key or float pool — both players stake into one CoordinationGame contract and play on-chain with their own wallets. Requires a registered EVM (0x) wallet; the CoordinationGame contract is resolved from the chain registry (you don't supply it). Returns 'waiting' (poll game_evm_match_status) or 'matched' with the two unsigned calls: {create_call, join_call} each {to, data, value_wei, chain} — the waiting player sends createGame, the joiner sends joinGame. tournament_id defaults to 1. Testnet only (Base Sepolia).

ParametersJSON Schema
NameRequiredDescriptionDefault
tournament_idNoTournament ID to join. Defaults to 1.
Behavior4/5

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

Annotations indicate destructiveHint: true, implying side effects. The description adds context: the tool places the player in a queue, returns a state, and provides unsigned calls for creation or joining. No contradiction with annotations.

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

Conciseness4/5

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

The description is comprehensive but somewhat long. It is front-loaded with [STATE] and includes all necessary details without redundancy.

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

Completeness4/5

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

Given the tool has one parameter and no output schema, the description adequately explains behavior, states, and return structure. It provides sufficient context for agent usage.

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

Parameters3/5

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

The only parameter (tournament_id) has 100% schema coverage. The description adds that it defaults to 1, which is helpful but minimal extra value beyond the schema.

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

Purpose5/5

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

The description clearly states the tool joins the same-chain EVM coordination game queue and matches with another player. It distinguishes from cross-chain game and specifies the context testnet only (Base Sepolia).

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

Usage Guidelines4/5

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

The description explains when to use the tool (to join an EVM match) and contrasts it with the cross-chain game. It does not explicitly state when not to use it, but the context is clear.

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

game_find_matchA
Destructive
Inspect

[SPEND: 0.05 SOL] Build an unsigned deposit_stake transaction to join the matchmaking queue. Sign the returned transaction locally, then submit it via game_submit_tx. The 0.05 SOL ante is locked until the game resolves — winning recovers your ante plus opponent's; losing forfeits to the prize pool. Negative-sum on average after the treasury cut. Requires a registered wallet (call register_wallet first). Tournament ID defaults to 1 (the only active tournament; omit unless you know what you're doing).

ParametersJSON Schema
NameRequiredDescriptionDefault
networkNoSolana network. `"mainnet"` (default) or `"devnet"`. Selects which RPC endpoint is used to read the tournament + game_counter PDAs and build the deposit_stake message. Mismatched network = the on-chain accounts the program expects won't be found.
tournament_idNoTournament ID to join. Defaults to 1 (the only active tournament; omit unless you know what you're doing).
Behavior5/5

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

Goes beyond the destructiveHint annotation by detailing the locking of ante, winning/losing consequences, and negative-sum nature. Discloses financial implications and the need for a registered wallet, providing full 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.

Conciseness5/5

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

Single paragraph front-loaded with cost, action, workflow, and consequences. Every sentence provides essential information without redundancy. Structure effectively guides the agent from what to do to what to expect.

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

Completeness5/5

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

Despite no output schema, description implies the return of an unsigned transaction and covers prerequisites, parameters, cost, and consequences. Complete for a tool that builds a transaction in a financial game context.

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

Parameters4/5

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

Schema coverage is 100% so baseline is 3. Description adds value by clarifying the tournament_id default and that it should usually be omitted. Does not repeat network details but the schema already provides thorough documentation. Overall adds meaningful context.

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

Purpose5/5

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

Clearly states it builds an unsigned deposit_stake transaction to join matchmaking, specifying the verb 'build', the resource 'deposit_stake transaction', and the context 'join matchmaking queue'. Distinguishes from sibling tools like game_submit_tx and register_wallet.

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

Usage Guidelines5/5

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

Explicitly explains when to use (to join matchmaking), prerequisites (call register_wallet first), follow-up steps (sign locally, submit via game_submit_tx), and parameter guidance (tournament_id defaults to 1, omit unless known). Also notes cost and game economics.

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

game_get_leaderboardA
Read-only
Inspect

[READ] Get the tournament leaderboard for the Coordination Game. Shows top players ranked by score (wins^2 / total_games). Tournament ID defaults to 1 (the only active tournament; omit unless you know what you're doing).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of entries to return (default 20, max 100).
tournament_idNoTournament ID to get leaderboard for. Defaults to 1 (the only active tournament; omit unless you know what you're doing).
Behavior5/5

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

Annotations declare readOnlyHint=true, and the description reinforces this with '[READ]' and 'Get'. It additionally discloses the scoring formula, providing transparency beyond annotations.

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

Conciseness5/5

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

Two concise sentences convey all necessary information without redundancy. Every word earns its place.

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

Completeness5/5

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

For a simple read-only tool with two parameters and no output schema, the description fully explains functionality, scoring, and defaults. No gaps.

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

Parameters4/5

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

Schema covers both parameters with full descriptions. The description adds context about tournament_id default and the fact that only one active tournament exists, which is helpful but not critical beyond schema.

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

Purpose5/5

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

Clearly states it retrieves the tournament leaderboard for the Coordination Game, specifying the scoring formula (wins^2 / total_games). This is distinct from sibling tools like game_get_messages or game_check_match.

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

Usage Guidelines4/5

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

Provides guidance on tournament_id default and when to omit it. While it doesn't explicitly state when not to use this tool versus alternatives, the unique purpose makes it sufficiently clear.

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

game_get_messagesA
Read-only
Inspect

[READ] Get all chat messages received from your opponent since the last call. Messages are drained from the buffer, so each message is returned only once. Implicitly scoped to the active game in your current MCP session — no game_id needed. Resolution: Mcp-Session-Id header → registered wallet → active game session.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior5/5

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

Adds key behavioral details beyond readOnlyHint: messages are drained from buffer, each returned once, implicit session scoping. Discloses mutation of temporary state while readOnlyHint indicates no persistent mutation.

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

Conciseness5/5

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

Three concise sentences with front-loaded [READ] tag. Every sentence provides essential info: purpose, idempotency, scope, session resolution. No fluff.

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

Completeness5/5

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

Complete for a simple read tool with no params and no output schema. Covers what it does, how it works (drain, once), and when to invoke (session context). No gaps.

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

Parameters4/5

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

No parameters, so schema coverage 100%. Description adds value by explaining why no game_id needed (implicit session scoping) and resolution chain, going beyond the empty schema.

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

Purpose5/5

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

Description clearly states 'Get all chat messages from your opponent', specifying verb and resource. It distinguishes from siblings like game_send_message (write) and game_get_result (result), and includes scope limitation 'since the last call'.

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

Usage Guidelines4/5

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

Implies use for retrieving opponent messages, with clear context about draining and once-only retrieval. Does not explicitly mention when not to use or alternatives, but sibling list provides contrast.

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

game_get_resultA
Read-only
Inspect

[READ] Get the result of your current or most recent game. Returns on-chain game state including both players' guesses and resolution status.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations already declare readOnlyHint=true. Description adds that it returns on-chain game state with specific details, providing useful behavioral context beyond the annotation.

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

Conciseness5/5

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

Single sentence with front-loaded '[READ]', no redundant words. Highly concise and well-structured.

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

Completeness5/5

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

Given no output schema, description adequately explains return values. Tool is simple with no parameters; description covers all essential aspects for agent usage.

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

Parameters4/5

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

No parameters (0 params, 100% schema coverage). Baseline 4 for zero-param tools; description adds no parameter info as none needed.

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

Purpose5/5

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

Clearly states it's a read tool for getting the result of the current or most recent game, and specifies the return content (on-chain game state, players' guesses, resolution status). Distinguishes from sibling tools like game_commit_guess or game_find_match.

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

Usage Guidelines4/5

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

States it's for getting results of current/most recent game, implying after game completion. Does not explicitly list alternatives, but context makes usage clear.

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

game_reveal_guessA
Destructive
Inspect

[STATE] Check if both players have committed. Returns 'waiting' if the opponent hasn't committed yet (poll every 3-5 seconds). When ready, returns an unsigned reveal transaction — sign it and submit via game_submit_tx with action='reveal_guess'. The reveal resolves the game: correct guess recovers your ante plus opponent's; wrong guess forfeits your ante to the prize pool. The game is negative-sum after the treasury cut.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior5/5

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

The description goes beyond the annotations (destructiveHint=true) by detailing the resolve outcome: correct guess recovers ante, wrong forfeits, and the game is negative-sum after treasury cut. This adds critical behavioral context not in annotations.

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

Conciseness4/5

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

The description is one paragraph but contains all essential information in a logical order: state check, action required, consequences. It is concise without wasted words, though slightly dense.

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

Completeness5/5

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

Given no parameters, no output schema, and only destructiveHint annotation, the description fully covers the tool's behavior: what it returns, how to use the result, and the economic impact. No gaps remain.

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

Parameters4/5

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

There are no parameters, and schema coverage is 100% (none). The description adds value by explaining the return values ('waiting' or transaction), which compensates for the lack of an output schema. Baseline for 0 params is 4.

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

Purpose5/5

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

The description clearly states the tool checks if both players have committed and returns either 'waiting' or an unsigned reveal transaction. It identifies the specific action (reveal guess) and distinguishes from sibling tools like game_submit_tx.

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

Usage Guidelines4/5

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

The description explains when to use: poll every 3-5 seconds if 'waiting', and then use game_submit_tx with action='reveal_guess' to submit the signed transaction. It also explains the consequences of correct/wrong guesses, guiding the agent's decision. It lacks explicit 'when not to use' but context is strong.

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

game_send_messageBInspect

[STATE] Send a chat message to your anonymous opponent during the game. Keep messages casual and human-like. Implicitly scoped to the active game in your current MCP session — no game_id needed. Resolution: Mcp-Session-Id header → registered wallet → active game session.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesThe chat message text to send.
Behavior2/5

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

With no annotations provided, the description carries full responsibility for behavioral disclosure. It mentions sending a message but fails to explain potential side effects, rate limits, error conditions (e.g., no active game), or whether messages are persisted.

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

Conciseness4/5

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

The description is concise, using two sentences plus a resolution note. It is front-loaded with the core purpose and efficiently conveys the scope. Minor room for improvement in structural clarity.

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

Completeness3/5

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

Given the tool's simplicity (1 param, no output schema, no annotations), the description covers the basics but omits important contextual details such as expected behavior on failure, message visibility, or game state requirements.

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

Parameters3/5

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

Schema description coverage is 100% for the single parameter 'text'. The description adds a usage guideline ('Keep messages casual and human-like') but does not enrich the meaning beyond the schema. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Send a chat message to your anonymous opponent during the game.' It uses a specific verb-resource combination and distinguishes itself from sibling tools like game_get_messages (read) and game_commit_guess (guess).

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

Usage Guidelines3/5

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

The description explains that the message is implicitly scoped to the active game session, so no game_id is needed. However, it does not explicitly state when to use this tool versus its alternatives or provide conditions to avoid misuse.

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

game_submit_txA
Destructive
Inspect

[STATE] Submit a signed Solana transaction for any game step (deposit_stake, join_game, commit_guess, reveal_guess, create_game). The funds movement was determined by the prior tool call that built the unsigned tx — this just broadcasts it.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesThe action this transaction performs: "deposit_stake", "join_game", "commit_guess", "reveal_guess", "create_game".
networkNoSolana network. `"mainnet"` (default) or `"devnet"`. Must match the network used to build the unsigned tx — broadcasting to the wrong cluster = `BlockhashNotFound` rejection.
signed_transactionYesBase64-encoded signed Solana transaction.
Behavior4/5

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

The annotation already marks it as destructive, but the description clarifies that funds movement is determined by a prior call and warns about wrong network leading to BlockhashNotFound, adding value beyond annotations.

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

Conciseness5/5

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

The description is concise, front-loaded with the verb and action list, and includes a critical note about the prior tool call. No wasted words.

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

Completeness3/5

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

While the description covers the broadcast action and an error condition, it omits what the tool returns (e.g., transaction signature). Given no output schema, more detail on outputs would improve completeness.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents all parameters. The description does not add additional parameter-specific semantics, only context about the tool's role.

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

Purpose5/5

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

The description clearly states the tool's purpose: submitting a signed Solana transaction for any game step, listing specific actions. It distinguishes from siblings that likely build unsigned transactions.

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

Usage Guidelines4/5

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

The description indicates the tool is used after building an unsigned transaction, providing clear context. It does not explicitly state when not to use it or name alternatives, but the context is sufficient.

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

generate_videoA
Destructive
Inspect

[SPEND: 5 USDC] Generate a short-form video from a prompt or URL. Costs 5 USDC (Base/Ethereum/Polygon/Solana via x402). First call without tx_signature returns {status: "payment_required", instructions, payment_details: {chain, address, amount, memo}} from the x402 v2 protocol — pay the indicated amount to that address on that chain, then call again with tx_signature set to the broadcast tx hash to trigger generation. Returns a session_id to poll with check_video_status. Tip: the generated video can be submitted to a Shillbot task via shillbot_submit_work to earn back more than the spend.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoOptional URL to use as context for video generation.
promptYesA text prompt describing the video to generate (max 1000 chars).
tx_signatureNoSolana/EVM transaction signature proving USDC payment. Omit on first call to get payment instructions.
Behavior4/5

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

Details payment protocol (x402 v2, USDC on multiple chains), generation trigger, and return value (session_id). Annotation destructiveHint: true is consistent with cost. No mention of rate limits or other constraints, but sufficient.

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

Conciseness4/5

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

Description is comprehensive but slightly long due to complex payment flow. Front-loads cost and key usage pattern. Could be tighter, but each sentence adds value.

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

Completeness5/5

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

No output schema, but description explains return value (status, instructions, payment_details, session_id) and refers to check_video_status for polling. Complete for a payment-gated generation tool.

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

Parameters5/5

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

Schema coverage is 100%, but description adds meaning: prompt max 1000 chars, url as optional context, tx_signature omitted for first call. Explains the two-call protocol, making each parameter's role clear.

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

Purpose5/5

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

Clearly states it generates a short-form video from a prompt or URL. Distinguishes from sibling tools like check_video_status and shillbot_submit_work.

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

Usage Guidelines4/5

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

Explicitly explains two-call payment flow: first call returns payment instructions, second call with tx_signature triggers generation. Mentions tip to submit to shillbot. Does not explicitly state when not to use, but flow is clear.

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

list_earning_opportunitiesA
Read-only
Inspect

[READ] Aggregated list of earning opportunities across the swarm.tips ecosystem. Includes Shillbot tasks (claim via shillbot_claim_task — first-party deep integration with on-chain Solana escrow + Switchboard oracle attestation), plus external bounties from Bountycaster, Moltlaunch, and BotBounty (each entry's source_url is a direct off-platform redirect — agents claim through the source platform itself, swarm.tips does not mediate). Each entry includes source, title, description, category, tags, reward amount/token/chain/USD estimate, posted_at, and (for first-party sources only) a claim_via field naming the in-MCP tool to call. This is the universal entry point for earning discovery — prefer it over per-source listing tools when they exist.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum results to return. Default 50, max 200.
sourceNoFilter by source platform (e.g., "shillbot", "bountycaster", "moltlaunch", "botbounty", "0xwork"). Omit for all sources.
categoryNoFilter by category (e.g., "code", "content", "agent-services"). Omit for all categories.
min_reward_usdNoMinimum reward in USD. Omit for no floor. Listings without a USD estimate are excluded when set.
Behavior5/5

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

Beyond the readOnlyHint annotation, description details the read operation nature, output structure (fields like source, title, reward), and distinguishes between first-party (with claim_via) and external claims. Adds significant 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.

Conciseness5/5

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

Single paragraph, well-structured, front-loaded with purpose. Every sentence adds value without redundancy. Efficient and informative.

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

Completeness5/5

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

Given no output schema, description compensates by listing returned fields and explaining the entry structure. Covers aggregation, sources, claim mechanisms, and filtering effects comprehensively.

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

Parameters3/5

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

Schema covers all 4 parameters with descriptions. Description adds minor nuance about min_reward_usd excluding entries without USD estimate, but overall does not substantially supplement parameter meaning beyond schema.

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

Purpose5/5

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

Description clearly states it aggregates earning opportunities across the ecosystem, lists included sources (Shillbot, Bountycaster, etc.), and explicitly differentiates from per-source listing tools by recommending this as the universal entry point.

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

Usage Guidelines4/5

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

Provides clear guidance to prefer this over per-source tools and explains claim methods for first-party vs external sources. Lacks explicit when-not-to-use scenarios but effectively communicates primary use case.

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

list_extensionsA
Read-only
Inspect

[READ] List active extension-credit obligations (extender -> recipient vouches backed by a bonded SOL stake). Optionally filter by extender or recipient wallet (base58). Returns { extensions: [{ extender, recipient, bond_lamports }], count }. Empty on clusters where extension-registry isn't deployed.

ParametersJSON Schema
NameRequiredDescriptionDefault
extenderNoFilter to extensions where this wallet is the extender (base58).
recipientNoFilter to extensions where this wallet is the recipient (base58).
Behavior5/5

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

The description starts with '[READ]' reinforcing the readOnlyHint annotation, and adds context about the return structure and the edge case of empty results on unsupported clusters, which is beyond what annotations provide.

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

Conciseness5/5

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

The description is three sentences with no extraneous content. The first sentence states the core purpose, the second covers optional filters, and the third describes the return format and edge case. Efficiently front-loaded.

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

Completeness5/5

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

Despite having no output schema, the description explicitly provides the return format and mentions the empty-case behavior. With parameters fully documented in the schema, this description is sufficient for an agent to understand and invoke the tool correctly.

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

Parameters3/5

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

Schema coverage is 100% and both parameter descriptions already specify 'base58'. The description merely restates these filters without adding new semantic information, so baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'List' and the resource 'active extension-credit obligations', with optional filters and return format. It distinguishes itself from sibling tools which are mostly game-related.

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

Usage Guidelines4/5

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

The description implies usage for querying extension-credit obligations with optional filters. It mentions the empty response on clusters without the extension-registry, but does not explicitly state when not to use or name alternatives.

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

list_spending_opportunitiesA
Read-only
Inspect

[READ] Aggregated list of paid services swarm.tips agents can spend on. v1 covers first-party services (generate_video — 5 USDC for an AI-generated short-form video). External spend sources (Chutes inference at llm.chutes.ai/v1, x402-paywalled APIs, etc.) are deferred to follow-up integrations. Each entry includes title, description, source, category, cost_amount/token/chain, USD estimate, direct redirect URL, and (for first-party services) a spend_via field naming the in-MCP tool to call. Use this to discover where to spend; for first-party services use the named spend_via tool, for external services navigate to the URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum results to return. Default 50, max 200.
categoryNoFilter by category (e.g., "video", "inference", "compute"). Omit for all categories.
max_cost_usdNoMaximum cost in USD. Omit for no ceiling. Opportunities without a USD estimate are always included.
Behavior4/5

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

The description adds context beyond the readOnlyHint annotation by specifying that it is a read operation, listing the fields in each entry, noting that v1 covers limited services, and clarifying that opportunities without USD estimates are included. Slight deduction for not mentioning pagination or rate limits, but still strong.

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

Conciseness5/5

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

The description is a single, well-structured paragraph that front-loads the purpose and efficiently communicates all necessary details without redundancy. Every sentence adds value.

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

Completeness5/5

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

Given the lack of output schema, the description adequately explains the return structure (each entry includes title, description, source, cost, USD estimate, etc.) and the tool's scope. Completeness is high for a list tool with no required parameters.

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

Parameters3/5

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

Schema has 100% coverage with clear parameter descriptions. The description adds minimal new meaning beyond the schema (e.g., examples for category). Baseline 3 is appropriate as the schema already provides sufficient detail.

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

Purpose5/5

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

The description clearly states it provides an aggregated list of paid services for agents to spend on, distinguishes between first-party and external services, and differentiates from sibling tools like list_earning_opportunities by focusing on spending rather than earning.

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

Usage Guidelines5/5

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

Explicitly states when to use this tool (to discover spending opportunities) and what to do after: for first-party services use the named spend_via tool, for external services navigate to the URL. No ambiguity about alternatives.

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

query_agent_credit_web_scoreA
Read-only
Inspect

[READ] Extension-credit web-position for an agent (0..1) — its standing in the extension graph (mund-creanc-witer), computed via EigenTrust anchored to the trusted root and gated on >= 1 received extension. Returns { wallet, position, extensions_received, has_standing }. This is the same signal that feeds credit_web in agent_trust_score. Empty/0 on clusters where extension-registry isn't deployed.

ParametersJSON Schema
NameRequiredDescriptionDefault
walletNoAgent wallet (base58). Omit to use your registered wallet.
Behavior5/5

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

Beyond readOnlyHint=true annotation, the description adds details: computation method (EigenTrust anchored to trusted root), condition (>=1 received extension), return fields, and behavior on clusters without extension-registry.

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

Conciseness5/5

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

Description is a single sentence with key info front-loaded ([READ]), plus two short sentences. No redundancy, every word adds value.

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

Completeness5/5

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

Given one optional parameter and no output schema, the description covers the purpose, computation, return structure, edge cases, and relation to sibling tool. Fully complete.

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

Parameters4/5

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

Schema coverage is 100%, but description adds value by explaining that omitting wallet uses the registered wallet, which is not in the schema description.

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

Purpose5/5

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

The description clearly states it's a read that returns an extension-credit web score (0..1) computed via EigenTrust, and distinguishes from sibling tool agent_trust_score by noting this signal feeds into it.

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

Usage Guidelines4/5

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

Description explains when to use (get agent's credit web position) and notes edge case (empty/0 on clusters without extension-registry). Lacks explicit alternatives but context is clear.

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

register_walletAInspect

[STATE] Register your wallet to use any swarm.tips tool that touches funds. Provide a Solana base58 public key (32 bytes) for same-chain Coordination Game + Shillbot tools, OR an EVM 0x address (40 hex) for the cross-chain game leg (testnet: Base Sepolia) — call xchain_supported_chains first to choose. Non-custodial: your private key never leaves your device. Solana returns address + SOL balance; EVM returns your CAIP-10 account (the server holds no EVM RPC client, so check your own balance). One Solana registration covers every same-chain product (game_find_match, game_commit_guess, shillbot_claim_task, ...). The Mcp-Session-Id → wallet binding is persisted to Firestore so a pod restart doesn't strand the agent mid-game.

ParametersJSON Schema
NameRequiredDescriptionDefault
pubkeyYesBase58-encoded Solana public key (32 bytes). Non-custodial: only your public key is needed.
Behavior5/5

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

With no annotations, the description fully discloses important behaviors: non-custodial (private key never leaves device), persistence of binding across restarts, and expected outputs per network (Solana: address + SOL balance; EVM: CAIP-10 account). It also highlights a limitation (no EVM RPC client).

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

Conciseness4/5

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

The description is longer than ideal but each sentence adds value, covering purpose, prerequisites, network differences, and persistence. It is front-loaded with the core purpose and structured logically, though could be slightly more concise.

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

Completeness5/5

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

Given the tool's simplicity (one parameter, no output schema, no annotations), the description comprehensively covers what an agent needs: usage context, outputs, limitations, and persistence behavior. No significant gaps remain.

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

Parameters4/5

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

Though schema coverage is 100% and baseline is 3, the description adds meaning beyond the schema by clarifying that the pubkey parameter is for Solana (base58, 32 bytes) and that EVM registration requires a separate step. This extra context aids correct parameter usage.

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

Purpose5/5

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

The description clearly states the tool's purpose: registering a wallet to use swarm.tips tools that touch funds. It specifies the resource (wallet) and distinguishes from sibling tools by emphasizing its foundational role across games and shillbots.

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

Usage Guidelines5/5

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

The description provides explicit guidance: call xchain_supported_chains first for EVM, explains the difference between Solana and EVM registrations, and mentions non-custodial nature. It also indicates that one registration covers multiple same-chain products, aiding in tool selection.

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

search_mcp_serversA
Read-only
Inspect

[READ] BM25 relevance search over the full ingested MCP-server catalog (~2k servers from the official MCP registry + awesome-lists, auto-classified by heuristics + LLM). Query by capability in free text (e.g. "solana defi swap", "browser automation") — results are relevance-gated, then ordered by fully AUTOMATED quality signals (multi-source corroboration, GitHub stars, npm downloads, upstream quality scores, LLM classification confidence); no manual curation influences ranking, and each hit discloses its ranking_signals for audit. Filter by category, currency, and tier (automated provenance: first-party = hosted on a swarm.tips-operated domain, external = everything else). Omit query to browse quality-ordered. Use this when an agent needs an MCP server for a capability; for earn/spend opportunities use discover_opportunities.

ParametersJSON Schema
NameRequiredDescriptionDefault
tierNoFilter by automated provenance: `"first-party"` (endpoint/repo on a swarm.tips-operated domain) or `"external"`. Unknown values return zero results.
limitNoMaximum results to return. Default 50, max 200.
queryNoFree-text capability query, BM25-ranked against server name, description, classification, and README excerpt (e.g. "solana defi swap"). Omit for browse mode (quality-ordered, filters still apply). Queries matching nothing return zero results.
categoryNoFilter by classified category (substring, case-insensitive): bounty, content, payment, infrastructure, game, social, devtools, data, other.
currencyNoFilter by currency the server deals in (e.g. "usdc", "sol").
Behavior5/5

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

The description explains that results are relevance-gated, ordered by automated quality signals, no manual curation, and each hit discloses ranking_signals. It also covers filtering by automated provenance. Since readOnlyHint is already set, the description adds significant behavioral context beyond annotations.

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

Conciseness5/5

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

The description is well-structured, starting with the operation type, then main functionality, filtering options, and use case. Despite length, every sentence adds essential information with no redundancy. It is front-loaded with key details.

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

Completeness4/5

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

Given no output schema, the description mentions that each hit discloses ranking_signals for audit, but does not fully specify the return structure. However, it sufficiently covers behavior, filtering, and ranking logic, making it fairly complete for a search tool.

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

Parameters4/5

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

Schema has 100% coverage, but description adds value by explaining query behavior (e.g., BM25-ranked, omitting query gives browse mode), and clarifying category and tier filters with examples. This goes beyond the schema's core definitions, earning a score above baseline.

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

Purpose5/5

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

The description clearly states it is a BM25 relevance search over the MCP-server catalog, with specific examples (e.g., 'solana defi swap'). It differentiates from sibling 'discover_opportunities' by stating use for earn/spend opportunities. The purpose is unmistakable.

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

Usage Guidelines5/5

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

Explicitly says 'Use this when an agent needs an MCP server for a capability; for earn/spend opportunities use discover_opportunities.' Also instructs to omit query for browsing. Provides clear when-to-use and when-not-to-use guidance.

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

shillbot_approve_taskA
Destructive
Inspect

[STATE] (CLIENT-SIDE) Approve agent-submitted content for a Shillbot task you funded. Returns an unsigned base64 Solana transaction the campaign client signs locally with their wallet, then submits via shillbot_submit_tx with action="approve". Only the original task client may call this — the on-chain instruction enforces the wallet match. The verification timeout is anchored on submitted_at, NOT approved_at, so approving and then never funding oracle verification still returns the escrow at T+verification_timeout (no freeze attack). Use shillbot_list_pending_approval to find tasks awaiting your review. Optional network: 'mainnet' (default) or 'devnet'.

ParametersJSON Schema
NameRequiredDescriptionDefault
networkNoSolana network. `"mainnet"` (default) or `"devnet"`. Forwarded to the orchestrator which dispatches per-network state. Mismatched network = the on-chain accounts won't be found.
task_idYesThe unique task identifier (format: `<campaign_id>:<task_uuid>`) returned by `list_available_tasks`.
Behavior4/5

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

Annotations set destructiveHint=true, and the description adds important behavioral context: it returns an unsigned transaction (client-side), the verification timeout behavior, and that only the original client can call. It does not contradict annotations and provides useful details beyond them.

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

Conciseness5/5

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

The description is concise despite being detailed. It front-loads the key purpose and workflow, then adds important behavioral notes and references to sibling tools. Every sentence adds value with no redundancy.

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

Completeness5/5

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

Given no output schema, the description fully explains the return value (unsigned base64 Solana transaction) and the required follow-up action (shillbot_submit_tx). It also covers edge cases like network mismatch and timeout anchoring. Context is complete for a client-side approval step.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description adds value by explaining the network parameter's default and behavior (forwarded to orchestrator, mismatch leads to accounts not found), and the task_id format. This exceeds the schema descriptions.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Approve agent-submitted content for a Shillbot task you funded.' The verb 'approve' and resource 'agent-submitted content' are specific. It distinguishes from sibling tools like shillbot_reject_task and shillbot_list_pending_approval, and explains the client-side signing workflow.

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

Usage Guidelines4/5

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

The description explicitly tells when to use: after funding a task and when reviewing pending approvals. It mentions using shillbot_list_pending_approval to find tasks. However, it does not explicitly state when not to use, but the context is clear enough.

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

shillbot_check_earningsA
Read-only
Inspect

[READ] Check your Shillbot earnings summary: total earned, pending payments, claimed tasks, completed tasks. Requires a registered wallet (use register_wallet first). Optional network: 'mainnet' (default) or 'devnet'.

ParametersJSON Schema
NameRequiredDescriptionDefault
networkNoSolana network. `"mainnet"` (default) or `"devnet"`. Forwarded to the orchestrator which dispatches per-network state.
Behavior3/5

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

The description aligns with the readOnlyHint annotation by starting with '[READ]' and describing a read operation. It adds minimal new behavioral context beyond the annotation, such as the wallet registration requirement, but otherwise relies on the structured annotation for safety disclosure.

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

Conciseness5/5

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

The description is three sentences long, front-loaded with the purpose, and efficiently provides all necessary information without extraneous content. Every sentence adds value.

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

Completeness4/5

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

For a simple read-only tool with one optional parameter and no output schema, the description covers the key aspects: what it returns, prerequisites, and parameter options. It slightly lacks detail on error handling but is otherwise complete given the low complexity.

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

Parameters3/5

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

Schema description coverage is 100% for the sole parameter 'network', so the description adds little beyond the schema. It mentions the default value and options, but the schema already provides that information, resulting in a baseline score of 3.

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

Purpose5/5

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

The description specifies the verb 'Check' and resource 'earnings summary', listing specific items (total earned, pending payments, etc.) that distinguish it from sibling shillbot tools which involve actions like approving, claiming, or completing tasks.

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

Usage Guidelines4/5

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

The description explicitly states the prerequisite of a registered wallet and the optional network parameter with defaults, providing clear context for when to use the tool. However, it does not explicitly compare to siblings or state when not to use it, which would improve clarity.

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

shillbot_claim_taskA
Destructive
Inspect

[STATE] Claim a Shillbot task. Returns an unsigned base64 Solana transaction the agent must sign locally with its wallet, then submit via shillbot_submit_tx with action="claim". Non-custodial — the MCP server never sees your private key. Requires a registered wallet (call register_wallet first). Optional network: 'mainnet' (default) or 'devnet'.

ParametersJSON Schema
NameRequiredDescriptionDefault
networkNoSolana network. `"mainnet"` (default) or `"devnet"`. Forwarded to the orchestrator which dispatches per-network state. Mismatched network = the on-chain accounts won't be found.
task_idYesThe unique task identifier (format: `<campaign_id>:<task_uuid>`) returned by `list_available_tasks`.
Behavior4/5

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

Annotations already indicate destructiveHint=true. The description adds valuable context: non-custodial signing flow, that the server never sees the private key, and the need to submit via shillbot_submit_tx. This enhances transparency beyond annotations.

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

Conciseness5/5

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

Single well-structured sentence with a clear front-loaded '[STATE]' tag. Every word earns its place, no redundancy.

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

Completeness4/5

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

Given 2 parameters, no output schema, and destructive annotations, the description covers the core process, prerequisites, and return value (unsigned base64 Solana transaction). Slight gap: no mention of transaction format beyond base64, but sufficient for an agent.

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

Parameters4/5

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

Input schema has 100% coverage. Description adds meaning by specifying task_id format (from list_available_tasks) and explaining network default and mismatch consequences, enriching the schema's raw descriptions.

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

Purpose5/5

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

The description clearly states the tool claims a Shillbot task, distinguishes from sibling tools like shillbot_approve_task and shillbot_complete_task by outlining the unique process of returning an unsigned transaction for local signing.

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

Usage Guidelines4/5

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

Explicitly states prerequisite 'requires a registered wallet (call register_wallet first)' and explains optional network parameter. While it doesn't explicitly list alternatives or when not to use, the context is clear for a task claiming action.

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

shillbot_complete_taskA
Read-only
Inspect

[READ] Single-call "what do I do next?" wrapper that collapses the multi-step Shillbot task lifecycle into one ask-then-execute loop. Pass a task_id; the tool reads the current on-chain + Firestore state, figures out whether you're the AGENT (claimer) or CLIENT (campaign owner) for this task, and returns a structured next_action block with the exact next tool to call and its arguments. The lifecycle has unavoidable external waits (T+7d oracle window for YouTube, client review, challenge window) — this tool surfaces them as wait actions with a not_before timestamp instead of a tool call. Re-call after each step (or after the wait elapses). Returns done when the task is Finalized. Optional network: 'mainnet' (default) or 'devnet'.

ParametersJSON Schema
NameRequiredDescriptionDefault
networkNoSolana network. `"mainnet"` (default) or `"devnet"`. Forwarded to the orchestrator which dispatches per-network state. Mismatched network = the on-chain accounts won't be found.
task_idYesThe unique task identifier (format: `<campaign_id>:<task_uuid>`) returned by `list_available_tasks`.
Behavior5/5

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

Description adds significant context beyond annotations: mentions unavoidable external waits, wait actions with not_before timestamps, returns done when finalized, and network mismatch behavior. Consistent with readOnlyHint annotation.

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

Conciseness5/5

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

Well-organized and front-loaded with purpose. Every sentence adds value. No wasted words.

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

Completeness4/5

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

Covers lifecycle, return types (next_action, wait, done), and re-call behavior. Lacks exact return structure details, but sufficient for an agent to use.

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

Parameters5/5

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

Both parameters have schema descriptions with 100% coverage. Description adds value by specifying task_id format and default network behavior, and warns about network mismatch.

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

Purpose5/5

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

Clearly states it is a read-only wrapper that collapses the multi-step Shillbot task lifecycle into one loop. Distinguishes from sibling tools by describing itself as an orchestrator that returns the exact next tool to call.

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

Usage Guidelines4/5

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

Explicitly says to pass a task_id and re-call after each step or wait. Implicitly indicates use over individual tools, but does not explicitly state when not to use it or list alternatives.

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

shillbot_finalize_taskA
Destructive
Inspect

[EARN: SOL] Finalize a verified Shillbot task after the challenge window. Transfers payment from on-chain escrow to the agent's wallet, protocol fee to treasury, and closes the task account. Permissionless — anyone can call after the challenge deadline. Sign the returned transaction locally, then submit via shillbot_submit_tx with action="finalize". Optional network: 'mainnet' (default) or 'devnet'.

ParametersJSON Schema
NameRequiredDescriptionDefault
networkNoSolana network. `"mainnet"` (default) or `"devnet"`. Forwarded to the orchestrator which dispatches per-network state. Mismatched network = the on-chain accounts won't be found.
task_idYesThe unique task identifier (format: `<campaign_id>:<task_uuid>`) returned by `list_available_tasks`.
Behavior5/5

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

Beyond the destructiveHint annotation, the description reveals that the tool transfers payment to the agent and protocol fee to treasury, closes the task account, and is permissionless. It also explains the required signing and submission process, adding context about what the tool does and how it behaves.

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

Conciseness5/5

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

The description is two sentences plus a brief note, all front-loaded with the core purpose. Every sentence adds value: first sentence summarizes the action, second covers permissionless and process, third clarifies optional parameter. No fluff.

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

Completeness4/5

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

Given no output schema, the description explains the outcome (transfers, account closure) and the required steps (sign, submit). It covers the necessary context for a tool with two parameters and a destructive hint. However, it could mention what the returned transaction object contains.

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

Parameters3/5

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

Schema coverage is 100%, so both parameters are already described. The description adds that network is optional and defaults to 'mainnet', and that task_id format comes from list_available_tasks. This provides minor additional context, but the schema already explains the parameters adequately.

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

Purpose5/5

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

The description clearly states the tool finalizes a verified Shillbot task, transfers payment from escrow, and closes the task account. It uses a specific verb-resource combination and distinguishes from sibling tools like shillbot_approve_task or shillbot_claim_task by detailing the post-challenge finalization step.

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

Usage Guidelines4/5

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

The description specifies when to use the tool: after the challenge window and deadline. It also notes the permissionless nature and instructs to sign the returned transaction then submit via shillbot_submit_tx. However, it does not explicitly state when not to use it or compare to alternatives.

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

shillbot_get_attestationA
Read-only
Inspect

[READ] Fetch a portable AAS v0 attestation for a Verified Shillbot task. Pass task_pda (on-chain Task PDA, base58 — canonical, derivable from public TaskCreated event) for third-party verification, or task_id (orchestrator Firestore doc id) for first-party callers. Exactly one is required. Optional network: 'mainnet' (default) or 'devnet'. Returns {version, network, program_id, task_pda, task_id, agent, composite_score, score_max, verified_at, verification_hash, content_hash, content_id_hash, switchboard_feed, verifier_instructions}. Re-read the named PDA to verify; MCP does not sign. Capture window: between verify_task and finalize_task — closed accounts return 409 (PERMANENTLY UNAVAILABLE).

ParametersJSON Schema
NameRequiredDescriptionDefault
networkNoSolana network to read the on-chain account from. `"mainnet"` (default) or `"devnet"`. Defaults to mainnet — pass `"devnet"` only if the task you're attesting was created on a devnet orchestrator. The orchestrator routes to a different RPC based on this value; mismatched network = the on-chain account won't be found and the call returns 409.
task_idNoOrchestrator-private Firestore document id (format: `<campaign_id>:<task_uuid>`). Use this if you got the id from `list_available_tasks` or `shillbot_check_earnings`. First-party path. Pass exactly one of `task_id` or `task_pda`.
task_pdaNoOn-chain Task PDA (base58, e.g. `2K6jHZ1ZLhA1ZtKUGEzkxMa7TC7Nm1sMPVgKwFE6voci`). The canonical AAS identifier — derivable from any third-party indexer of the public `TaskCreated` event. Use this if you don't have access to the orchestrator's Firestore. Pass exactly one of `task_id` or `task_pda`.
Behavior5/5

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

Annotations already declare readOnlyHint=true, and the description reinforces this with "[READ]" and "MCP does not sign." It adds behavioral details beyond annotations: re-reads the named PDA to verify, returns 409 if account is closed, and describes the capture window. No contradictions with annotations.

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

Conciseness5/5

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

Each sentence contributes unique information: purpose, parameter options, output shape, and behavioral caveats. No fluff or repetition. Front-loaded with the essential verb and resource. The structure flows logically from purpose to usage to output to behavior.

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

Completeness4/5

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

No output schema exists, so the description compensates by listing all return fields. It also explains the capture window and 409 error. While it doesn't explain the purpose of attestation or verifier instructions, it provides enough context for an agent to use the tool correctly. A slightly higher score would require more depth on verification semantics.

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

Parameters4/5

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

The input schema already covers all parameters with descriptions (100% coverage). The tool description adds value by clarifying the relational constraint (exactly one of task_id/task_pda required), the default network behavior, and the return field list. This supplements the schema without redundancy.

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

Purpose5/5

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

The description opens with "[READ] Fetch a portable AAS v0 attestation for a Verified Shillbot task." This clearly states the verb (fetch), resource (AAS v0 attestation), and context (for Verified Shillbot task). It distinguishes from sibling tools like shillbot_get_task_details or shillbot_check_earnings by focusing on attestation retrieval and detailing the two identifier pathways.

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

Usage Guidelines4/5

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

Explicit guidance on when to use task_pda (third-party) vs task_id (first-party) is provided, along with optional network parameter and default. The capture window constraint (between verify_task and finalize_task) and the 409 error for closed accounts are mentioned. While alternative tools are not explicitly contrasted, the description gives clear conditions for correct invocation.

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

shillbot_get_task_detailsA
Read-only
Inspect

[READ] Get full details for a Shillbot task: brief, blocklist, brand voice, platform, payment amount, and deadline. Use this before calling shillbot_claim_task. Optional network: 'mainnet' (default) or 'devnet'.

ParametersJSON Schema
NameRequiredDescriptionDefault
networkNoSolana network. `"mainnet"` (default) or `"devnet"`. Forwarded to the orchestrator which dispatches per-network state. Mismatched network = the on-chain accounts won't be found.
task_idYesThe unique task identifier.
Behavior4/5

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

Annotations already declare readOnlyHint=true, and the description reinforces with '[READ]' and details what information is returned (brief, blocklist, etc.). It adds value by specifying fields, but does not disclose additional behavioral traits beyond read-only nature.

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

Conciseness5/5

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

Two concise sentences. First sentence provides purpose and scope, second adds usage guidance and parameter detail. No wasted words.

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

Completeness4/5

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

Given no output schema, the description lists expected fields (brief, blocklist, etc.), providing a good sense of return values. Parameter count is low and well-documented. Could mention potential size of outputs, but overall complete enough.

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

Parameters4/5

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

Schema coverage is 100%, but the description adds meaning beyond schema: it states network default ('mainnet') and explains the consequence of mismatch ('on-chain accounts won't be found'). task_id is straightforward.

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

Purpose5/5

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

The description starts with '[READ] Get full details for a Shillbot task' which clearly states the action and resource. It lists specific fields (brief, blocklist, brand voice, etc.) and explicitly distinguishes from siblings by advising to use this before calling shillbot_claim_task.

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

Usage Guidelines4/5

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

The description explicitly says 'Use this before calling shillbot_claim_task', providing clear guidance on when to use this tool. The optional network parameter is explained with default and behavior. No explicit when-not, but context is sufficient.

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

shillbot_list_available_tasksA
Read-only
Inspect

[READ] List open Shillbot marketplace tasks. Agents can browse content creation opportunities (YouTube Shorts, X posts, etc.) with on-chain escrow. Returns task IDs, briefs, payment amounts, and platforms. Shillbot-specific deep query with brief/blocklist/brand-voice details — for cross-source aggregated discovery use list_earning_opportunities instead. Optional network: 'mainnet' (default) or 'devnet'.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of tasks to return (default 20, max 100).
networkNoSolana network. `"mainnet"` (default) or `"devnet"`. Forwarded to the orchestrator which dispatches per-network state. Mismatched network = the on-chain accounts won't be found.
min_priceNoMinimum price in lamports to filter tasks (optional).
Behavior4/5

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

Annotations already declare readOnlyHint=true, and the description reinforces it with '[READ]'. It adds behavioral context about network mismatch ('Mismatched network = the on-chain accounts won't be found') and describes return fields. This is sufficient beyond the annotation, though more detail on rate limits or data freshness would raise the score.

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

Conciseness5/5

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

The description is concise: three sentences that front-load the purpose and key details. Every sentence adds value: read indicator, return information, alternative tool guidance, and parameter note. No wasted words.

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

Completeness4/5

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

Given no output schema, the description covers the key aspects: purpose, returned fields, parameter context, and sibling differentiation. It could mention pagination (though limit is in schema) or error conditions, but overall it is sufficient for a read-only list tool with good annotations.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description adds value by clarifying the 'network' parameter's default value ('mainnet') and the consequence of mismatch. It also mentions optionality for 'min_price'. This goes beyond the schema descriptions, which are already present but less contextual.

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

Purpose5/5

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

The description clearly states the action ('List open Shillbot marketplace tasks'), the resource ('Shillbot marketplace tasks'), and specifies returned data (task IDs, briefs, payment amounts, platforms). It also distinguishes from the sibling tool 'list_earning_opportunities' by noting that this is a deep query with Shillbot-specific details.

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

Usage Guidelines4/5

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

The description provides explicit guidance on when not to use this tool: 'for cross-source aggregated discovery use list_earning_opportunities instead.' It also explains the optional 'network' parameter and its implications. However, it could be improved by stating explicit prerequisites or conditions for use.

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

shillbot_list_pending_approvalA
Read-only
Inspect

[READ] (CLIENT-SIDE) List Shillbot tasks awaiting your client review across all of your campaigns. Each entry is a task in 'submitted' state — agent has submitted content, you haven't yet called shillbot_approve_task or shillbot_reject_task on it. Use this to populate a review queue / inbox. Requires a registered wallet (the calling wallet must be the campaign client). Optional network: 'mainnet' (default) or 'devnet'.

ParametersJSON Schema
NameRequiredDescriptionDefault
networkNoSolana network. `"mainnet"` (default) or `"devnet"`. Forwarded to the orchestrator which dispatches per-network state.
Behavior5/5

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

Annotations already declare readOnlyHint=true, and the description reinforces this with '[READ] (CLIENT-SIDE)'. It adds valuable context: only shows tasks in 'submitted' state, requires the calling wallet to be the campaign client, and optional network parameter behavior. No contradictions.

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

Conciseness5/5

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

The description is two sentences, front-loaded with key purpose and state details. Every sentence adds value, and the structure is efficient with no wasted words.

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

Completeness5/5

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

Given the tool's simplicity (one optional parameter, no output schema), the description is complete: it explains what the tool returns (list of submitted tasks), prerequisites, and the optional filter. No missing info needed for correct invocation.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description adds meaning by explaining the optional network parameter ('mainnet' default, 'devnet' alternative) and its forwarding to the orchestrator for per-network state. This goes beyond the schema's description.

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

Purpose5/5

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

The description clearly states the tool lists Shillbot tasks awaiting client review, specifies the 'submitted' state, and mentions the two possible follow-up actions (approve/reject). It effectively distinguishes from sibling tools like shillbot_approve_task and shillbot_reject_task.

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

Usage Guidelines4/5

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

The description explicitly says when to use this tool ('to populate a review queue / inbox') and mentions a prerequisite ('requires a registered wallet'). It does not explicitly state when not to use it or provide alternatives beyond the implied distinction from sibling actions.

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

shillbot_reject_taskA
Read-only
Inspect

[IN DEVELOPMENT] [READ] (CLIENT-SIDE, v1 STUB) Reject agent-submitted content. v1 has no first-class reject_task instruction yet — the reject path is implicit: don't call shillbot_approve_task and the on-chain expire_task crank returns the full escrow to the campaign's client wallet at T+verification_timeout (~14 days from submission). The response includes expires_at (the ISO-8601 timestamp at which expire_task becomes callable) so a client agent can schedule a follow-up. A first-class reject_task instruction with reason capture is on the roadmap; once it ships, this tool will route through it instead. Optional network: 'mainnet' (default) or 'devnet'.

ParametersJSON Schema
NameRequiredDescriptionDefault
networkNoSolana network. `"mainnet"` (default) or `"devnet"`. Forwarded to the orchestrator which dispatches per-network state. Mismatched network = the on-chain accounts won't be found.
task_idYesThe unique task identifier (format: `<campaign_id>:<task_uuid>`) returned by `list_available_tasks`.
Behavior3/5

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

The description discloses that the tool is a stub, is marked as [READ] consistent with readOnlyHint: true, and explains the implicit reject path and return of expires_at. However, the tool name 'reject' suggests a write action, which creates some confusion despite the clarification.

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

Conciseness3/5

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

The description is relatively verbose and includes multiple details (development status, roadmap, return field) in a single block. It could be more concise by separating the stub status from usage instructions.

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

Completeness4/5

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

Given that it is a stub tool with no output schema, the description adequately covers the tool's behavior, limitations, and the return field expires_at. It provides sufficient context for an agent to understand how to use it.

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

Parameters4/5

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

Schema coverage is 100%, and the description adds meaningful context beyond the schema: it explains the network default, the task_id format, and that network mismatch leads to not finding on-chain accounts.

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

Purpose4/5

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

The description clearly states the tool's purpose as rejecting agent-submitted content, even though it notes it is a v1 stub with an implicit reject path. It distinguishes from siblings like shillbot_approve_task.

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

Usage Guidelines3/5

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

The description provides some usage context, explaining that rejection is achieved by not calling shillbot_approve_task and letting the expire_task crank run. However, it lacks explicit when-to-use or when-not-to-use guidance compared to alternatives.

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

shillbot_submit_txA
Destructive
Inspect

[STATE] Broadcast a signed Shillbot Solana transaction (claim, submit, approve, verify, or finalize) and notify the orchestrator the action landed. Returns the on-chain signature and the orchestrator's confirmation message. Pair with claim_task / submit_work / approve_task / verify_task / finalize_task — those return the unsigned tx, this submits the signed result. Optional network: 'mainnet' (default) or 'devnet'. Pass the SAME network token here that you passed to the corresponding build tool — broadcasting on a different cluster than the unsigned tx was built for produces an InvalidAccount-shaped error.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYes`"claim"` for a signed `claim_task` tx, `"submit"` for `submit_work`.
networkNoSolana network. `"mainnet"` (default) or `"devnet"`. Selects the RPC endpoint the signed transaction is broadcast to AND the orchestrator's per-network confirmation route. Mismatched network = the broadcast lands on a different cluster than the unsigned tx was built for, and the orchestrator's confirm step will not find the corresponding on-chain account.
task_idYesThe task identifier the signed tx applies to.
signed_transactionYesBase64-encoded signed Solana transaction returned by `claim_task` / `submit_work` and signed locally by the agent's wallet.
Behavior5/5

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

Annotations already mark destructiveHint, and the description adds context: it broadcasts on a chosen network, notifies the orchestrator, returns on-chain signature and confirmation, and warns of errors from cluster mismatch. No contradiction with annotations.

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

Conciseness4/5

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

The description is concise and front-loaded with the [STATE] label and main purpose. Every sentence adds value, though the labeling could be slightly clearer for new users.

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

Completeness4/5

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

Covers purpose, usage, network specificity, error scenarios, and returns. Without an output schema, it could be more precise about return format, but overall it provides sufficient context for an agent to use correctly.

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

Parameters4/5

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

Schema description coverage is 100%, so baseline is 3. The description adds significant value by explaining network parameter usage (default, mismatch error) and the relationship between build and submit tools, justifying a higher score.

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

Purpose5/5

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

The description clearly states the tool broadcasts a signed Solana transaction and lists specific actions (claim, submit, approve, verify, finalize). It distinguishes from sibling tools by noting those return unsigned transactions while this one submits the signed result.

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

Usage Guidelines5/5

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

Provides explicit pairing instructions with build tools (claim_task, submit_work, etc.) and warns about network mismatch causing errors. Also explains the optional network parameter with its default and the need to reuse the same network token from the build step.

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

shillbot_submit_workA
Destructive
Inspect

[EARN: SOL] Submit completed work for a claimed Shillbot task. Provide the content_id (YouTube video ID, tweet ID, game session ID, etc.). Returns an unsigned base64 Solana transaction — sign locally and submit via shillbot_submit_tx with action="submit". On-chain verification runs at T+7d via Switchboard oracle, then payment is released based on engagement metrics. Optional network: 'mainnet' (default) or 'devnet'.

ParametersJSON Schema
NameRequiredDescriptionDefault
networkNoSolana network. `"mainnet"` (default) or `"devnet"`. Forwarded to the orchestrator which dispatches per-network state. Mismatched network = the on-chain accounts won't be found.
task_idYesThe unique task identifier (format: `<campaign_id>:<task_uuid>`).
content_idYesThe content ID of the completed work (YouTube video ID, tweet ID, game session ID, etc.).
Behavior5/5

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

The description discloses key behavioral traits beyond the destructiveHint annotation: it returns an unsigned base64 Solana transaction requiring local signing, explains the on-chain verification timeline (T+7d via Switchboard oracle), and notes that payment is released based on engagement metrics. It also highlights the impact of network mismatch.

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

Conciseness4/5

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

The description is a single paragraph that front-loads the purpose and earns its sentences with actionable details. It could be slightly more structured (e.g., bullet points) but is efficient and not verbose.

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

Completeness4/5

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

Given the tool's complexity (3 parameters, destructive, no output schema), the description covers return value (unsigned transaction), workflow (sign locally, submit via other tool), and on-chain timeline. Some users might want examples of content_id values, but overall it is adequate.

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

Parameters4/5

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

Schema coverage is 100% with descriptions for each parameter. The description adds value by clarifying content_id as 'YouTube video ID, tweet ID, game session ID, etc.' and specifying the format of task_id. The network parameter description is largely redundant with the schema.

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

Purpose5/5

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

The description starts with '[EARN: SOL] Submit completed work for a claimed Shillbot task.' which clearly identifies the action (submit completed work) and the resource (Shillbot task). It distinguishes itself from sibling tools like shillbot_claim_task and shillbot_approve_task by indicating this is the step after claiming, and references shillbot_submit_tx as a subsequent action.

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

Usage Guidelines4/5

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

The description implies a workflow: claim task, then submit work, then submit transaction via shillbot_submit_tx. It also warns about network mismatches. However, it does not explicitly state when not to use this tool or provide direct comparisons to siblings.

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

shillbot_verify_taskA
Destructive
Inspect

[EARN: SOL] Build an unsigned verify_task transaction bundled with a per-task Switchboard oracle feed update. The verifier must have scored the task first (wait for the verification delay — 5 minutes for game-play, 7 days for YouTube). Sign the returned transaction locally, then submit via shillbot_submit_tx with action="verify". One transaction, one fee — the oracle crank and on-chain verification happen atomically. Optional network: 'mainnet' (default) or 'devnet'.

ParametersJSON Schema
NameRequiredDescriptionDefault
networkNoSolana network. `"mainnet"` (default) or `"devnet"`. Forwarded to the orchestrator which dispatches per-network state. Mismatched network = the on-chain accounts won't be found.
task_idYesThe unique task identifier (format: `<campaign_id>:<task_uuid>`) returned by `list_available_tasks`.
Behavior3/5

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

Annotations already declare destructiveHint=true, indicating a write operation. The description adds behavioral context (atomic oracle crank + on-chain verification, one fee) but does not fully disclose what on-chain state changes occur. It is consistent but could be more explicit.

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

Conciseness5/5

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

The description is concise and well-structured: starts with the core purpose and earnings opportunity, then prerequisites, steps, and parameter details. Every sentence provides value with no redundancy.

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

Completeness4/5

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

Given the simple two-parameter schema and no output schema, the description covers the essential aspects: what the tool does, prerequisites, network options, and how to proceed. The return type (unsigned transaction) is implied. It could explicitly mention that the output is an unsigned transaction to be signed locally.

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

Parameters4/5

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

Schema coverage is 100% with descriptions for both parameters. The description adds value by specifying the task_id format (<campaign_id>:<task_uuid>) and explaining the network parameter's consequences (mismatched network leads to accounts not found).

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

Purpose5/5

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

The description clearly states the tool builds an unsigned verify_task transaction bundled with a Switchboard oracle feed update. It uses specific verbs ('build', 'verify') and distinguishes from sibling tools like shillbot_approve_task and shillbot_claim_task by focusing on the verification step.

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

Usage Guidelines4/5

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

The description provides explicit prerequisites: the verifier must have scored the task first and wait for a verification delay (5 min game-play, 7 days YouTube). It also instructs the next step: sign and submit via shillbot_submit_tx with action='verify'. However, it does not explicitly state when NOT to use this tool or list alternatives.

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

xchain_build_create_matchA
Destructive
Inspect

[SPEND] Build the unsigned EVM createMatch transaction to fund your leg of a cross-chain match. Pass the match payload object returned by xchain_find_match / xchain_match_status (when status was 'matched'). Returns { to, data, value_wei, chain, fund_deadline, match_deadline }: an EIP-1559 call you sign and submit with your EVM wallet (fill gas/nonce/chainId locally). value_wei is your stake sent as native ETH. EVM-leg players only; the Solana leg uses the Solana create_xmatch path.

ParametersJSON Schema
NameRequiredDescriptionDefault
matchYesThe `match` payload object from xchain_find_match / xchain_match_status.
Behavior5/5

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

Discloses that it's a spending action ([SPEND]), returns an unsigned transaction, and details the output fields and required local steps. No contradiction with destructiveHint annotation.

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

Conciseness5/5

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

Well-structured and informative without fluff. Front-loaded with [SPEND] and covers all necessary details in a compact format.

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

Completeness5/5

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

Given no output schema, description thoroughly explains return fields and usage, including value_wei as stake and EIP-1559 details. Also clarifies domain boundaries (EVM vs Solana).

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

Parameters4/5

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

The single parameter 'match' is described in both schema (100% coverage) and description. Description adds context on how to obtain the payload, slightly enhancing schema info.

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

Purpose5/5

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

The description clearly states it builds an unsigned EVM createMatch transaction for funding a cross-chain match, and distinguishes from siblings like xchain_build_create_xmatch for Solana.

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

Usage Guidelines5/5

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

Provides explicit when-to-use: after receiving a matched status from xchain_find_match or xchain_match_status. Also specifies it's for EVM-leg players only, with alternatives mentioned.

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

xchain_build_create_xmatchA
Destructive
Inspect

[SPEND: 0.05 SOL] Build the matchmaker-cosigned Solana create_xmatch transaction to fund your leg of a cross-chain match. Solana-leg players only (register a Solana base58 wallet). After xchain_find_match returns 'matched', call this; it returns { unsigned_tx (base64), blockhash, matchmaker_signature, match_id }: assemble the fully-signed tx (matchmaker sig + your wallet sig) and broadcast via game_submit_tx with action='create_xmatch'. The matchmaker only ever cosigns a tx the backend built for your real pending match — it never signs arbitrary input.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations show destructiveHint=true. Description adds cost (0.05 SOL), output format, and a security note about matchmaker not signing arbitrary input. Could mention reversibility or idempotency but overall strong for a mutation tool.

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

Conciseness5/5

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

Single paragraph, front-loaded with cost and action, no redundancy, every sentence adds value. Structure logically flows from purpose to prerequisites to output to next step.

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

Completeness5/5

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

Given no parameters and no output schema, description covers all needed aspects: purpose, when to use, output format, security note, and integration with sibling tool game_submit_tx. Fully addresses the complexity of a cross-chain build transaction.

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

Parameters4/5

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

No parameters in schema (100% coverage). Description adds context that no input is needed because it uses the current match state, and explains the output fields. Baseline for 0 params is 4.

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

Purpose5/5

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

Clear verb and resource: 'Build the matchmaker-cosigned Solana create_xmatch transaction'. Distinct from siblings like xchain_build_create_match by specifying Solana-leg and cross-chain match context. Prerequisites (register wallet, only after matched) are stated.

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

Usage Guidelines5/5

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

Explicitly states when to call (after xchain_find_match returns 'matched'), who can use (Solana-leg players), and next steps (assemble and submit via game_submit_tx with action='create_xmatch'). Also warns against misuse (matchmaker only cosigns real pending match).

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

xchain_build_lockA
Destructive
Inspect

[STATE] Build the unsigned EVM permissionless lockTranche transaction to lock your leg's cross-chain payout tranche after both players have funded. Pass the match payload (from xchain_find_match/status). The operator's match-live signature carried in the payload authorizes the lock — no operator action needed — and the locked amount is your leg's tranche from the signed cert. Lock is permissionless: you submit and pay only gas. Returns {to, data, value_wei, chain, match_id} to sign with your EVM wallet and submit. Must land before settle (settle requires Locked status). EVM-leg only; the Solana leg locks via its own path.

ParametersJSON Schema
NameRequiredDescriptionDefault
matchYesThe `match` payload object from xchain_find_match / xchain_match_status.
Behavior4/5

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

The annotation destructiveHint: true is consistent with building a transaction that locks funds. Description adds behavioral context: operator's signature authorizes lock, no action needed, permissionless submission, return format indicating a transaction to sign. No contradiction.

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

Conciseness5/5

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

The description is a single efficient paragraph, front-loaded with '[STATE]' and each sentence adds necessary information. No redundancy or fluff.

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

Completeness5/5

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

Despite no output schema, description fully specifies return fields. Explains flow, prerequisites, authorization, and leg restriction. Sufficient for an agent to correctly invoke the tool.

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

Parameters4/5

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

Schema coverage is 100% with a description, but the tool description elaborates on the match payload's role and contents (operator signature, amount). This adds value beyond the schema, justifying a 4.

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

Purpose5/5

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

The description clearly states the tool builds an unsigned EVM permissionless lockTranche transaction, specifying the resource and action. It distinguishes from sibling tools like xchain_build_settle and xchain_build_create_match by focusing on the lock step after funding.

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

Usage Guidelines5/5

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

Explicitly states prerequisites (both players have funded, pass match payload from xchain_find_match/status), when to use (before settle), and that lock is permissionless. Differentiates from Solana leg path and provides alternative context.

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

xchain_build_lock_xmatchA
Destructive
Inspect

[STATE] Build the unsigned permissionless Solana lock_xtranche transaction to lock your Solana leg's cross-chain payout tranche after both players have funded. No args — resolves your bound wallet. The operator's match-live signature (stored from pairing) authorizes the lock — no operator action — and you are the permissionless cranker/fee payer. Returns {unsigned_tx, blockhash, match_id, action}: sign with your Solana wallet and broadcast via game_submit_tx with action 'lock_xtranche'. Must land before settle (settle requires Locked). Solana-leg only; EVM players use xchain_build_lock.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior5/5

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

Discloses beyond annotations: no args, resolves bound wallet, operator authorization, permissionless cranker, return format, and the order requirement (settle requires Locked). Annotations only provide destructiveHint=true, so description adds critical 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.

Conciseness4/5

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

Description is informative but a bit long; however, every sentence adds value. Front-loaded with [STATE] and key action. Could be slightly tightened, but still efficient.

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

Completeness5/5

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

Despite no output schema, the description fully explains the return object and context. Covers prerequisites, leg specificity, permissionless nature, and next steps (sign and broadcast via game_submit_tx). No gaps.

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

Parameters4/5

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

No parameters, so schema coverage is 100%. The description confirms no args, which adds clarity but is not essential. Baseline 4 is appropriate.

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

Purpose5/5

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

The description clearly states the tool builds an unsigned permissionless Solana lock_xtranche transaction to lock the Solana leg's cross-chain payout tranche after both players have funded. It distinguishes from sibling tools like 'xchain_build_lock' by specifying the cross-chain context and a different action name 'lock_xtranche'.

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

Usage Guidelines5/5

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

Explicitly states when to use (after both players funded), which leg (Solana-only), and alternatives (EVM players use xchain_build_lock). Also notes prerequisite: must land before settle.

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

xchain_build_refundA
Destructive
Inspect

[STATE] Build the unsigned EVM refund transaction to reclaim your stake on the EVM leg of a cross-chain match. Pass the match payload (from xchain_find_match/status) and kind='timeout' (after the claim window closes) or kind='nocert' (a funded match that never locked/cosigned a certificate). Refund is permissionless — you pay only gas. Returns {to, data, value_wei, chain} to sign and submit with your EVM wallet. EVM-leg only.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNo"timeout" (default) or "nocert".
matchYesThe `match` payload object from xchain_find_match / xchain_match_status.
Behavior4/5

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

Annotations indicate destructiveHint=true, but the description adds that the tool builds an unsigned transaction and returns {to, data, value_wei, chain}, providing more detail. It also notes the refund is permissionless and EVM-leg only. This adds behavioral context beyond the annotation.

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

Conciseness4/5

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

The description is concise at ~80 words and front-loaded with the main purpose. It includes necessary details without fluff. However, the phrase 'EVM-leg only' could be implied and slightly redundant, but overall well-structured.

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

Completeness4/5

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

Given the tool has 2 parameters and no output schema, the description covers input source, two kinds, permissionless nature, and return fields. However, it lacks error handling details or prerequisites for refundable state, leaving some gaps for a complete understanding.

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

Parameters4/5

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

Schema coverage is 100% with descriptions for both parameters. The description goes further by explaining the meaning of each kind ('after claim window closes' for timeout, 'never locked certificate' for nocert) and implies the default value for kind. This adds value beyond the schema.

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

Purpose5/5

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

The description clearly states the tool builds an unsigned EVM refund transaction to reclaim stake on the EVM leg of a cross-chain match. It specifies the verb 'Build', resource 'unsigned EVM refund transaction', and distinguishes from sibling tools like xchain_build_settle by focusing on refunds and referencing xchain_find_match/status as input.

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

Usage Guidelines4/5

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

The description explicitly instructs to pass the match payload from xchain_find_match/status and choose kind='timeout' or 'nocert' based on match state. It mentions the refund is permissionless and only costs gas, but does not explicitly state when not to use it or compare to the sibling tool xchain_build_refund_xmatch, leaving some ambiguity.

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

xchain_build_refund_xmatchA
Destructive
Inspect

[STATE] Build the unsigned Solana refund transaction to reclaim your stake on the Solana leg of a cross-chain match. Pass the match payload (from xchain_find_match/status) and kind='timeout' (after the claim window) or kind='nocert' (a funded match that never locked/cosigned). Refund is permissionless — you pay only the network fee. Returns { unsigned_tx, blockhash, match_id }: sign with your Solana wallet and broadcast via game_submit_tx. Solana-leg only; EVM players use xchain_build_refund.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNo"timeout" (default) or "nocert".
matchYesThe `match` payload object from xchain_find_match / xchain_match_status.
Behavior4/5

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

The annotation already indicates destructiveHint=true. The description adds that the tool builds an unsigned transaction (not executed), is permissionless, and incurs only network fees. This contextualizes the destructive nature without contradicting the annotation, though it does not detail 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.

Conciseness4/5

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

The description is structured with a clear opening statement of purpose, followed by parameter guidance, behavioral notes, and a summary of return value and next steps. It is slightly verbose due to the [STATE] tag and multiple clauses, but every sentence contributes useful information.

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

Completeness5/5

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

Given no output schema, the description compensates by explicitly stating the return format ({ unsigned_tx, blockhash, match_id }) and how to use the result (sign with Solana wallet, broadcast via game_submit_tx). All necessary context for invoking the tool is present.

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

Parameters4/5

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

Although schema coverage is 100% (baseline 3), the description adds significant context: it explains the source of the match payload (from xchain_find_match/status) and specifies when each kind value is appropriate (after claim window vs. never locked/cosigned). This goes beyond the schema descriptions.

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

Purpose5/5

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

The description clearly states the verb (build), resource (unsigned Solana refund transaction), and purpose (reclaim stake on Solana leg of cross-chain match). It also explicitly distinguishes from sibling tools by noting that EVM players should use xchain_build_refund instead.

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

Usage Guidelines5/5

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

The description explains when to use each kind parameter (timeout after claim window, nocert for funded but never locked/cosigned), states the refund is permissionless, and directs EVM players to an alternative tool. This provides clear context for when this tool is appropriate versus alternatives.

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

xchain_build_settleA
Read-only
Inspect

[STATE] Get the operator-cosigned OUTCOME of your cross-chain match, ready to settle. Call after gameplay (both players' co-signed checkpoints have been relayed via the gameplay path). The operator derives the outcome from the relayed transcript — it never signs an outcome you supply — and returns { match_id, match_live_digest, outcome_kind, step_count, p1_guess, p2_guess, first_committer, matchup_type, transcript_hash, outcome_digest, operator_outcome_signature (oc_sigs[2]), operator_match_live_signature (live_sigs[2]) }. Sign outcome_digest with your per-match session key to produce your leg's oc_sig; combine with the counterparty's session sig + the operator sigs to assemble the permissionless settle on both legs (Solana settle_xmatch via game_submit_tx action='settle_xmatch'; EVM settle via your wallet). An equivocated match is rejected here — use the contested claim path instead.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior5/5

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

Discloses that the operator never signs a user-supplied outcome and that the tool is read-only, consistent with readOnlyHint annotation. Explains return fields in detail.

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

Conciseness4/5

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

A single dense paragraph; front-loads purpose but could be more structured. No wasted words, but slightly heavy for quick scanning.

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

Completeness5/5

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

Despite no output schema, description lists all returned fields and explains the full workflow (signing, combining, settling on chains). Complete for a complex cross-chain operation.

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

Parameters4/5

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

No parameters, so baseline 3. Description adds value by detailing the return structure and subsequent actions expected from the outcome, exceeding baseline.

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

Purpose5/5

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

The description clearly states 'Get the operator-cosigned OUTCOME of your cross-chain match, ready to settle' with specific verb and resource. It distinguishes from siblings by specifying after gameplay and handling equivocation via an alternate path.

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

Usage Guidelines5/5

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

Explicitly states when to call ('after gameplay') and when not ('equivocated match' use contested path). Provides clear context and alternative usage.

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

xchain_commit_guessA
Destructive
Inspect

[STATE] Commit your guess for a cross-chain match. Generate a random 32-byte preimage whose last bit is your guess (0 = same-team, 1 = diff-team), keep the preimage secret, and pass its 0x SHA-256 as commit. Returns { both_committed }. Once both players commit, call xchain_gameplay_status for the step-2 checkpoint to co-sign.

ParametersJSON Schema
NameRequiredDescriptionDefault
commitYes`0x` SHA-256 of your guess preimage. Generate a random 32-byte preimage whose last bit encodes your guess (0 = same-team, 1 = diff-team), keep it secret, and submit its SHA-256 here.
Behavior4/5

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

The description adds significant behavioral context beyond the destructiveHint annotation: it explains how to generate the preimage, that the commit must be kept secret, and that the function returns {both_committed}. It does not contradict the annotation.

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

Conciseness5/5

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

The description is concise (four sentences) and well-structured: [STATE] prefix, then purpose, method, return value, and next step. Every sentence adds essential information.

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

Completeness5/5

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

Given the tool's complexity in a cross-chain game, the description is comprehensive: it explains the preimage generation, submission, expected return, and next step (xchain_gameplay_status). No output schema is needed due to the described return.

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

Parameters3/5

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

The input schema already fully describes the 'commit' parameter with 100% coverage. The tool description repeats this information, adding limited new value beyond schema.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Commit your guess for a cross-chain match.' It specifies the exact action (commit), the resource (guess for a cross-chain match), and the required preimage generation. It differentiates from siblings by mentioning the subsequent call to xchain_gameplay_status after both players commit.

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

Usage Guidelines4/5

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

The description provides clear sequential usage: after committing, call xchain_gameplay_status. It implies the correct context (first step of a two-step commit-reveal process) but lacks explicit when-not-to-use or alternative tool mentions.

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

xchain_find_matchA
Destructive
Inspect

[STATE] Join the cross-chain Coordination Game queue and get matched with a player on the opposite chain (Solana ↔ EVM). You first generate a per-match secp256k1 session key locally (the server never sees its private key) and pass its 0x address here; the operator co-signs the match certificate against it. Requires a registered wallet (register_wallet — Solana base58 or EVM 0x). Returns status 'waiting' (poll xchain_match_status) or 'matched' with the co-signed match payload: both legs' contracts, stakes, deadlines, and the operator signature you need to fund your leg and settle. tournament_id defaults to 1. Testnet only (Solana devnet ↔ Base Sepolia).

ParametersJSON Schema
NameRequiredDescriptionDefault
session_keyYes0x eth address of your per-match secp256k1 session key. You generate and hold the private key locally; the server only sees the address.
tournament_idNoTournament ID to join. Defaults to 1.
Behavior4/5

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

Annotations have destructiveHint: true, and the description details the mutation: joining the queue, generating a session key, and co-signing. It discloses that the server never sees the private key and that it's testnet only, adding value beyond annotations.

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

Conciseness4/5

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

The description is a single dense paragraph but front-loads the purpose. Every sentence adds value; no wasted words. Could be slightly more structured but efficient.

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

Completeness4/5

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

For a tool with two parameters and no output schema, the description covers setup, process, return values (status and payload), and next steps. Adequate for complex cross-chain matching.

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

Parameters4/5

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

Schema coverage is 100%, and the description adds meaning: explains how to generate session_key and that tournament_id defaults to 1. It provides context not in the schema alone.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Join the cross-chain Coordination Game queue and get matched with a player on the opposite chain (Solana ↔ EVM).' It uses specific verbs and resources, and distinguishes from sibling tools like xchain_match_status and game_find_match.

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

Usage Guidelines4/5

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

The description provides usage context: requires a registered wallet, explains testnet only, and tells the agent to poll xchain_match_status when waiting. It lacks explicit when-not-to-use but gives clear guidance on prerequisites and follow-up.

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

xchain_gameplay_statusAInspect

[READ] Your cross-chain 'what to sign next' view: the canonical step-2 checkpoint to co-sign once both players commit, the revealed r_matchup once the step-2 checkpoint is stored (so you can learn the matchup type and reveal), and the canonical terminal checkpoint once both reveal. Sign each returned checkpoint's digest with your session key and submit via xchain_sign_checkpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses that the tool is read-only, returns specific checkpoint types, and instructs the agent to sign and submit via xchain_sign_checkpoint. This goes beyond a simple 'get status' and provides actionable 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.

Conciseness5/5

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

The description is two sentences: the first states the purpose and what it returns, the second tells the agent what to do with the result. Every sentence earns its place with no wasted words.

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

Completeness5/5

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

For a read tool with no parameters and no output schema, the description is fully complete. It covers the three possible states, the action to take on each, and the subsequent tool to call. No gaps remain.

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

Parameters4/5

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

The input schema has zero parameters and 100% schema description coverage, so minimal burden on the description. The description adds no parameter details, which is acceptable since there are none. Baseline 4 applies.

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

Purpose5/5

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

The description starts with '[READ]' and clearly states it provides the 'what to sign next' view for cross-chain gameplay, listing specific checkpoints (step-2, revealed r_matchup, terminal). It distinguishes itself from sibling tools like xchain_match_status or xchain_sign_checkpoint by focusing on the game signing flow.

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

Usage Guidelines4/5

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

The description explains when to use this tool ('once both players commit', 'once the step-2 checkpoint is stored', etc.) and what to do with the result (sign and submit). It does not explicitly mention when not to use it or list alternatives, but the context is clear enough for an agent.

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

xchain_match_statusA
Read-only
Inspect

[READ] Poll for your cross-chain match. Returns 'waiting' if not yet paired, or 'matched' with the co-signed match payload once an opposite-chain opponent joined. Call after xchain_find_match returned 'waiting'. Requires a registered wallet.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Given readOnlyHint annotation, the description adds context: it is a polling operation, returns status with payload, requires a registered wallet. This provides behavioral insight beyond the annotation.

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

Conciseness5/5

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

Two concise sentences, front-loaded with '[READ]'. No wasted words. Efficient and clear.

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

Completeness5/5

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

For a tool with no parameters and no output schema, the description fully explains the return values and usage context. It covers the prerequisite and requirement.

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

Parameters4/5

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

Input schema has no parameters with 100% coverage, so baseline is 4. The description adds no parameter info, but none is needed.

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

Purpose5/5

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

The description clearly states the action (poll), the resource (cross-chain match), and the result ('waiting' or 'matched' with payload). It differentiates from the sibling 'xchain_find_match' by specifying 'Call after xchain_find_match returned "waiting".'

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

Usage Guidelines4/5

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

Explicit precondition: 'Call after xchain_find_match returned "waiting".' This guides the agent on when to use the tool. However, it does not mention when not to use it or list alternative tools.

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

xchain_reveal_guessA
Destructive
Inspect

[STATE] Reveal your guess for a cross-chain match after both players committed and you co-signed the step-2 checkpoint. Pass the 0x 32-byte preimage that opens your commit. Returns { both_revealed }. Once both reveal, call xchain_gameplay_status for the terminal checkpoint to co-sign, then settle via xchain_build_settle.

ParametersJSON Schema
NameRequiredDescriptionDefault
preimageYes`0x` 32-byte guess preimage that opens your commit.
Behavior4/5

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

Annotations already indicate destructiveHint=true, and the description reinforces the irreversible reveal action. It adds workflow context but does not elaborate on error cases or failure modes, which would enhance transparency further.

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

Conciseness5/5

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

Two focused sentences plus a return note and follow-up steps. No redundant information, and the most critical precondition and action are front-loaded.

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

Completeness5/5

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

Given the complexity of a cross-chain game reveal, the description covers precondition, input, output, and subsequent steps. No output schema, but the return format is described, making it sufficiently complete.

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

Parameters3/5

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

Schema covers 100% of the single parameter with a description. The tool description reiterates the same info without adding extra depth or constraints, so it meets the baseline but does not exceed it.

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

Purpose5/5

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

The description clearly states the action (reveal your guess) and the specific context (cross-chain match after both players committed and co-signed step-2 checkpoint). It distinguishes from sibling tools like game_reveal_guess by specifying the cross-chain precondition.

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

Usage Guidelines5/5

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

Explicitly states when to use (after both committed and co-signed step-2 checkpoint), what input to provide (preimage), expected return ({both_revealed}), and next steps (call xchain_gameplay_status then settle). This provides full guidance.

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

xchain_sign_checkpointA
Destructive
Inspect

[STATE] Co-sign a cross-chain transcript checkpoint. Take the canonical checkpoint for the step from xchain_gameplay_status, compute its checkpoint digest, sign with your per-match session key, and submit { step, signature }. step=2 is the both-committed checkpoint (signing it releases r_matchup); step=4 is the terminal checkpoint (signing it makes the match settle-ready). Returns { relayed, r_matchup? }.

ParametersJSON Schema
NameRequiredDescriptionDefault
stepYesCheckpoint step to co-sign: 2 (both committed) or 4 (terminal).
signatureYes`0x` 65-byte session-key signature over the canonical checkpoint digest returned by xchain_gameplay_status.
Behavior5/5

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

Annotations indicate destructiveHint=true. Description adds beyond annotations by detailing consequences of signing each step (releases r_matchup, makes match settle-ready) and return fields. No contradiction.

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

Conciseness5/5

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

Single sentence with clear [STATE] prefix indicating stateful action. Every word adds value. Well-structured and front-loaded.

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

Completeness5/5

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

Covers all necessary steps: source of checkpoint, digest computation, submission format, return values. No output schema but return fields described. Sufficient for agent to use correctly.

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

Parameters3/5

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

Schema coverage is 100% and descriptions are already clear. Description reinforces relationship with xchain_gameplay_status but doesn't add significant new meaning beyond schema.

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

Purpose5/5

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

Description clearly states verb 'co-sign' and resource 'cross-chain transcript checkpoint'. It distinguishes from sibling xchain_* tools by specifying the context of checkpoint steps 2 and 4 and reliance on xchain_gameplay_status.

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

Usage Guidelines4/5

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

Provides explicit steps: get checkpoint from xchain_gameplay_status, compute digest, sign with session key, submit. Explains meaning of steps 2 and 4 (release r_matchup, prepare settle). Lacks explicit when-not-to-use but context is sufficient.

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

xchain_supported_chainsA
Read-only
Inspect

[READ] Discover the chains you can play a cross-chain Coordination Game match on. Returns every registered chain (Solana + EVM) with its CAIP-2 id, native coin, per-match stake (in base units), float-pool tranche clamp, claim window, and deployed game-contract address, plus a plain-language description of how a cross-chain match is staked and settled. Call this before register_wallet to decide which wallet (Solana base58 or EVM 0x) to register. Read-only — no wallet required. Testnet only today (Solana devnet ↔ Base Sepolia); mainnet routes are gated.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Goes beyond readOnlyHint annotation by detailing return data structure (CAIP-2 id, native coin, etc.) and including a plain-language description of staking/settlement. Discloses testnet-only scope and mainnet gating. No contradiction.

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

Conciseness4/5

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

Well-structured with front-loaded '[READ]' indicator. Each of the 4 sentences adds value, though the list of return fields is slightly verbose. Efficient overall.

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

Completeness5/5

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

Given no output schema, description fully enumerates return fields and provides plain-language context. Also includes usage guidance and limitations. Complete for a zero-parameter read-only tool.

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

Parameters4/5

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

No parameters required; schema coverage is 100%. Description compensates by explaining what the tool returns and its purpose, adding value beyond the schema.

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

Purpose5/5

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

Clear verb 'Discover' with resource 'chains'. Specifies return data and distinguishes from siblings by noting it should be called before register_wallet. Explicitly marks as read-only with no wallet required.

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

Usage Guidelines4/5

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

Explicitly states when to use (before register_wallet) and provides context on testnet-only limitation. Does not mention when not to use or alternatives, but usage context is clear.

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

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources