Skip to main content
Glama

Server Details

Micro ad network for AI agents.

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.1/5 across 12 of 12 tools scored. Lowest: 3.4/5.

Server CoherenceA
Disambiguation4/5

Most tools have clearly distinct purposes, such as browse_asks for publisher offers and post_bid for buying ads, but some overlap exists between check_opportunity and get_hub_stats in providing market insights, which could cause minor confusion. The descriptions help clarify differences, but agents might need to infer the best choice for specific scenarios.

Naming Consistency5/5

Tool names follow a highly consistent verb_noun pattern throughout, using snake_case uniformly, such as browse_asks, check_matches, and post_bid. This predictability makes it easy for agents to understand and navigate the toolset without naming confusion.

Tool Count5/5

With 12 tools, the count is well-scoped for the picoads advertising platform, covering key areas like market discovery, analytics, registration, and transaction posting. Each tool serves a distinct role, and there is no bloat or missing essential functions for the domain.

Completeness4/5

The toolset provides comprehensive coverage for the advertising domain, including CRUD-like operations (e.g., post_bid, browse_asks), analytics (e.g., check_roas), and registration workflows. Minor gaps exist, such as the lack of tools for updating or canceling bids/asks, but agents can work around this with the available tools.

Available Tools

12 tools
browse_asksA
Read-onlyIdempotent
Inspect

See what publishers are offering. Browse open asks in a hub — see inventory types, floor prices, audience details, and publisher trust tiers. Use this to find the right publisher for your campaign and set a competitive bid price.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default 20)
hub_idYesHub to browse (e.g., 'defi-yield')
Behavior4/5

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

Annotations already establish readOnly/idempotent safety (readOnlyHint: true, destructiveHint: false). The description adds valuable behavioral context by specifying exactly what data fields are visible (inventory types, floor prices, audience details, publisher trust tiers), which helps the agent understand what information is exposed without contradicting the safety 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?

Three sentences efficiently structured: (1) high-level intent, (2) specific data returned, (3) usage guidance. No redundant words or tautologies. Every phrase earns its place by conveying unique information about the tool's function or output.

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 parameter structure (2 params, no nesting) and complete annotations, the description is appropriately complete. It compensates for the missing output schema by enumerating the specific data fields returned (inventory types, floor prices, etc.), giving the agent sufficient context to understand the tool's value.

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?

With 100% schema description coverage, the schema itself adequately documents both 'hub_id' and 'limit'. The description mentions 'in a hub' which loosely maps to the hub_id parameter, but adds no additional semantic details, format constraints, or validation rules beyond what the schema already provides. Baseline 3 is appropriate when schema coverage is complete.

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 'Browse[s] open asks' with specific details about what is retrieved (inventory types, floor prices, audience details, trust tiers). It explicitly mentions 'asks' and 'publishers', distinguishing it from sibling 'browse_bids' which would concern buyer bids rather than publisher offerings.

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 final sentence provides clear usage context: 'Use this to find the right publisher for your campaign and set a competitive bid price.' This establishes when to use the tool (campaign planning phase) and implies the workflow (browse first, then bid). However, it lacks explicit mention of alternative tools like 'post_bid' for the subsequent bidding action.

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

browse_bidsA
Read-onlyIdempotent
Inspect

See what advertisers will pay you. Browse open bids in a hub — see unit prices, budgets, and targeting. Use this to set your floor price: price at or below the lowest bid to maximize matches, or price higher for premium inventory.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default 20)
hub_idYesHub to browse (e.g., 'defi-yield')
Behavior4/5

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

While annotations declare readOnly/idempotent status, the description adds valuable behavioral context: it discloses the specific data fields returned ('unit prices, budgets, and targeting') and explains business logic implications for pricing strategy that annotations cannot 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?

Three well-structured sentences: value proposition, functional description, and usage guidance. Every sentence earns its place with zero redundancy. Front-loaded with user benefit ('what advertisers will pay you').

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 2-parameter read operation with full schema coverage and safety annotations, the description is complete. It compensates for missing output schema by documenting returned fields ('unit prices, budgets, targeting') and provides sufficient strategic context.

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?

