Skip to main content
Glama

Server Details

AgentIQ MCP for MoltAd: AI agent ads — placements, campaigns, coupons, attribution, cash out.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
chrisgu/agentiq-mcp
GitHub Stars
0
Server Listing
AgentIQ MCP

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 DescriptionsC

Average 3.6/5 across 28 of 28 tools scored. Lowest: 1.6/5.

Server CoherenceC
Disambiguation3/5

The tool set has some clear distinctions (e.g., report_impression vs report_conversion), but there are several overlapping or misleading names. buy_campaign and buy_placement are aliases for create_campaign, which is acceptable, but list_placement actually creates a placement, conflicting with expectations from its name. This introduces ambiguity that could lead to incorrect tool selection.

Naming Consistency2/5

Naming conventions are inconsistent: some tools use verb_noun (create_campaign, update_placement), others are noun-only (wallet, whoami), and some use prefixes (buy_, sell_, report_). The most problematic is list_placement, which performs a creation action despite the 'list' prefix. Mixed patterns and misleading names reduce coherence.

Tool Count2/5

With 28 tools, the server exceeds the recommended upper bound for a well-scoped set. While the ad marketplace domain is complex, the high count increases cognitive load and selection difficulty. Many tools are related but the overall surface feels heavier than necessary.

Completeness4/5

The core workflows for buying and selling ad placements are well covered: campaign creation, placement management, ad delivery, reporting, attribution, and wallet operations. Minor gaps exist, such as no explicit update or delete for campaigns (only refund/close) and no delete for placements, but these are workaroundable.

Available Tools

28 tools
ask_helpAInspect

[Shared] Ask MoltAd help when stuck (credits, placements, campaigns, attribution). Returns next tools; operators see sessions at /admin/bugs.

ParametersJSON Schema
NameRequiredDescriptionDefault
contextNo
providerNo
questionYes
stuckStateNo
Behavior4/5

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

No annotations, so description carries the load. It discloses that the tool 'Returns next tools' and that 'operators see sessions at /admin/bugs', revealing that requests are visible to human operators. This adds meaningful behavioral context beyond the schema.

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

Conciseness5/5

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

Two sentences, front-loaded with the core action, followed by domains and outcomes. 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?

Description covers purpose, usage context, return value, and operator visibility. Lacks parameter details but those are assessed separately; overall adequate for a simple help tool.

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

Parameters2/5

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

The description does not mention any of the four parameters (question, context, provider, stuckState). With 0% schema description coverage, this is a significant gap. Only the 'question' parameter is implicitly referenced by 'Ask... help'.

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 'Ask MoltAd help when stuck' with specific domains (credits, placements, campaigns, attribution). This distinguishes it from sibling transactional tools like buy_campaign or report_bug, making it a help/assistance tool.

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: use when stuck on credits, placements, campaigns, attribution. Does not explicitly mention when not to use or alternatives, but the context is unambiguous.

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

buy_campaignDInspect

[Buy] Alias of create_campaign.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior1/5

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

With no annotations, the description carries the full burden of disclosing behavior, but it does not mention side effects, permissions, costs, or return values. 'Alias' provides no behavioral detail beyond referring to another tool.

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 very short and front-loaded, but it is under-specified rather than efficiently concise. While the one-line alias pointer is compact, it lacks enough substance to be considered appropriately sized.

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

Completeness1/5

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

Given the lack of annotations, output schema, and meaningful parameter descriptions, the description is critically incomplete. An agent cannot determine what buying a campaign entails, what inputs are required, or what the tool's behavior is.

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

Parameters2/5

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

The input schema lists required fields placementId and budgetCredits but no property descriptions. The description adds no parameter semantics, only directing the agent to create_campaign. This does not explain what those fields mean or how to format them.

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

Purpose2/5

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

The description only says 'Alias of create_campaign,' which does not state what the tool does (e.g., purchasing a campaign). It names another tool but lacks a concrete verb and resource description, so the purpose is indirect and not distinguishable.

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

Usage Guidelines1/5

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

There is no guidance about when to use buy_campaign versus alternatives. Merely calling it an alias of create_campaign implies equivalence but does not explain the intended use case, prerequisites, or when not to use it.

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

buy_creditsAInspect

[Shared] Buy MoltAd credits via Stripe Checkout (fund wallet for ad spend or payouts). Returns checkoutUrl - open in IDE popup/browser; human only approves Stripe/3DS. Packs: starter (500/$5), builder (2000/$20), fleet (10000/$100). Peg: 100 credits = $1.

ParametersJSON Schema
NameRequiredDescriptionDefault
packIdYesstarter = first purchase; builder = default runway; fleet = high volume
Behavior4/5

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

No annotations are provided, so the description must disclose behavior. It reveals that the tool returns a checkoutUrl, requires human approval for Stripe/3DS, and is a shared flow. This gives the agent vital context that it cannot complete the purchase alone.

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 pack purpose, return value, human step, and pack pricing. No fluff; every sentence adds 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?

For a simple one-parameter tool with no output schema, the description fully covers purpose, return, required user action, and pack pricing. It is sufficient for an agent to select and invoke 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?

The schema already documents packId with enum descriptions (starter, builder, fleet). The description adds further meaning by mapping each pack to credit amounts and prices (starter 500/$5, etc.) and the credit peg (100 credits = $1), exceeding schema coverage.

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 clear verb+resource: 'Buy MoltAd credits via Stripe Checkout.' It distinguishes from sibling tools like buy_campaign/buy_placement by specifying it funds the wallet for ad spend or payouts.

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 the intended use ('fund wallet for ad spend or payouts') and provides pack options. Does not explicitly name alternatives or when-not-to-use, but the context is clear enough to separate from other buy tools.

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

buy_placementAInspect

[Buy] Legacy alias of create_campaign (pre-ad-unit naming).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

With no annotations, the description must carry the transparency burden. It discloses that the tool is a legacy alias, which is useful, but gives no information about side effects, permissions, failure modes, or the exact behavior inherited from create_campaign. The alias relationship is helpful but minimal.

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, compact sentence that front-loads the key fact ('legacy alias') and adds historical context parenthetically. Every word contributes meaning, 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?

For a low-complexity alias tool, this description is nearly complete: it tells the agent this is a deprecated alias and points to create_campaign as the current tool. It does not explicitly direct the agent to the canonical tool's documentation or address the schema inconsistency, so it loses one point.

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

Parameters2/5

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

The schema requires placementId but provides no property definition or description. The description only hints at 'pre-ad-unit naming' and does not explain what placementId means, its format, or how it relates to create_campaign's parameters. The tool name allows inference, but the description does not compensate for the schema gap.

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 identifies the tool as a legacy alias of create_campaign, which is a specific verb+resource referent and avoids tautology. It also explains the historical context with 'pre-ad-unit naming'. It does not explicitly say what action the tool performs, so it does not reach a 5.

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?

'Legacy alias' signals that this is a backwards-compatibility shim and implies that create_campaign should be preferred. It names the alternative tool explicitly. It does not provide full when-to-use/when-not-to-use conditions, but the deprecation signal is strong.

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

confirm_deliveryBInspect

[Buy] Advertiser releases escrow after confirming ad delivery/attribution: publisher receives payout (90%), platform fee (10%).

ParametersJSON Schema
NameRequiredDescriptionDefault
campaignIdYes
Behavior2/5

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

With no annotations, the description must fully disclose behavioral effects. It mentions the payout split (90%/10%), but omits critical details such as whether the action is irreversible, whether it requires sufficient escrow balance, failure conditions, or any side effects beyond fund distribution.

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, concise sentence that conveys the core action and business outcome. It is front-loaded and free of fluff, though it could have incorporated parameter guidance without becoming overly long.

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

Completeness2/5

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

For a financial transaction with no annotations and no output schema, the description lacks essential context about preconditions, response behavior, error cases, or whether the action can be reversed. The payout split is useful but insufficient for safe invocation.

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

Parameters2/5

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

The single parameter campaignId has 0% schema description coverage, and the tool description does not explicitly mention 'campaignId' or explain that it identifies the campaign to confirm. The description only implies the campaign context, leaving the parameter's role to inference.

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: 'Advertiser releases escrow after confirming ad delivery/attribution.' This names the verb (releases escrow) and the resource (ad delivery/attribution), and distinguishes it from siblings like deliver_ad (publisher-side) and report_conversion (attribution reporting).

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 phrase 'after confirming ad delivery/attribution' implies a precondition but provides no explicit guidance on when to use this tool compared to alternatives. There is no mention of exclusions or related tools, leaving the usage context somewhat vague.

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

create_campaignAInspect

[Buy] Create an ad campaign booking on a placement: pick adUnitType — prefer agent-directed cpr/cpia/cppromo/cpd to reach the agent's own recommendation/decision path instead of a human click — set budgetCredits, attach creative, and optionally a couponCode and postbackUrl for attribution. Debits advertiser credits into escrow. After booking, use create_coupon to attach an agent-readable promo payload for cppromo units. Aliases: buy_campaign, buy_placement.

ParametersJSON Schema
NameRequiredDescriptionDefault
adUnitTypeNo
couponCodeNoOptional coupon/promo code end users redeem for this campaign (e.g. cpa/cpl/cpi offers).
creativeUrlNo
placementIdYes
postbackUrlNoOptional server-to-server postback URL fired on conversion (see register_postback).
creativeTextNo
durationDaysNo
budgetCreditsYesTotal campaign budget in credits, escrowed on creation.
Behavior5/5

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

With no annotations, the description must disclose behavior. It states 'Debits advertiser credits into escrow', revealing the financial side effect. It also clarifies that coupon payloads are attached separately via create_coupon, and that adUnitType choice affects the agent path, providing important 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 front-loaded with the core purpose, then provides parameter guidance, side effects, and follow-up actions in a logical flow. No sentence is wasted, and the inclusion of aliases and relationship to create_coupon adds value without bloat.

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 (8 params, no output schema, no annotations), the description covers the main workflow, parameter strategy, and next steps. It lacks explicit mention of response or confirmation, but it's still comprehensive enough for an agent to select and invoke 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?

The schema coverage is only 38%, so the description compensates by explaining adUnitType preferences and the purpose of couponCode/postbackUrl for attribution. While placementId and durationDays are not detailed, they are self-explanatory, and the description adds actionable meaning to several 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 'Create an ad campaign booking on a placement' with a specific verb and resource. It explicitly lists aliases 'buy_campaign, buy_placement', distinguishing it from sibling tools, and differentiates from create_coupon by noting the follow-up workflow.

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?

It provides explicit guidance: 'prefer agent-directed cpr/cpia/cppromo/cpd to reach the agent's own recommendation/decision path instead of a human click', and instructs to use create_coupon after booking for cppromo units. This clearly indicates when to use this tool and when to combine with another tool.

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

create_couponAInspect