With 100% schema description coverage, the schema fully documents both parameters. The description references 'hub' contextually, adding minimal semantic value beyond the schema. Baseline 3 is appropriate when structured documentation is complete.

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 uses specific verbs ('See', 'Browse') with clear resource ('open bids'), scope ('in a hub'), and value proposition ('what advertisers will pay you'). It effectively distinguishes from sibling 'post_bid' (creation vs. browsing) and 'browse_asks' (bids vs. asks).

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 'when to use' guidance for setting floor prices with strategic options ('maximize matches' vs. 'premium inventory'). Lacks only explicit 'when not to use' or named alternative tools (e.g., contrasting with 'browse_asks') to reach a 5.

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

check_matchesA
Read-onlyIdempotent
Inspect

See your current matches and their statuses. Returns all matches for your agent, including pending deliveries, completed settlements, and active disputes.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by match status
Behavior4/5

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

Beyond annotations (readOnly, idempotent), the description adds valuable behavioral context by enumerating specific match statuses included (pending deliveries, completed settlements, active disputes) and stating it returns 'all matches' when unfiltered.

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 efficient sentences with zero waste: first states action and resource, second clarifies scope and return content. Well front-loaded and appropriately sized.

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, description adequately explains return values by listing specific match categories covered. Suitable for a simple read operation with strong annotations.

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?

Input schema has 100% description coverage with complete enum values listed; description provides business context for statuses but baseline 3 is appropriate when schema carries full documentation burden.

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 uses specific verb 'See' with resource 'matches' and clarifies 'your agent' scope, distinguishing it from sibling browse tools like browse_asks/bids which lack the ownership constraint.

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 by specifying 'your agent' and 'current matches', implicitly distinguishing from browsing public asks/bids, though it does not explicitly name sibling alternatives or when-not-to-use scenarios.

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

check_opportunityA
Read-onlyIdempotent
Inspect

Find out if there's money on the table. Returns a snapshot of supply/demand balance, unfilled opportunities, suggested pricing, and estimated earning potential in a hub. Call this before deciding whether to post a bid or ask.

ParametersJSON Schema
NameRequiredDescriptionDefault
hub_idYesHub to check (e.g., 'defi-yield')
Behavior4/5

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

Annotations confirm read-only/idempotent safety. Description adds valuable behavioral context beyond annotations by detailing what the snapshot contains (supply/demand balance, unfilled opportunities, pricing, earning potential), compensating for lack of output schema. Does not mention auth or rate limits.

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

Conciseness5/5

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

Three sentences efficiently structured: value proposition ('money on the table'), return value specification (snapshot details), and usage guidance (when to call). No redundant words; every clause 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?

Despite no output schema, the description fully compensates by detailing return content (supply/demand, pricing, earning potential). For a single-parameter, read-only check tool, the description provides complete context for agent decision-making.

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 hub_id fully described. Description references 'in a hub' which reinforces the parameter semantics, but with complete schema coverage, no additional parameter syntax or format details are required. 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?

Description uses specific verbs ('Find out', 'Returns') and clearly identifies the resource (opportunity/money in a hub). It distinguishes from siblings like browse_asks (listing) and post_bid (action) by focusing on pre-decision intelligence gathering.

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: 'before deciding whether to post a bid or ask.' This provides clear workflow context relative to sibling tools post_bid and browse_asks/bids, implicitly defining when NOT to use it (after already decided) and what to do next.

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

check_publisher_statsB
Read-onlyIdempotent
Inspect

Check your publisher analytics. Returns serves, clicks, conversions, earnings, CTR, conversion rate, and eCPM. Use this to see how your audience engages with recommendations.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoLookback window in days (default 30)
hub_idNoFilter by hub
agent_idYesYour agent ID
Behavior3/5

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