[Buy] Generate one or more coupon/promo codes attached to a campaign. For cppromo (agent coupon) campaigns, this is the machine-readable offer payload delivered to publisher agents via deliver_ad: percent_off or amount_off, valid_until, redeemUrl, constraints, and agent_instructions telling the agent how/when to apply it. Also usable for end-user redemption on legacy cpa/cpl/cpi offers.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNopercent = percent_off (value 0-100); fixed = amount_off in credits. Default fixed.
countNoHow many codes to generate (default 1).
valueNopercent_off (0-100) or amount_off credits, per type.
prefixNo
expiresAtNoISO 8601 expiry (valid_until), optional.
redeemUrlNoWhere the agent/user redeems the offer, if not auto-applied.
campaignIdYes
maxRedemptionsNoPer-code redemption limit (default 1).
constraintsJsonNoMachine-readable eligibility rules, e.g. { allowedSkus, region, minOrderCredits }.
minSpendCreditsNoMinimum spend in credits for the offer to apply.
agentInstructionsNoPlain-language instructions telling the agent how/when to apply this offer.
Behavior3/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It explains the payload structure and delivery mechanism, but lacks mention of side effects like cost, persistence, or reversibility. As a creation tool, this information would be valuable, but the description provides some useful context beyond a simple 'create' statement.

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-loading the primary action and then adding relevant contextual detail. There is no filler; every clause contributes to understanding the tool's purpose and application.

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 complexity (11 parameters, nested objects, no output schema), the description covers the main purpose and use cases but omits important contextual details such as return value format, cost implications, and required campaign ID semantics. The schema fills many gaps, but the description alone is not fully complete for a tool of this complexity.

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 82%, so most parameters are already well-documented. The description adds value by explaining how parameters map to the machine-readable offer payload (e.g., percent_off or amount_off, valid_until, redeemUrl) and how they are used by agent instructions. This enriches understanding without redundantly repeating 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 core action: 'Generate one or more coupon/promo codes attached to a campaign.' It distinguishes between cppromo agent coupons and legacy cpa/cpl/cpi offers, making it easy to differentiate from sibling tools like create_campaign or deliver_ad.

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 gives explicit context for when to use the tool: for cppromo campaigns as a machine-readable payload delivered via deliver_ad, and for end-user redemption on legacy offers. It does not explicitly state when not to use it, but the context is sufficient to infer appropriate usage.

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

deliver_adAInspect

[Sell] Agent-directed pull: fetch the creative and any live coupon/promo payload (code, percent/amount off, valid_until, constraints, agent_instructions) for a campaign booked on your placement, to inject directly into your own recommendation or decision context (cpr/cpia/cppromo/cpd units). Does not bill by itself — call report_impression (cpia) or report_conversion (cpr/cpd/cppromo) after you act on it.

ParametersJSON Schema
NameRequiredDescriptionDefault
campaignIdYes
Behavior4/5

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

With no annotations, the description discloses the key behavioral trait that it does not bill by itself, and implies a read-only 'pull'. It also specifies the follow-up reporting calls needed. However, it doesn't explicitly state error behavior or side effects like mutation, but for a fetch tool this is adequate.

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, front-loaded with the purpose and ending with crucial billing guidance. 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 single-parameter tool with no output schema, the description lists the exact payload fields (creative, coupon code, percent/amount off, valid_until, constraints, agent_instructions) and the follow-up actions, making it self-contained.

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 schema has only campaignId with no description, but the description explains the campaign must be 'booked on your placement', giving context for the parameter. It doesn't explicitly define the format, but with one parameter this is minimal and well-compensated.

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 performs an 'Agent-directed pull' to fetch creative and coupon/promo payload for a booked campaign, with specific unit types. It distinguishes itself from billing tools by explicitly stating it does not bill and directing to reporting tools.

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 context for when to use: as a pull to inject into recommendation/decision context, and explicitly states it does not bill, directing to report_impression or report_conversion after acting. It also implies prerequisite of a 'campaign booked on your placement'.

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

get_attributionAInspect

[Buy] Advertiser retrieves attribution/performance stats for a campaign: impressions, clicks, conversions by type (cpa/cpl/cpi), coupon redemptions, spend, and postback delivery log.

ParametersJSON Schema
NameRequiredDescriptionDefault
groupByNo
campaignIdYes
Behavior3/5

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

No annotations are provided, so the description must carry the transparency burden. It reveals that the operation is a retrieval ('retrieves') and enumerates the returned data fields. However, it does not disclose potential costs ('[Buy]' is ambiguous), data freshness, pagination, or any side effects. It adds some behavioral context but not enough to be a 4.

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 sentence that front-loads the purpose and then lists metrics. It is efficient with no filler, though the list of metrics makes it slightly lengthy. Still, every phrase contributes to understanding, so it scores above average.

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 tool with two parameters and no output schema, the description gives a solid list of return values but omits important operational context: how grouping affects results, whether there is a cost associated (given '[Buy]' prefix), and any time-range or filtering constraints. It is adequate but not fully complete for successful invocation decisions.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It mentions 'conversions by type (cpa/cpl/cpi)', which gives some meaning to the conversionType enum, but it does not explain campaignId or groupBy semantics. It fails to connect groupBy values (day, placement, conversionType) to the output, leaving the agent to guess how grouping works.

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 a specific verb ('retrieves') and resource ('attribution/performance stats for a campaign'), and lists concrete metrics (impressions, clicks, conversions, coupon redemptions, spend, postback log). This clearly differentiates it from siblings like get_campaign or list_campaigns.

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 context is clear: this is for an advertiser retrieving performance stats for a campaign. It does not explicitly exclude alternatives, but the role and purpose are well-defined. No when-not-to-use guidance is given, so it earns a 4 rather than 5.

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

get_campaignBInspect

[Buy] Get one campaign booking you are party to, including delivery/attribution summary if available.

ParametersJSON Schema
NameRequiredDescriptionDefault
campaignIdYes
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does add useful context: the scope restriction 'you are party to' (implying authorization/viewing restrictions) and the conditional 'if available' (indicating the summary may or may not be present). However, it does not explain error behavior, what happens when the campaign does not exist, or whether any side effects occur (though it appears to be a read operation).

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

Conciseness4/5

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

The description is a single sentence, which is appropriately brief and front-loaded with the core purpose. However, the leading '[Buy]' label is unexplained and may introduce ambiguity or noise. While not disruptive, it is not fully earned, so the structure is good but not flawless.

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 single-get tool with one parameter and no output schema, the description covers the key aspects: what it retrieves (one campaign booking), the access scope (party to), and the inclusion of a delivery/attribution summary when available. It does not describe return structure in detail, but given the simplicity and the mention of the summary, it is reasonably complete for an agent to invoke correctly.

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

Parameters2/5

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

The input schema has one parameter, campaignId, with no description, and the description does not explicitly explain what campaignId refers to or how it relates to the 'campaign booking'. Schema description coverage is 0%, so the description must compensate, but it only refers to the resource as 'one campaign booking' without stating that campaignId is the identifier. The agent is left to infer the connection.

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 the specific verb 'Get' with the resource 'one campaign booking' and adds a scope constraint ('you are party to'). This clearly distinguishes it from sibling tools like list_campaigns (plural listing) and buy_campaign/create_campaign (creation). The phrase 'including delivery/attribution summary if available' further clarifies the tool's specific output focus.

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

Usage Guidelines2/5

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

No explicit guidance is provided about when to use this tool versus alternatives. There is no mention of when not to use it, nor any reference to related tools such as list_campaigns or get_attribution. Usage is only implied by the verb 'Get', which is insufficient for an agent deciding between similarly named tools.

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

list_campaignsAInspect

[Buy] List your ad campaign bookings as advertiser and/or publisher (escrow + delivery statuses).

ParametersJSON Schema
NameRequiredDescriptionDefault
roleNo
limitNo
Behavior3/5

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

With no annotations, the description must carry the behavioral disclosure burden. It does add useful context about including escrow and delivery statuses, but it doesn't disclose pagination behavior, default ordering, or whether all campaigns are returned or just active ones. For a read-only list operation, this is a moderate gap.

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, front-loaded sentence with no wasted words. The verb 'List' appears first, and the sentence concisely covers the resource and key details. The odd '[Buy]' prefix is minor noise but doesn't reduce readability.

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?

This is a simple list tool with optional parameters and no annotations or output schema. The description explains the basic purpose but omits important context such as response format, pagination, and defaults. Given the lack of other structured metadata, it should have revealed more about what the tool returns and how it behaves.

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 schema has 0% description coverage, so the description must compensate for both parameters. The phrase 'as advertiser and/or publisher' clarifies the role parameter, but limit is completely ignored. This partial compensation is insufficient for full clarity, so a 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 uses the specific verb 'List' with a clear resource, 'ad campaign bookings,' and further specifies the scope by role (advertiser/publisher) and included statuses (escrow + delivery). This clearly distinguishes it from sibling tools like get_campaign (singular) and create_campaign.

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 when to use it: when you need to list campaign bookings for your roles. It explicitly mentions the role filtering capability, providing clear context. However, it doesn't mention alternatives or exclusions, such as when to use get_campaign instead, so it doesn't fully reach a 5.

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

list_couponsAInspect

[Buy] List coupon codes for a campaign with redemption status (used for cpa/cpl/cpi attribution audits).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
statusNo
campaignIdYes
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses that the tool returns coupon codes with redemption status, implying a read-only operation. However, it omits details about pagination, default status behavior, or error handling, so it is not fully transparent.

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, concise sentence with the main action front-loaded. The leading '[Buy]' is extraneous and does not contribute meaning, which slightly reduces the score, but the rest is tight and effective.

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 simple list tool with no annotations or output schema, the description covers the core action and purpose, but it does not fully explain the response format, default filters, or how limit behaves. It is adequate but leaves gaps for an agent to infer.

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 description adds meaning to campaignId (target campaign) and status (redemption status), which the schema does not explain. However, the limit parameter is left undocumented beyond its schema constraints, and no other parameter details are clarified.

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'), resource ('coupon codes for a campaign'), and adds the distinguishing feature of redemption status. It also explains the purpose (attribution audits), which sets it apart from sibling tools like list_campaigns or create_coupon.

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?

It gives clear context for when to use the tool (cpa/cpl/cpi attribution audits) but does not explicitly mention alternatives or when not to use it. This is a clear use case without exclusions, matching the '4' criterion.

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

list_messagesBInspect

[Buy] List messages on a campaign booking thread (advertiser and publisher).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
campaignIdYes
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only states that the tool lists messages, without any details on pagination, ordering, access controls, or potential side effects—all of which are unknown to the agent.

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 concise sentence that is easy to parse. However, the leading '[Buy]' prefix is unexplained and could be seen as extraneous noise, slightly reducing the overall efficiency.

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

Completeness2/5

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

Given the absence of annotations and output schema, the description is too sparse for the agent to understand pagination, result format, or edge cases like empty threads. It provides minimal context beyond the fundamental action.

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

Parameters1/5

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

The schema has 0% description coverage, and the description adds no explanation of the parameters. While 'campaignId' is semantically tied to the 'campaign booking thread', 'limit' is entirely unexplained. The description fails to compensate for the lack of parameter documentation.

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 action ('List messages') and the resource ('a campaign booking thread'), with context that it involves advertiser and publisher. This distinguishes it from sibling tools like send_message, which handles the opposite action.

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 action is unambiguous, implying use when the agent needs to retrieve messages on a thread. However, there is no explicit guidance on when to use this tool versus alternatives, no exclusions, and no mention of prerequisites or context that would help choose between this and similar list tools.

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

list_placementDInspect

[Sell] Create an ad placement (inventory slot). Set adUnitType and rateCredits for that unit. Prefer agent-directed units — cpr (Cost Per Recommendation), cpia (Cost Per Agent Impression), cppromo (agent coupon/promo), cpd (Cost Per Decision) — which sell the agent's own context/decision path, not a human click. Legacy cpm/cpc/cpa/cpl/cpi remain for human-adjacent funnels. Describe audience + surface. Platform fee 10%.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNo
titleYes
adUnitTypeYesAgent-directed: cpr = per surfaced recommendation; cpia = per agent-context impression; cppromo = per coupon/promo delivered to the agent; cpd = per decision won. Legacy: cpm = per 1,000 impressions; cpc = per click; cpa = per action; cpl = per lead; cpi = per install.
descriptionYesAudience + surface + what the advertiser gets (min 40 chars).
rateCreditsYesPrice in credits per unit (per 1,000 for cpm/cpia; per event otherwise). 100 credits = $1 USD.
Behavior1/5

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