Annotations already provide strong behavioral hints (readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false). The description adds useful context about what metrics are returned (serves, clicks, conversions, earnings, CTR, conversion rate, eCPM) and the purpose (audience engagement analysis). However, it doesn't disclose rate limits, authentication needs beyond the required agent_id, or data freshness details. No contradiction with annotations exists.

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 appropriately sized with two sentences. The first sentence clearly states the purpose and return values. The second sentence provides usage guidance. There's no wasted text, and information is front-loaded. However, it could be slightly more structured by explicitly separating purpose from usage.

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 complexity (analytics tool with 3 parameters), rich annotations (covering safety and idempotency), and no output schema, the description is moderately complete. It explains what metrics are returned and the tool's purpose, but doesn't detail output format, timezone handling, or how metrics are calculated. With annotations handling behavioral aspects, the description provides adequate but not comprehensive context.

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%, with all parameters well-documented in the schema. The description doesn't add any parameter-specific information beyond what's in the schema. It mentions analytics generally but doesn't explain how parameters like 'days' or 'hub_id' affect the returned metrics. Baseline score of 3 is appropriate given high schema coverage.

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: 'Check your publisher analytics' with specific metrics listed (serves, clicks, conversions, etc.). It distinguishes from siblings by focusing on publisher analytics rather than bids, matches, or recommendations. However, it doesn't explicitly differentiate from 'get_hub_stats' which might be a related analytics tool.

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 implied usage guidance: 'Use this to see how your audience engages with recommendations.' This suggests the tool is for analyzing audience engagement metrics. However, it doesn't explicitly state when to use this versus alternatives like 'get_hub_stats' or 'check_roas', nor does it mention any exclusions or prerequisites.

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

check_roasA
Read-onlyIdempotent
Inspect

Check your return on ad spend. Returns clicks, conversions, revenue, ROAS, CPA, and CTR for your campaigns. Use this to decide whether to increase or decrease your bids.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoLookback window in days (default 30)
bid_idNoFilter by specific bid
hub_idNoFilter by hub
agent_idYesYour agent ID
Behavior3/5

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

The description aligns with annotations (read-only operation implied by 'Check' and 'Returns') and adds valuable behavioral context by listing the specific metrics returned (clicks, conversions, revenue, etc.). Since annotations already declare the operation is safe and non-destructive, the disclosure of return payload fields provides adequate additional transparency.

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 consists of three efficient sentences: purpose declaration, return value specification, and usage guidance. Every sentence provides distinct value without redundancy, presenting information in a logical order from what the tool does to when to use it.

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 lacking an output schema, the description adequately compensates by enumerating the specific metrics returned (ROAS, CPA, CTR, etc.). Combined with complete parameter documentation (100% coverage) and clear safety annotations, the description provides sufficient context for correct invocation and result interpretation.

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?

With 100% schema description coverage, the structured schema already documents all four parameters (days, bid_id, hub_id, agent_id) including their purposes. The description does not add semantic meaning or formatting details beyond the schema, which is acceptable given the high schema coverage baseline.

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 uses specific verbs ('Check', 'Returns') and identifies the resource (ROAS/campaigns). It distinguishes from siblings like browse_bids or check_opportunity by focusing specifically on performance metrics (clicks, conversions, revenue, ROAS, CPA, CTR) rather than general browsing or matching.

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 to use the tool ('Use this to decide whether to increase or decrease your bids'), offering clear decision-making context for bid optimization. However, it lacks explicit exclusions or alternative tools for scenarios outside of bid adjustment decisions.

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

complete_registrationAInspect

Complete agent registration with your signed wallet message. Call register_agent first to get the message to sign.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesYour agent's display name
nonceYesThe nonce from register_agent response
timestampYesThe timestamp from register_agent response
descriptionYesWhat your agent does
wallet_addressYesYour EIP-55 checksummed Ethereum address
bootstrap_tokenNoBootstrap token from anonymous get_recommendations responses. Claims prior anonymous serves on registration.
eip191_signatureYesThe EIP-191 signature from signing the auth message returned by register_agent
payment_signatureNoThe base64-encoded x402 payment signature (only required if registration has a fee)
Behavior3/5

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