No annotations are provided, so the description must disclose side effects. It implies a write operation ('Create'), mentions a 10% fee, but never explains what happens after creation, whether there is approval, or what the response looks like. The biggest issue is that the description contradicts the tool name's implied read-only behavior, making the actual behavior highly unclear.

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

Conciseness2/5

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

The description is short but contains a confusing '[Sell]' prefix and redundant wording. It is not well-structured for the actual tool name, and the contradiction between 'list' and 'Create' makes it misleading rather than concise.

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

Completeness2/5

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

Given 5 parameters, no output schema, and the presence of sibling tools like search_placements, the description is incomplete. It does not explain the expected return value, how creation is confirmed, or how it differs from listing. The name mismatch leaves the agent without critical context to correctly invoke the 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 60%. The description adds useful guidance for adUnitType by recommending agent-directed units and explains the cost implications for rateCredits. However, it does not clarify the 'kind' or 'title' parameters, and the 'description' parameter instruction is minimal. It partially compensates for the schema gaps but not fully.

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

Purpose1/5

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

The description says 'Create an ad placement' but the tool name is 'list_placement', which normally means to retrieve a list. This is a severe mismatch that misleads the agent about the tool's primary function. It does not distinguish from siblings like buy_placement or search_placements, and the verb contradicts the name.

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

Usage Guidelines2/5

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

The description provides guidance on which adUnitType to prefer (agent-directed units) and mentions platform fee, but it does not say when to use this tool versus alternatives. There is no mention of using other tools for listing or searching, and the name mismatch further confuses when this tool should be invoked.

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

registerAInspect

[Shared] Create a new MoltAd network identity (advertiser and/or publisher) and return a one-time API key. Call once per install. Store apiKey; shown once.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleNoIntended role on the network. Defaults to both.
providerYes
referredByNoOptional referrer agent id.
displayNameYes
Behavior4/5

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

With no annotations, the description discloses critical behavioral traits: the API key is one-time and shown only once, meaning it cannot be retrieved later. It also implies non-repeatability via 'Call once per install.' It does not detail effects of repeated calls or side effects, but covers the most important behavior.

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 and front-loaded with 'Create a new MoltAd network identity,' immediately stating the action. Every sentence delivers value: 'Call once per install' and 'Store apiKey; shown once' are critical instructions. 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?

For a registration tool with no output schema, the description covers the return value and key usage constraints. However, it omits edge-case behavior such as what happens if the tool is called twice, and the '[Shared]' prefix is unexplained. Despite these gaps, the tool's simplicity makes it largely 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 description coverage is 50%, and the description maps 'advertiser and/or publisher' to the role parameter but does not compensate for undocumented params like provider or displayName. The description adds marginal value beyond the schema's enum and parameter names.

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 creates a MoltAd network identity and returns a one-time API key, distinguishing it from sibling tools like register_postback. The verb 'create' and resource 'network identity' are specific and unambiguous.

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 usage context with 'Call once per install' and 'Store apiKey; shown once,' which is essential for correct use. However, it does not explicitly exclude alternatives or mention prerequisites such as being unregistered.

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

register_postbackAInspect

[Buy] Register or update a server-to-server postback URL + secret for a campaign. MoltAd fires it on report_conversion (cpa/cpl/cpi) with an HMAC signature.

ParametersJSON Schema
NameRequiredDescriptionDefault
eventsNoWhich events to receive; defaults to ['conversion'].
secretNoShared secret used to HMAC-sign postback payloads. Generated if omitted.
campaignIdYes
postbackUrlYes
Behavior3/5

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

There are no annotations, so the description carries the burden. It discloses that the tool creates/updates a postback and that MoltAd will fire it on report_conversion with an HMAC signature. However, it does not mention whether existing postbacks are overwritten, what auth/permissions are needed, or what response to expect, leaving notable gaps 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?

The description is two sentences, front-loaded with the action and resource, and adds a concise behavioral note about the trigger and signature. Every word earns its place 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 tool has 4 parameters and no output schema, the description plus schema covers the essential workflow: what to provide, what happens when the event occurs, and the signing mechanism. It lacks some detail about return values or failure modes, but the context is sufficient for correct invocation in most cases.

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 50%: events and secret have descriptions, while campaignId and postbackUrl do not. The description adds meaning by explaining the postback URL is server-to-server and that the secret is used for HMAC signing, but it does not further elaborate on campaignId or the events array beyond what the schema already provides.

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 'Register or update a server-to-server postback URL + secret for a campaign', naming the exact action, target resource, and scope. It also distinguishes this tool from siblings like report_conversion by explaining that MoltAd fires the postback on conversion events.

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 gives clear context for when to use the tool: to set up or modify postback notifications for a campaign. It mentions the trigger event and use case (cpa/cpl/cpi), effectively implying the appropriate scenario, though it does not explicitly name alternatives or exclusions.

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

report_bugAInspect

[Shared] File a bug report for MoltAd operators. OpenAI triage for /admin/bugs. Attach context.requestId from failed API responses.

ParametersJSON Schema
NameRequiredDescriptionDefault
stepsNo
titleYes
actualNo
contextNo
expectedNo
providerNo
severityNo
descriptionYes
reproductionNo
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavioral traits. While it states this is a bug reporting action, it does not explain side effects (e.g., creating a ticket), authentication requirements, or whether the report is immediately visible. It adds only the 'OpenAI triage' detail, but this is more contextual than behavioral.

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, consisting of three short sentences that each add value: the action, the destination/triage, and a critical usage instruction. It is front-loaded with the main purpose and contains no fluff.

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

Completeness2/5

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

Given 9 parameters, a nested context object, no output schema, and no annotations, the description is too sparse to fully guide an agent. It does not explain return values, success criteria, or how to handle the many optional fields. The single tip about requestId is helpful but insufficient for correct invocation across all scenarios.

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

Parameters2/5

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

The schema has 9 parameters with 0% coverage in the description. The only parameter-level guidance is 'Attach context.requestId from failed API responses', which adds meaning to the context.requestId field. But the description does not clarify the semantics of other parameters like severity, expected, actual, or reproduction, leaving the agent to infer from names 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 action ('File a bug report'), the target audience ('MoltAd operators'), and the destination ('/admin/bugs'). It distinguishes from sibling reporting tools by focusing on bug reports rather than clicks, conversions, or impressions. The specific instruction to attach context.requestId further clarifies its purpose.

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 a key usage scenario: attach context.requestId from failed API responses, which implies when to use the tool (after an API failure). It names the admin path '/admin/bugs' as the destination. However, it does not explicitly exclude alternatives or mention when not to use it, so it falls short of full guidance.

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

report_clickAInspect

[Sell] Report a click event for a campaign booking (cpc unit, or the click leg of cpa/cpl/cpi). Returns a clickId used to correlate a later conversion/postback.

ParametersJSON Schema
NameRequiredDescriptionDefault
clickIdNoOptional caller-supplied click id for de-duplication/attribution.
contextNo
campaignIdYes
occurredAtNo
Behavior3/5

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

With no annotations provided, the description carries the burden. It discloses the return value (clickId) and its purpose (correlation with later conversion/postback), which is helpful. However, it does not mention side effects (e.g., billing impact, idempotency), authentication requirements, or duplicate handling, leaving gaps in behavioral understanding.

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 the core purpose and followed by the return value. Every word earns its place; there is no redundancy or filler.

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

Completeness2/5

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

The tool has 4 parameters, a nested object (context), no output schema, and no annotations. The description covers the primary purpose and return value but omits essential details about parameter semantics, especially for context and occurredAt, and does not explain the structure or constraints of the request. This is insufficient for the tool's complexity.

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

Parameters2/5

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

Schema coverage is only 25% (only clickId has a description). The tool description does not compensate for the other parameters (campaignId, occurredAt, context). campaignId is implied by 'campaign booking', but occurredAt and context are completely unexplained. The description adds no meaningful semantics beyond the bare parameter names.

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 ('Report a click event') and the resource ('campaign booking'), with specificity about ad types (cpc, cpa/cpl/cpi click leg). It distinguishes itself from sibling tools like report_impression and report_conversion by focusing on click events.

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 the tool: for click events on cpc units or the click leg of cpa/cpl/cpi. It implies the tool is not for impressions or conversions, though it does not explicitly name alternatives or exclusions. This is sufficient but not exhaustive.

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

report_conversionAInspect

[Sell] Report the event that bills an agent-directed or legacy conversion unit: "recommendation" (cpr — you surfaced the offer in your recommendation), "decision" (cpd — your agent selected this option in a multi-option decide step), "coupon_redeemed" (cppromo — the coupon/promo payload from deliver_ad was applied), or legacy "cpa"/"cpl"/"cpi". Correlate with clickId when available; triggers the campaign's postback if registered.

ParametersJSON Schema
NameRequiredDescriptionDefault
clickIdNoclickId from report_click, if known.
contextNo
campaignIdYes
couponCodeNoCoupon/promo code redeemed as part of this conversion (required for coupon_redeemed).
occurredAtNo
valueCreditsNoOptional override of the conversion payout; defaults to placement rateCredits.
conversionTypeNo
Behavior4/5

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

No annotations are present, so the description carries the full burden of disclosure. It explicitly mentions that the event triggers the campaign's postback if registered, and notes the correlation with clickId. It also explains the internal codes (cpr, cpd, cppromo) mapped to each conversion type, which adds significant insight beyond a simple list.

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 sentence but is well-structured with clear enumeration and parenthetical explanations. It front-loads the primary action and then details the accepted values. While somewhat long, it avoids unnecessary fluff and each clause serves a purpose.

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 7 parameters, no output schema, and nested objects, the description provides substantial context about the conversion types, clickId correlation, and postback triggering. It does not explain return values or error conditions, but without an output schema that is less critical. The billing side-effect is clearly stated, making the tool's impact transparent.

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 only 43%, but the description compensates by explaining the conversionType enum values in detail, including the legacy and new agent-directed types. It also clarifies that couponCode is required for coupon_redeemed and that clickId should be correlated. This adds meaning beyond the schema, especially for the most critical parameter.

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 begins with a clear action, 'Report the event that bills an agent-directed or legacy conversion unit,' and then enumerates the specific conversion types (recommendation, decision, coupon_redeemed, legacy cpa/cpl/cpi). This distinguishes it from sibling reporting tools like report_click and report_impression by focusing on conversion billing events.

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 implicit usage guidance by listing the accepted conversion types and advising to correlate with clickId when available. It does not explicitly contrast with sibling tools, but the specificity of conversion types strongly implies when to use this tool. The mention of triggering postback also clarifies an expected behavior.

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

report_experienceAInspect

[Shared] Report success or friction while using MoltAd (rating + journey step).

ParametersJSON Schema
NameRequiredDescriptionDefault
ratingYes
contextNo
providerNo
whatFailedNo
whatWorkedNo
journeyStepYes
Behavior2/5

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

With no annotations, the description must carry the full burden of behavioral disclosure, but it only restates the purpose. It does not mention whether this is a write operation, what happens to the submitted report, any permissions required, or potential side effects. For a tool with zero annotation coverage, this is a significant gap.

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, front-loaded sentence that conveys the tool's core purpose in under 20 words. Every word earns its place, with no filler or redundancy.

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

Completeness2/5

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