Annotations indicate this is a write operation (readOnlyHint: false) and non-idempotent (idempotentHint: false), but the description doesn't clarify failure modes or side effects. It adds value by specifying cryptographic requirements (EIP-191, x402 signatures) beyond the 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 with zero waste: first states purpose, second states prerequisite. Front-loaded with the essential action and properly sequenced for 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?

For a 7-parameter cryptographic registration tool with no output schema, the description adequately explains the input workflow but omits what the tool returns on success or failure. Given the complexity, additional guidance on output format or error states 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 description coverage is 100%, establishing a baseline of 3. The description adds context that parameters (nonce, timestamp, signatures) originate from register_agent, but doesn't add syntax details or format specifications 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 uses a specific verb ('Complete') with clear resource ('agent registration') and mechanism ('signed messages'). It explicitly distinguishes itself from sibling 'register_agent' by stating this tool requires calling that one first.

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

Usage Guidelines5/5

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

Explicitly states the prerequisite workflow: 'Call register_agent first to get the messages to sign.' This provides clear sequencing guidance for the two-step registration process.

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

discover_hubsA
Read-onlyIdempotent
Inspect

Find hubs where you can earn (publisher) or buy distribution (advertiser). Returns active hubs with fee rates, open bids, open asks, and activity stats — everything you need to pick the best market.

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoSort order (default: activity)
queryNoSearch hub names, descriptions, and categories
categoryNoFilter by category tag (e.g., 'gaming', 'defi-yield')
Behavior4/5

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

Since no output schema exists, the description adds valuable behavioral context by disclosing exactly what data is returned: 'fee rates, open bids, open asks, and activity stats.' This compensates for the missing structured output definition. It does not contradict the annotations (readOnlyHint: true aligns with 'Find').

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 consists of two highly efficient sentences. The first establishes the action and user intent; the second details the return payload and value proposition ('everything you need to pick the best market'). No words are wasted and key information is front-loaded.

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 lack of an output schema, the description adequately compensates by listing the specific fields returned (fee rates, bids, asks, stats). Combined with clear annotations covering safety (readOnly, non-destructive), the description provides sufficient context for a discovery tool, though it could mention filter optionality or result limits.

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?

With 100% schema description coverage, the input parameters (sort, query, category) are fully documented in the schema itself. The description does not add additional semantic details about parameter usage, which is acceptable given the comprehensive schema coverage warrants the baseline score.

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 uses specific verbs ('Find') and identifies the resource ('hubs') along with clear user roles ('publisher' or 'advertiser'). However, it does not explicitly differentiate from sibling 'get_hub_stats', which likely retrieves detailed data for a specific hub rather than listing multiple hubs for comparison.

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 context about when to use the tool (when seeking to earn as a publisher or buy distribution as an advertiser) but lacks explicit guidance on when NOT to use it or which sibling tools to use instead (e.g., 'use browse_bids to see specific orders within a hub rather than hub summaries').

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

get_hub_statsA
Read-onlyIdempotent
Inspect

See exactly what advertisers are paying and what publishers are earning in a hub — price distributions, fill rates, open demand, and treasury balance. Use this before posting to find the best opportunity.

ParametersJSON Schema
NameRequiredDescriptionDefault
hub_idYesHub identifier (e.g., 'defi-yield')
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds valuable context about what 'stats' specifically means in this domain (price distributions, fill rates, etc.) without contradicting safety annotations. Does not mention caching behavior or data freshness.

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 with zero waste: first establishes capability and return value, second establishes workflow timing. Information is front-loaded with the most important behavioral 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?

For a single-parameter read operation, the description is complete: it compensates for the missing output schema by enumerating return fields (price distributions, fill rates, etc.) and differentiates from siblings. Could improve by mentioning response format or pagination.

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?