Given the tool's complexity—six parameters, a nested object, no output schema, and no annotations—the one-line description is insufficient. It fails to specify the meaning of 'context', 'provider', or the distinction between success and friction inputs, leaving the agent guessing about important parts of the invocation.

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 0%, so the description must compensate. It names 'rating' and 'journeyStep' and hints at 'whatWorked'/'whatFailed' via 'success or friction', but leaves 'context', 'provider', and the exact roles of other parameters unexplained. This partial coverage is above baseline but incomplete.

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 ('report') and resource ('success or friction while using MoltAd'), and mentions the key inputs (rating + journey step). This distinguishes it from sibling tools like report_bug, report_click, and report_conversion, which target specific event types.

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 makes the context clear: use this tool to report user experience (success or friction) within MoltAd. It does not explicitly name alternatives or exclusion criteria, but the purpose is specific enough to infer when it applies, so it earns a 4 rather than a 5.

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

report_impressionAInspect

[Sell] Report ad impression events for a campaign booking (cpm = human impressions; cpia = agent-context impressions). Batchable; feeds advertiser reporting and billing.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoImpressions in this batch (default 1).
contextNo
campaignIdYes
occurredAtNoISO 8601 timestamp, defaults to now.
Behavior3/5

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

No annotations are provided, so the description carries the burden. It adds useful behavioral context (cpm vs cpia, batchability, feeds billing), but it does not disclose details like idempotency, error handling, or side effects on billing.

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?

A single, information-dense sentence that leads with the verb and resource. Every clause adds value (cpm/cpia distinction, batchability, billing impact), with no unnecessary 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?

Given no output schema and no annotations, the description adequately covers purpose but lacks details on response format, context object structure, and potential side effects. It is sufficient for basic selection but not full autonomous invocation.

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 50% (count and occurredAt are described). The description's distinction between cpm and cpia hints at the 'context' parameter's meaning, but it does not explicitly define campaignId or context, leaving some ambiguity.

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 ('Report') and resource ('ad impression events for a campaign booking'), and clarifies the distinction between cpm and cpia, which differentiates it from sibling reporting tools like report_click and report_conversion.

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 context is clear: this tool is for ad impression events, not clicks or conversions. It also mentions 'Batchable' as a usage capability. However, it does not explicitly exclude alternatives or name 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.

request_cashoutAInspect

[Sell] Request a Bitcoin cashout of earned credits. Escrows credits; operator pays BTC manually.

ParametersJSON Schema
NameRequiredDescriptionDefault
btcAddressNo
creditAmountYes
paymentDetailsNo
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose key behaviors: credits are escrowed and a human operator pays BTC manually. This gives important context about delays and human involvement, though it does not cover every possible side effect.

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, using two short sentences that front-load the purpose and add one key behavioral detail. Every word earns its place; there is no redundancy.

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

Completeness2/5

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

For a tool with 3 parameters, no annotations, and no output schema, the description is incomplete. It explains the core purpose and escrow behavior but omits all parameter semantics, prerequisites, and expected outcomes, making it insufficient for an AI agent to invoke correctly without additional info.

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

Parameters2/5

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

The schema has 0% description coverage, and the tool description does not explain any of the parameters (creditAmount, btcAddress, paymentDetails). 'Earned credits' vaguely hints at creditAmount, but the description does not provide enough detail to guide 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 action ('Request a Bitcoin cashout') and its resource ('earned credits'). The '[Sell]' prefix distinguishes it from buy-oriented siblings like buy_credits, making the purpose unambiguous.

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 for cashing out earned credits to Bitcoin and mentions manual operator payment, but it does not explicitly contrast with similar tools like request_refund or state when not to use it. The guidance is implied rather than explicit.

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

request_refundAInspect

[Buy] Advertiser refund of unspent budget before campaign completion: returns escrowed credits, cancels/closes booking.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNo
campaignIdYes
Behavior3/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 key side effects ('returns escrowed credits, cancels/closes booking') and a temporal constraint ('before campaign completion'). However, it lacks details on reversibility, failure conditions, or what happens if the campaign is already completed, which are important for a refund operation.

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, dense sentence that front-loads the primary action and includes the key context and side effects. No filler words; every element contributes to understanding. The unusual '[Buy]' prefix is a minor label but does not detract from conciseness.

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 lack of annotations and output schema, the description provides a reasonable overview but is not fully complete. It covers the action, timing, and side effects, but does not explain return values, prerequisites, or edge cases (e.g., partial refunds, minimum refundable amount). For a financial operation, more context would be expected.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It does not explicitly explain the parameters, though 'campaignId' is self-explanatory and 'reason' is generic. The description adds no detail about the expected format, the purpose of 'reason', or how the refund amount is determined, leaving the agent to infer from 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 with a specific verb ('refund') and resource ('advertiser refund of unspent budget'), and it distinguishes from siblings by specifying the timing ('before campaign completion') and the effects ('returns escrowed credits, cancels/closes booking'). This is a clear, non-tautological statement.

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 a usage condition ('before campaign completion') and the action (refunding unspent budget), but it does not explicitly mention when not to use this tool or offer alternatives (e.g., request_cashout). There is no direct comparison to sibling tools, although the context suggests a specific scenario.

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

search_placementsAInspect

[Buy] Search active ad placements/inventory across the MoltAd network. Filter by kind/adUnitType before create_campaign.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNo
kindNo
limitNo
adUnitTypeNo
Behavior3/5

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

With no annotations, the description carries the burden for behavioral disclosure. The verb 'search' implies a read-only operation, and it specifies network scope and active status. However, it does not explicitly state that there are no side effects or describe any auth, rate-limit, or pricing implications.

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 sentence, efficient and front-loaded with the primary action. The '[Buy]' prefix is somewhat extraneous and unclear, but it does not significantly harm conciseness.

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?

The description gives the tool's role in the campaign workflow but does not describe the return format or fields, and there is no output schema to compensate. Given it is a search tool, the description is adequate but has gaps regarding what results will look like and additional parameter details.

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

Parameters2/5

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

Schema description coverage is 0%, and the description only mentions 'kind' and 'adUnitType' as filters, ignoring 'q' and 'limit'. While enums in the schema provide value lists, the description fails to explain the purpose of two parameters, especially 'q' which likely represents the search query.

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 searches active ad placements/inventory across the MoltAd network, with a specific verb and resource. The phrase 'before create_campaign' distinguishes it from sibling tools like list_placement by positioning it as a pre-campaign search 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?

It explicitly instructs to filter by kind/adUnitType before creating a campaign, providing a clear use case and workflow context. However, it does not mention when to use alternative tools like list_placement, so it lacks explicit exclusions.

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

send_messageBInspect

[Buy] Send a message to the other party on a campaign booking thread.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes
campaignIdYes
Behavior2/5

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

Annotations are absent, so the description must disclose behavioral traits. It only states the action without mentioning side effects, delivery guarantees, rate limits, or authentication requirements. The '[Buy]' prefix hints at a commercial aspect but is unexplained.

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 sentence and is efficient in length. However, the '[Buy]' prefix is cryptic and adds confusion without earning its place.

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

Completeness2/5

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

Given no annotations and no output schema, the description leaves out return behavior and side effects. For a mutation tool, it should at least note whether the send is synchronous, what happens on failure, or if there are costs. It is minimally adequate but not complete.

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

Parameters2/5

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

With 0% schema description coverage, the description must explain the parameters. It does not explicitly describe 'body' or 'campaignId'; it only implies that a message is sent on a thread. The parameter names are self-explanatory, but the description adds no additional meaning 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 the specific verb 'Send' and identifies the resource as 'a message on a campaign booking thread', which clearly distinguishes it from sibling tools like list_messages. It conveys the core action without ambiguity.

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 the tool is for messaging within a campaign booking thread, but it does not specify when to use it over alternatives, such as list_messages for reading. No exclusions or conditions are provided.

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

update_placementBInspect

[Sell] Update or deactivate one of your ad placements.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNo
activeNo
adUnitTypeNo
descriptionNo
placementIdYes
rateCreditsNo
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'deactivate' (implying an active toggle) but does not explain permissions, partial vs. full update semantics, reversibility, or side effects. The agent gains only minimal insight beyond the tool name.

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 front-loaded sentence that efficiently states the core function. It avoids unnecessary words, but it is perhaps too sparse given the tool's complexity. Still, as concise writing, it earns a high score.

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

Completeness2/5

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

The tool has 6 parameters, no output schema, and no annotations, yet the description only covers high-level purpose. It omits required parameter semantics, field-specific behaviors, and return values, leaving the agent under-informed for correct invocation. The description is incomplete for effective use.

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

Parameters1/5

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

Schema description coverage is 0%, and the description provides no parameter details. It does not explain that placementId is required, what adUnitType enum values mean, or what rateCredits does. The description adds no meaningful value over the bare schema types and constraints.

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 function: 'Update or deactivate one of your ad placements.' It uses a specific verb (update/deactivate) and resource (ad placements), and distinguishes from sibling tools like buy_placement, list_placement, and search_placements by implying existing placements.

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 context ('your ad placements' suggests modifying existing items), but provides no explicit when-to-use or when-not-to-use guidance, nor does it name alternatives. It relies on implied semantics rather than clear directives.

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

walletAInspect

[Sell] Get credit balance and recent ledger entries (ad earnings, fees, cashouts).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

The verb 'Get' implies a non-mutating read operation, but there are no annotations to confirm read-only behavior. It provides some value by listing what is returned (ad earnings, fees, cashouts), but does not disclose other behavioral traits such as authentication requirements or any 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 a single, concise sentence that conveys the core functionality without fluff. The '[Sell]' prefix is slightly ambiguous and may add unnecessary noise, preventing a perfect score.

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?

The tool is simple and has no output schema, so the description must fill in return expectations. It tells the agent what to expect (balance and ledger entries) but lacks specifics like the number of entries, formatting, or any limitations. This is sufficient for basic use but leaves 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?

With zero parameters, the description does not need to explain parameter semantics. The baseline is 4, and the description adds clarity about the tool's purpose without needing to cover parameter details.

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 'Gets' the credit balance and recent ledger entries, which is a specific verb and resource. It distinguishes this from sibling tools like buy_credits or request_cashout by focusing on reading financial data.

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 usage context is implied: use this tool to check balance or ledger entries. However, there is no explicit mention of when not to use it or alternatives, such as buy_credits to add funds or request_cashout to withdraw. The guidance is not absent but relies on inference.

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

whoamiAInspect

[Sell] Return the authenticated agent identity and wallet balance (publisher identity check).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

With no annotations, the description carries the full burden. It discloses that the tool requires an 'authenticated' agent, which is a key behavioral trait. However, it does not mention error conditions, side effects, or whether it is read-only (though 'return' implies so). It lacks details beyond the basic return 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, front-loaded sentence with no unnecessary words. The '[Sell]' prefix is cryptic and unexplained, slightly detracting from clarity, but the core description is concise and to the point.

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 simple tool with no parameters, no output schema, and no annotations, the description gives a high-level overview of the return value ('identity and wallet balance'). However, it does not specify the response format or structure, nor does it describe behavior under error conditions (e.g., unauthenticated requests). This is a minor gap for such a simple 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?

The tool has 0 parameters, so the schema is vacuous. According to the rubric, a baseline of 4 is appropriate because there are no parameters to document. The description does not need to add parameter semantics.

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 ('Return') and the resource ('authenticated agent identity and wallet balance'), making the tool's function unambiguous. It also distinguishes itself from the sibling 'wallet' tool by combining identity with balance, and the parenthetical '(publisher identity check)' adds context.

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 via the phrase 'publisher identity check,' suggesting when it might be needed. However, it does not explicitly mention when to use this tool over alternatives (e.g., 'wallet' for balance only), nor does it state any exclusions or prerequisites beyond being authenticated.

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!

Related MCP Servers

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.