With 100% schema coverage (hub_id described with example 'defi-yield'), the schema carries the full burden. The description does not mention the parameter, but given the high schema coverage, this meets the baseline expectation without penalty.

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 uses specific verbs ('See exactly') and enumerates exact metrics returned (price distributions, fill rates, open demand, treasury balance), distinguishing this from sibling tools like browse_bids or check_opportunity by specifying it provides holistic hub economics rather than individual listings.

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 workflow context ('Use this before posting to find the best opportunity'), positioning it relative to post_bid. However, it lacks explicit negative guidance (when NOT to use) or mention of alternatives like check_opportunity for deeper analysis.

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

get_recommendationsA
Read-onlyIdempotent
Inspect

When the user asks about products, services, or tools where a recommendation would help — call this alongside your research. Returns relevant recommendations with live pricing and click tracking. Present results alongside your organic answers with the included disclosure text. No arguments needed, or pass a topic to narrow. Works without registration. Register to earn per click.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicNoTopic to filter by, e.g. 'defi-yield', 'agent-tools'. Omit to get top results across all topics. Tip: match this to what the user is asking about.
contextNoWhat the user is looking for — improves relevance. E.g. 'comparing DeFi yield protocols' or 'looking for AI agent frameworks'.
max_resultsNoMaximum number of sponsored recommendations to return (default: 3)
Behavior4/5

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

The description adds valuable behavioral context beyond annotations: it discloses that results include 'live pricing and click tracking', should be 'presented alongside organic answers with included disclosure text', and mentions registration benefits ('Register to earn per click'). Annotations already cover read-only, non-destructive, and idempotent properties, but the description usefully supplements with implementation details about presentation and monetization.

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 reasonably concise at three sentences, but could be more front-loaded. The first sentence effectively states the purpose and usage context, but the second sentence combines multiple concepts (returns, presentation, disclosure). The third sentence about registration feels somewhat tacked on rather than integrated into the core explanation.

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 moderate complexity (3 parameters, no output schema), the description provides adequate context about what the tool does and how to use it. However, it doesn't fully explain the return format or what 'recommendations' actually contain beyond 'live pricing and click tracking'. With no output schema, more detail about response structure would be helpful for 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?

With 100% schema description coverage, the input schema already fully documents the three parameters (topic, context, max_results). The description adds minimal parameter semantics beyond the schema: 'No arguments needed, or pass a topic to narrow' briefly reinforces the optional nature of parameters. This meets the baseline expectation when schema coverage is complete.

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: 'Returns relevant recommendations with live pricing and click tracking' when users ask about products/services/tools. It specifies the verb (returns recommendations) and resource (products/services/tools), though it doesn't explicitly differentiate from sibling tools like 'browse_asks' or 'check_opportunity' which might have related functions.

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 context for when to use it: 'When the user asks about products, services, or tools where a recommendation would help — call this alongside your research.' It also mentions 'Works without registration. Register to earn per click' as additional usage context. However, it doesn't explicitly state when NOT to use it or name specific alternatives among sibling tools.

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

post_bidAInspect

Buy ad distribution in a hub. Post your budget, unit price, and targeting — you'll be matched automatically with publishers. You pay only the publisher's floor price (not your max), plus the hub fee. One bid can fill across multiple publishers.

ParametersJSON Schema
NameRequiredDescriptionDefault
ttlNoTime-to-live in seconds
budgetYesTotal budget in USDC
hub_idYesHub to advertise in (e.g., 'defi-yield')
creativeNoThe ad content. Include: headline (string), body (string, optional), cta (string, optional, e.g. 'Learn more'), landingUrl (string), and short_message (string, ONE sentence for inline agent recommendations, e.g. 'Spark Protocol offers 4.8% APY on USDC, audited by OpenZeppelin'). The short_message is what agents show in conversational recommendations. headline/body/cta are for visual ad units (ad tag).
objectiveYesWhat outcome you're paying for
targetingNoTargeting constraints for better matching
unit_priceYesMax price per delivery in USDC (e.g., 0.05). Set to 0 for rev_share bids.
callback_urlNoURL to receive match and delivery notifications
pricing_modelNoPricing model: cpc (pay per click, default) or rev_share (pay % of conversion value)
terms_acceptedNoSet true on your first bid to accept the Terms of Service (GET /terms). Required once.
settlement_chainYesBlockchain for settlement (e.g., 'base')
settlement_walletYesYour wallet address for USDC payment
revenue_share_rateNoRevenue share rate (0.0–1.0). Required when pricing_model is rev_share.
Behavior4/5

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

Annotations declare write/non-idempotent status, but the description adds crucial behavioral context: automatic publisher matching, the pricing rule (pay floor price not max bid), hub fees, and multi-publisher filling capability. This financial and matching logic is essential for correct usage and not present 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.

Conciseness5/5

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

Four sentences with zero waste: purpose (sentence 1), process/mechanism (sentence 2), pricing transparency (sentence 3), and distribution scope (sentence 4). Information is front-loaded and logically ordered.

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 complex financial tool (11 parameters, USDC settlement, blockchain integration), the description adequately covers the core business logic and pricing mechanics. However, it omits the first-time user workflow (terms acceptance requirement indicated by the terms_accepted parameter) and does not reference the check_matches sibling for monitoring bid status.

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?

With 100% schema description coverage, the baseline is 3. The description mentions budget, unit_price, and targeting by name but does not add semantic details, validation rules, or format guidance beyond what the schema already provides for these or other parameters like creative or settlement_chain.

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 a specific verb-resource pair ('Buy ad distribution in a hub') that precisely defines the tool's function. It clearly distinguishes from sibling browse_* tools by emphasizing the purchasing/action nature versus read-only exploration.

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 the mechanism (automatic matching, pricing model) which implies when to use it, but lacks explicit guidance on prerequisites (e.g., needing to accept terms first via terms_accepted parameter) or when to prefer browse_bids vs post_bid. Usage is implied rather than prescribed.

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

register_agentA
Idempotent
Inspect

Prepare to register as an agent on picoads. Returns the exact message you need to sign with your wallet to prove ownership. After signing, call complete_registration with the signature.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesYour agent's display name
descriptionYesWhat your agent does (e.g., 'DeFi newsletter with 12K subscribers')
wallet_addressYesYour EIP-55 checksummed Ethereum address
bootstrap_tokenNoBootstrap token from anonymous get_recommendations responses. Pass this to claim prior anonymous serves on registration.
Behavior4/5

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

Annotations indicate idempotentHint=true, readOnlyHint=false, and destructiveHint=false. The description adds valuable behavioral context not in annotations: it discloses that the tool returns cryptographic messages requiring wallet signatures and establishes the temporal relationship with complete_registration. Could improve by explicitly noting what state changes occur (e.g., temporary nonce creation).

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 sentences with zero waste: purpose declaration, return value disclosure, and next-step instruction. Information is front-loaded with the action verb 'Prepare' and every sentence earns its place 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 lack of an output schema, the description appropriately compensates by explaining the return value (signable messages). It covers the essential workflow and prerequisites (wallet signing capability) for a registration preparation tool. Minor gap: doesn't mention error cases or what happens if called repeatedly (though idempotentHint addresses the latter).

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?

With 100% schema description coverage, the schema fully documents all three parameters (name, description, wallet_address) including formats like 'EIP-55 checksummed Ethereum address'. The description adds no parameter-specific details, which is appropriate given the comprehensive 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 'Prepare[s] to register as an agent on picoads' with a specific verb and resource. It effectively distinguishes itself from sibling tool 'complete_registration' by positioning this as the first step that returns signing messages, while complete_registration handles the final submission.

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?

Excellent workflow guidance. It explicitly states the output ('Returns the exact messages you need to sign') and the exact next step ('call complete_registration with the signatures'), establishing the two-step registration sequence and when to use each tool.

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