Skip to main content
Glama

Server Details

Travel-upgrade Q&A, live booking eligibility, and operator lookups for airline, cruise, rail.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

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

MCP client
Glama
MCP server

Full call logging

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

Tool access control

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

Managed credentials

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

Usage analytics

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

100% free. Your data is private.
Tool DescriptionsA

Average 4.4/5 across 17 of 17 tools scored. Lowest: 3.6/5.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct function or workflow step (e.g., general info vs booking-specific check, bid placement vs bid status, partner lookup vs pricing), and descriptions clarify when to use which. Even overlapping actions like check_upgrade_eligibility and start_eligibility_check are clearly differentiated by context.

Naming Consistency4/5

Most tools follow a verb_noun pattern (e.g., check_upgrade_eligibility, place_bid, get_bid_status). A few deviate slightly (partner_question_insights, usage_totals) but the naming is still intuitive and readable overall.

Tool Count4/5

17 tools is at the upper end of typical but still well-scoped given the breadth of functionalities (eligibility, bidding, watch, partner info, analytics). Every tool has a clear purpose, so the count feels justified rather than bloated.

Completeness4/5

The tool set covers the full lifecycle of upgrade management: eligibility check, bid placement/modification/status, pricing, partner info, watch, and system metrics. A minor gap is the absence of a cancel bid tool, but the main workflows are complete.

Available Tools

17 tools
ask_upgrade_agentA
Read-only
Inspect

Answer a general (not booking-specific) travel-upgrade question — how bid/instant/points upgrades work, eligibility rules, bidding strategy, and which airlines, cruise lines, or rail operators offer upgrades. Use this for informational questions only. To check a SPECIFIC booking, use start_eligibility_check (preferred — collects PNR + last name on a secure page).

ParametersJSON Schema
NameRequiredDescriptionDefault
askedByNoIdentifier for the calling agent/app (e.g. 'claude-cowork', 'aircanada-bot'). Used for per-partner reporting on which agents ask about their brand.
questionYesThe traveler's upgrade question, in natural language.
conversationIdNoOptional stable conversation id — carries the operator in play across follow-up questions (e.g. 'what about the return?').
Behavior4/5

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

Annotations already indicate readOnlyHint=true and openWorldHint=true. The description reinforces that it's for informational questions only and clarifies the scope, adding value beyond annotations without contradiction.

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

Conciseness5/5

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

The description is concise (three sentences), front-loaded with the main purpose, and every sentence adds value without redundancy.

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

Completeness4/5

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

For an informational tool with full schema coverage and annotations, the description is complete enough. It does not describe return values, but the output is likely textual and the tool's purpose is clear.

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

Parameters3/5

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

Schema coverage is 100% and all parameters are described adequately in the input schema. The description does not add significant new meaning 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 it answers general travel-upgrade questions and lists specific topics (bid/instant/points upgrades, eligibility, strategy, operators). It explicitly distinguishes from booking-specific tools like start_eligibility_check.

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

Usage Guidelines5/5

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

The description provides explicit guidance: use for informational questions only, and directs to start_eligibility_check for specific bookings, including the reason (collects PNR + last name).

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

check_upgrade_eligibilityCheck Booking EligibilityAInspect

Look up a booking's upgrade eligibility from a PNR + last name + airline. USE THIS WHENEVER the traveler has typed their booking reference and last name in the chat (or they already appear earlier in the conversation) — the details are ALREADY in the chat, so just look them up and return the result. Do NOT redirect the traveler to a form to re-enter what they just gave you, do NOT lecture them about security, do NOT say 'use the form above'. Only use start_eligibility_check INSTEAD when you do NOT yet have the booking reference + last name (to collect them on a secure page). Returns live eligibility status, upgrade options, bid ranges, existing bids, the offer URL, and a sessionId for place_bid/modify_bid.

ParametersJSON Schema
NameRequiredDescriptionDefault
pnrYesThe booking reference or PNR (e.g. ABC123).
carrierNoAirline/cruise/rail name or IATA code (e.g. 'SWISS' or 'LX').
languageNoISO 639-1 language for the offer page (e.g. 'fr', 'es'). Defaults to 'en'.
lastNameYesPassenger last name, exactly as it appears on the booking.
conversationIdNoOptional stable conversation id — lets place_bid/modify_bid reuse this booking.

Output Schema

ParametersJSON Schema
NameRequiredDescription
sessionIdNoSession id for place_bid / modify_bid / get_bid_status. Absent when the booking isn't bid-eligible.
Behavior4/5

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

Discloses that the tool returns live eligibility status, upgrade options, bid ranges, etc. Does not mention side effects, but annotations already indicate openWorldHint=true and destructiveHint=false. The description adds context on return values without contradicting annotations.

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

Conciseness4/5

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

The description is long but front-loaded with the core action. Some repetition ('DO NOT...' three times) could be condensed, but it is well-structured and every sentence adds value for the agent.

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

Completeness5/5

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

Given the complexity (5 parameters, output schema present), the description covers inputs, usage context, expected return values (live eligibility, options, sessionId), and explicitly mentions sibling tool differentiation. It is fully complete.

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

Parameters4/5

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

With 100% schema description coverage, the baseline is 3. The description adds meaning by emphasizing that PNR and lastName are the key parameters already in chat, and explains the purpose of conversationId for session reuse, going beyond the schema.

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

Purpose5/5

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

The description clearly states the tool looks up a booking's upgrade eligibility using PNR, last name, and airline. It specifies the exact inputs and differentiates from sibling tool start_eligibility_check, providing a distinct purpose.

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

Usage Guidelines5/5

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

Explicitly states when to use this tool (when traveler has already provided booking reference and last name) and when not to (when details are missing, use start_eligibility_check). Also includes what not to do (lecture, redirect, etc.), offering clear guidance.

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

get_bid_statusA
Read-onlyIdempotent
Inspect

Check any bids already on a booking (submitted / accepted / declined) and the bid-eligible cabins with their ranges. Pass the sessionId from start_eligibility_check. Reflects the booking as of that secure check.

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdNoThe sessionId from start_eligibility_check. Optional if conversationId is passed.
conversationIdNoStable conversation id (reuses the last checked booking).
Behavior4/5

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

Annotations declare readOnlyHint=true and idempotentHint=true, so the description adds value by explaining that it reflects the booking as of a specific secure check, which is useful behavioral context for an agent.

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

Conciseness5/5

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

Two sentences, no wasted words. The key information (what it does, prerequisite, snapshot behavior) is front-loaded and concise.

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

Completeness4/5

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

No output schema, but the description adequately explains what the tool returns (bid status and eligible cabins with ranges). For a read-only tool with clear annotations, this is sufficient, though it could be more precise about the output format.

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

Parameters3/5

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

Schema coverage is 100% and the description reinforces the sessionId parameter's origin (from start_eligibility_check). However, it adds no new meaning beyond what the schema already describes, so baseline of 3 is appropriate.

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

Purpose5/5

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

The description clearly specifies the tool's purpose: checking bids on a booking and viewing bid-eligible cabins. It uses a specific verb ('Check') and resource ('bids on a booking'), and stands out from sibling tools like 'place_bid' or 'modify_bid'.

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 a clear prerequisite: pass the sessionId from start_eligibility_check. It implies when to use the tool (after starting eligibility) but does not explicitly state when not to use it or mention alternatives like get_eligibility_result.

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

get_eligibility_resultA
Read-onlyIdempotent
Inspect

Read the result of a secure eligibility check started with start_eligibility_check. Pass the sessionId returned by that tool. Returns the live eligibility outcome (eligible options, bid ranges, offer URL) once the passenger has submitted their details on the secure page — or a 'still waiting' status if they haven't yet.

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdYesThe sessionId returned by start_eligibility_check.
conversationIdNoOptional stable conversation id — lets later tools (place_bid) reuse this booking without re-passing the sessionId.
Behavior4/5

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

Adds value beyond annotations by describing live eligibility outcome versus 'still waiting' status. Annotations already cover readOnly, idempotent, and non-destructive nature. No contradictions.

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

Conciseness5/5

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

Two highly informative sentences with no fluff. Purpose, usage, and behavior are front-loaded and clear.

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

Completeness5/5

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

Explains return values (eligible options, bid ranges, offer URL) and status 'still waiting' despite no output schema. Covers dependency on start_eligibility_check and secure page. Sufficient for 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 100% with descriptions. Description repeats schema info (pass sessionId, optional conversationId) but adds no new meaning. Baseline 3 is appropriate.

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

Purpose5/5

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

Description clearly states 'read the result of a secure eligibility check' and distinguishes from sibling tools like start_eligibility_check and place_bid by referencing sessionId and return values.

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

Usage Guidelines4/5

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

Explicitly instructs to pass sessionId returned by start_eligibility_check and explains return status based on user action. Lacks explicit alternatives or when-not-to-use, but context is clear.

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

get_partner_infoA
Read-onlyIdempotent
Inspect

Get the full upgrade profile for one operator — products offered (with the official page URL), loyalty program, cabin paths, how to access, and summary. More detailed than ask_upgrade_agent. Accepts an IATA code or a name (e.g. 'AC' or 'Air Canada').

ParametersJSON Schema
NameRequiredDescriptionDefault
carrierYesOperator IATA code or name, e.g. 'LH' or 'Lufthansa'.
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so safety is clear. Description adds behavioral detail on what is returned (full profile with specific fields), which is useful beyond annotations.

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

Conciseness5/5

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

Two sentences, front-loaded with purpose, then usage guidance and input format. 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 read-only tool with full schema coverage and annotations, the description fully covers what the tool does, what it returns, and how to use it. No gaps.

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

Parameters3/5

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

Schema coverage is 100%, so description adds marginal value. It repeats that carrier can be IATA code or name with an example, which is already in schema description. No new semantic information.

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

Purpose5/5

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

Description states it gets the full upgrade profile for one operator, listing specific details included (products, URL, loyalty program, cabin paths, access, summary). It distinguishes from sibling ask_upgrade_agent by noting it's more detailed. Clear verb and resource.

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

Usage Guidelines4/5

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

Explicitly compares to ask_upgrade_agent, indicating when to use this tool for more detailed info. Accepts IATA code or name. No explicit when-not-to-use, but the context is clear.

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

get_upgrade_pricingA
Read-onlyIdempotent
Inspect

Answer 'how much does it cost to upgrade on ?' WITHOUT needing a booking. Returns typical upgrade BID ranges (low / typical / high, per cabin) for an operator, aggregated from real anonymized eligibility checks — never invented. Accepts an IATA code or a name (e.g. 'LH' or 'Lufthansa'). Use this for any cost/price/'how much' upgrade question. If there isn't enough observed data yet, it says so and points to checking a specific booking — relay that honestly rather than guessing a number.

ParametersJSON Schema
NameRequiredDescriptionDefault
cabinNoOptional: limit to one target cabin.
carrierNoOperator IATA code or name, e.g. 'LH' or 'Lufthansa'. Optional if conversationId carries the operator from earlier.
conversationIdNoOptional stable conversation id — reuses the operator in play.
Behavior4/5

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

Annotations already mark it as read-only and idempotent. The description adds that data is aggregated from real anonymized checks and never invented, plus how to handle low-confidence cases honestly.

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

Conciseness5/5

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

Four sentences with no fluff. The front-loaded first sentence defines the purpose immediately, followed by details on data source, usage, and handling limitations.

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 pricing query tool, the description covers input (carrier, optional cabin), output format (bid ranges per cabin), and edge cases (insufficient data). No output schema exists, so the description adequately explains return values.

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

Parameters4/5

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

Schema covers all parameters with descriptions. Description adds contextual examples (e.g., 'LH' or 'Lufthansa') and explains the conversationId reuse behavior, providing extra value.

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: answering 'how much does it cost to upgrade' for an airline. It distinguishes from sibling tools like 'predict_bid_success' and 'place_bid' by focusing on aggregated bid ranges without needing a booking.

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

Usage Guidelines4/5

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

Explicitly says to use for cost/price questions and mentions handling insufficient data by pointing to a specific booking. Does not explicitly exclude alternatives, but the context is clear enough.

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

get_watch_statusA
Read-onlyIdempotent
Inspect

Check a Watcher Concierge watch (created with start_watch). Returns its status, what it's watching for, and any improvements found so far. Pass the token from start_watch.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesThe watch token returned by start_watch.
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false. The description adds value by detailing what the tool returns (status, watched items, improvements) and implies it is safe to call multiple times, consistent with idempotentHint.

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

Conciseness5/5

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

Two sentences, no filler, front-loaded with purpose. Every sentence earns its place.

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

Completeness5/5

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

The description fully covers the tool's purpose and return values for a simple read operation. No output schema exists, but the description explains what is returned. Annotations cover safety. No gaps.

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 single parameter 'token' is fully described in the schema (100% coverage). The description reinforces this by saying 'Pass the token from start_watch' but adds no new meaning beyond the schema's description.

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

Purpose5/5

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

The description specifies the verb 'Check', the resource 'a Watcher Concierge watch', and distinguishes from sibling tools like 'start_watch' by stating it's for checking a watch created with that tool. It clearly lists return values: status, what it's watching for, and any improvements found.

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

Usage Guidelines4/5

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

The description implies usage after calling start_watch by stating 'Check a Watcher Concierge watch (created with start_watch)' and instructs to pass the token from start_watch. It lacks explicit when-not or alternative tools but is reasonably clear for this simple context.

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

list_partnersA
Read-onlyIdempotent
Inspect

List the travel operators that offer upgrade programs, with optional filters. Returns each operator's name, IATA/code, vertical, region, and the upgrade products it offers. Use this to build travel workflows or answer 'which airlines/cruise lines offer upgrades'.

ParametersJSON Schema
NameRequiredDescriptionDefault
regionNoFilter by region (MEA = Middle East & Africa, APAC = Asia-Pacific).
productNoOnly operators that offer this product.
verticalNoFilter by operator type.
Behavior3/5

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

Annotations (readOnlyHint, destructiveHint, idempotentHint) already indicate safe, read-only behavior. The description adds the return payload details, but does not disclose additional behavioral traits like pagination or default sorting.

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

Conciseness5/5

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

Three sentences, front-loaded with action and result. No redundant information; every sentence adds value.

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

Completeness4/5

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

Given the lack of output schema, the description explains return fields and usage context. For a simple list tool with optional filters, it is sufficiently complete.

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

Parameters3/5

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

Schema coverage is 100% with clear enums and descriptions for all three parameters. The description adds no new parameter meaning beyond noting they are optional filters, so baseline 3 applies.

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

Purpose4/5

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

The description clearly states the verb 'List' and the resource 'travel operators that offer upgrade programs', and specifies the returned fields. However, it does not explicitly differentiate from sibling tools like get_partner_info or search_upgrade_options, which could cause confusion.

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

Usage Guidelines3/5

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

The description provides a usage example ('answer which airlines/cruise lines offer upgrades') but lacks guidance on when not to use this tool or alternatives like get_partner_info for detailed info.

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

mint_eligibility_sessionMint Eligibility Session (internal)AInspect

Internal helper for the inline eligibility form: creates a secure session and returns its id. No UI; agents should use start_eligibility_check instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
carrierNoOperator name/IATA if known.
languageNoISO 639-1 language (default 'en').

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlNo
carrierNo
sessionIdNoSecure eligibility session id.
carrierIataNo
carrierLogoNo
carrierNameNo
carrierAccentNo
Behavior3/5

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

Annotations are present but largely neutral (all hints false). The description adds that it 'creates a secure session' but does not detail behavioral traits like idempotency or side effects beyond creation. It does not contradict annotations.

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

Conciseness5/5

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

Two sentences succinctly convey purpose, context, and usage guidance with no unnecessary 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 an internal helper with two parameters and an output schema, the description covers purpose, usage boundaries, and alternatives. It lacks detail on return format, but the output schema likely covers that, making it nearly 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 coverage is 100% with both parameters described ('carrier' and 'language'). The description adds no additional parameter meaning beyond what the schema provides, so baseline score of 3.

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

Purpose5/5

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

The description clearly states the tool creates a secure session and returns its id, and explicitly distinguishes itself from the sibling tool start_eligibility_check by noting it is an internal helper without UI.

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

Usage Guidelines5/5

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

The description explicitly says 'No UI; agents should use start_eligibility_check instead', providing clear guidance on when not to use this tool and recommending an alternative.

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

modify_bidModify Upgrade BidAInspect

Change the amount of a bid already prepared/placed on a booking. Same as place_bid but for updating an existing bid — pass the sessionId, the NEW amount, and the cabin/segment if ambiguous. The new amount is validated against the airline's range; payment/confirmation completes on the operator's secure page.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesThe NEW bid amount in the offer currency.
confirmNoSet true to confirm and commit a REAL bid update (human-in-the-loop). Only required once live bid submission is enabled.
segmentNoRoute 'YUL-LHR' or flight number, if ambiguous.
quantityNo
sessionIdNoThe sessionId from start_eligibility_check. Optional if conversationId is passed.
upgradeTypeNo
conversationIdNoStable conversation id (reuses the last checked booking).

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
stageNo
amountNo
currencyNo
handoffUrlNo
Behavior4/5

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

The description adds valuable context beyond annotations: validation against airline's range and external payment/confirmation process. No contradictions with annotations (readOnlyHint false, destructiveHint false).

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

Conciseness5/5

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

Two concise sentences, front-loaded with the main action, no unnecessary words. Every sentence provides essential information.

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

Completeness4/5

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

Given the tool's complexity (7 params, many siblings), the description covers the main purpose, key parameters, validation, and payment flow. Since output schema exists, the lack of return value details is acceptable. Minor gaps on less common parameters.

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

Parameters3/5

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

Schema coverage is high (71%), so baseline is 3. The description adds meaning to 'amount' as 'NEW amount' and mentions sessionId and cabin/segment for ambiguity, but does not explain all parameters like quantity or upgradeType.

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

Purpose5/5

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

The description clearly states it changes the amount of an existing bid, using specific verb 'change' and resource 'bid'. It explicitly distinguishes from the sibling 'place_bid' by noting this is for updating, not placing.

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?

Guidance is clear: use this tool to update an existing bid, and it references the similar 'place_bid' for new bids. The description specifies key parameters to pass (sessionId, amount, cabin/segment) but does not explicitly state 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.

partner_question_insightsA
Read-onlyIdempotent
Inspect

Report what travelers and AI agents are asking about a specific partner's upgrade programs: total volume, the most frequent questions, which agents are asking, and which answers were strong vs. which need review. Pass the partner name (e.g. 'Air Canada', 'MSC Cruises').

ParametersJSON Schema
NameRequiredDescriptionDefault
partnerNoPartner name, e.g. 'Air Canada'. Ignored for partner-scoped tokens (locked to their own brand).
Behavior4/5

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

Annotations already indicate read-only, idempotent, and non-destructive behavior. The description adds valuable context on the specific outputs (volume, frequent questions, agents, answer strength), going beyond what annotations provide. No contradictions.

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

Conciseness5/5

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

The description is a single sentence that efficiently lists the key aspects of the report. It is front-loaded with the main purpose and contains no unnecessary words.

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

Completeness5/5

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

Given the tool has only one parameter, no output schema, and annotations covering safety, the description is complete. It adequately describes the input format and the nature of the output (a report with specific components).

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 sole parameter 'partner' is fully described in the schema. The description adds extra behavioral nuance (ignored for partner-scoped tokens), which enhances the agent's understanding beyond the schema.

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

Purpose5/5

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

The description clearly states the tool reports on what travelers and AI agents ask about a partner's upgrade programs, including volume, questions, agents, and answer strength. It distinguishes itself from siblings like ask_upgrade_agent and check_upgrade_eligibility by focusing on analytical insights rather than direct actions.

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

Usage Guidelines4/5

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

The description explicitly tells the user to pass the partner name with examples, and notes the edge case for partner-scoped tokens. It does not explicitly state when not to use this tool or name alternatives, but the context and sibling list imply it is for reporting rather than transactional operations.

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

place_bidPlace Upgrade BidAInspect

Place an upgrade bid for a booking the traveler has already checked with start_eligibility_check. Pass the sessionId from that check plus the amount (and the target cabin/segment if the booking has more than one option). The amount is validated against the airline's real min/max range. Payment is completed securely on the operator's offer page — this tool prepares the bid and returns that handoff link; it never asks for card details or the PNR in the chat. Use get_bid_status to confirm, modify_bid to change it.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesBid amount in the offer currency.
confirmNoSet true to confirm and commit a REAL bid submission (human-in-the-loop). Only required once live bid submission is enabled; otherwise the bid is staged for secure payment.
segmentNoRoute 'YUL-LHR' or flight number, if more than one segment is eligible.
quantityNoNumber of seats (default 1).
sessionIdNoThe sessionId from start_eligibility_check. Optional if conversationId is passed (reuses the last checked booking).
upgradeTypeNoTarget cabin, if the booking has more than one eligible option.
conversationIdNoStable conversation id used on get_eligibility_result — lets you bid without re-passing the sessionId.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNoWhether the bid was staged successfully.
stageNoe.g. 'needs_payment' — where the bid is in the flow.
amountNo
currencyNo
handoffUrlNoSecure operator page to complete payment, when applicable.
Behavior5/5

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

Annotations indicate write operation (readOnlyHint=false) and non-destructive. Description adds that it prepares the bid and returns a handoff link, payment is on operator page, never asks for sensitive data, and validates amount against min/max range. This provides comprehensive behavioral context beyond annotations.

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

Conciseness5/5

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

Two sentences, front-loaded with main action and prerequisite. No wasted words, each clause adds necessary context.

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

Completeness5/5

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

Given 7 parameters, complex domain, presence of output schema, and rich annotations, the description covers prerequisites, parameter usage, security, post-bid steps, and references sibling tools. It is complete and leaves no obvious gaps.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. Description adds significant meaning: explains sessionId source, amount validation, when to use segment/upgradeType, confirm flag purpose, quantity default, conversationId alternative. Adds value beyond schema.

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

Purpose5/5

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

The description clearly states the action ('Place an upgrade bid'), the resource ('a booking'), and the prerequisite ('already checked with start_eligibility_check'). It distinguishes from sibling tools by mentioning get_bid_status and modify_bid.

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

Usage Guidelines5/5

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

Provides explicit when to use (after eligibility check), when not to use (don't ask for card details or PNR), and alternatives (get_bid_status, modify_bid). Also guides on parameters like sessionId, conversationId, segment, upgradeType.

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

predict_bid_successPredict Bid SuccessA
Read-onlyIdempotent
Inspect

Given a SPECIFIC bid amount, returns the probability it succeeds, grounded in Plusgrade's own resolved accept/reject outcomes for this carrier and cabin — never a guess. Use this when a traveler asks something like 'will $400 get me the upgrade?' or before confirming a bid amount with place_bid. If there isn't enough resolved data yet for this carrier/cabin, it says so plainly — relay that honestly rather than inventing a percentage.

ParametersJSON Schema
NameRequiredDescriptionDefault
cabinNoOptional: target cabin.
amountYesThe bid amount to evaluate, in the operator's offer currency.
carrierNoOperator IATA code or name, e.g. 'LH' or 'Lufthansa'. Optional if conversationId carries the operator from earlier.
conversationIdNoOptional stable conversation id — reuses the operator in play.

Output Schema

ParametersJSON Schema
NameRequiredDescription
bandNo
samplesNoNumber of resolved bids the estimate is based on.
confidenceNo
probabilityNoEstimated success probability (0–1), or null when there's too little resolved data.
Behavior5/5

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

Annotations already indicate read-only, idempotent, non-destructive behavior. The description adds transparency by stating it's grounded in real outcomes (not guesses) and explicitly mentions handling of insufficient data, exceeding what annotations provide.

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

Conciseness5/5

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

Extremely concise: two sentences that front-load the core purpose and usage without any filler. Every sentence adds value.

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

Completeness5/5

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

Given the complexity (4 params, annotations, output schema exists), the description covers when to use, behavioral boundaries, edge cases (insufficient data), and integration with workflow. It is complete for its role.

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

Parameters3/5

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

Schema coverage is 100% with parameter descriptions. The description adds minimal extra meaning beyond schema, only noting currency context for amount and conversationId reuse. Baseline of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool predicts success probability for a specific bid amount, grounded in real historical data. It distinguishes itself from sibling tools like place_bid by explicitly mentioning its role before placing a bid.

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 use cases ('when a traveler asks will $400 get me the upgrade?') and advises relaying insufficient data honestly. It also directs when to use before place_bid, offering clear contextual guidance.

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

search_upgrade_optionsA
Read-onlyIdempotent
Inspect

Find operators that offer upgrades, filtered by vertical, region, and/or product. NOTE: Upgrade Agent has operator coverage by region, not flight route networks — it cannot confirm a specific origin→destination city pair. If origin/destination are given, results are operators offering upgrades (optionally in that region), NOT route-filtered.

ParametersJSON Schema
NameRequiredDescriptionDefault
originNoOrigin city/airport (informational only — not used to route-filter).
regionNo
productNo
verticalNo
destinationNoDestination city/airport (informational only — not used to route-filter).
Behavior5/5

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

The description adds critical behavioral detail beyond the annotations: the tool's coverage is by region, not flight routes, and origin/destination parameters are informational only. This fully discloses the tool's limitations and behavior, complementing the readOnlyHint and idempotentHint annotations.

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

Conciseness5/5

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

The description is two sentences plus a crucial note, all front-loaded. Every sentence adds value: the first states the core functionality, the second clarifies a critical limitation. No unnecessary 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 read-only search tool with 5 parameters and annotations, the description covers the main purpose and key limitations. It does not describe the return format (list of operators) but this is implied by 'Find operators'. Given no output schema, a brief mention of return type would improve completeness.

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

Parameters3/5

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

The description reinforces that origin and destination are informational (already stated in schema) and that vertical, region, and product are filters. However, it does not explain enum values or add significant new semantic detail. With 40% schema coverage, the description partially compensates but could be more descriptive for the enum 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 specifies the verb 'Find' and the resource 'operators that offer upgrades', and lists the filtering dimensions (vertical, region, product). This clearly distinguishes it from sibling tools like check_upgrade_eligibility or get_bid_status, which focus on different aspects of upgrades.

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

Usage Guidelines4/5

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

The description explicitly warns that the tool cannot confirm specific origin→destination city pairs and that results are not route-filtered. This provides clear guidance on when not to use it, though it does not explicitly name alternative tools for route-specific queries.

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

start_eligibility_checkStart Eligibility CheckAInspect

Check whether a specific booking is eligible for an upgrade. THIS IS HOW YOU CHECK A BOOKING. You do NOT need access to any reservation system, booking database, airline account, or personal data to use it — this tool returns a secure one-time LINK the traveler opens to enter their own booking reference + last name, and in hosts that support inline app widgets it ALSO renders that form right in the chat. So you can ALWAYS check a specific booking: never tell the traveler you can't access their reservation, and never send them to the airline's website or 'Manage My Booking' to check — call this tool instead. Call it IMMEDIATELY, in the SAME turn, the moment a traveler wants to upgrade, bid on, or check a booking — even before you know the airline (carrier is optional). Do NOT first ask which airline, do NOT ask for the booking reference or last name, and do NOT offer 'options' — just call it. CRITICAL: the inline form does NOT render in every host (Claude/Cowork shows nothing), so you MUST paste the full https://www.upgradeagent.ai/e/... link from the result into your reply as a clickable link. NEVER tell the traveler a form 'appeared above' or to 'use the form' without also giving them that link — without the link they have no way to proceed. Never ask them to type their booking reference/last name into the chat. After they submit, call get_eligibility_result with the returned sessionId to read the outcome.

ParametersJSON Schema
NameRequiredDescriptionDefault
carrierNoAirline/cruise/rail name or IATA code if known (e.g. 'Air Canada' or 'AC').
languageNoISO 639-1 language for the page/offer (e.g. 'fr', 'es'). Defaults to 'en'.

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlNoSecure /e/ link the traveler can open to enter their details.
carrierNo
sessionIdNoSecure eligibility session id — pass to get_eligibility_result.
carrierIataNo
carrierLogoNo
carrierNameNo
carrierAccentNo
Behavior5/5

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

Discloses behavioral traits beyond annotations: returns a one-time link, may render inline form, host-dependent behavior, and post-submission workflow. No annotation contradiction.

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 very long and verbose with repetition (e.g., 'NEVER tell the traveler'), lacking conciseness. While front-loaded, it could be more efficient.

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

Completeness5/5

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

Given the tool's complexity and the presence of an output schema, the description thoroughly covers workflow, host behavior, and fallback instructions, making it complete for the agent.

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

Parameters3/5

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

Schema coverage is 100% and the description does not add any extra meaning to the two parameters beyond what is already in the schema. Baseline 3 is appropriate.

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

Purpose5/5

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

The first sentence clearly states the tool checks eligibility for an upgrade, and the description explicitly distinguishes it from siblings by saying 'THIS IS HOW YOU CHECK A BOOKING' and contrasting with alternatives like sending to a website.

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 extensive when-to-use guidance, including calling it immediately, not asking for airline or booking reference, and what to do after submission (call get_eligibility_result). Also warns about inline form rendering limitations.

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

start_watchStart Booking WatchAInspect

Set up a Watcher Concierge: have Upgrade Agent CONTINUOUSLY watch a traveler's booking between now and departure and surface improvements to their trip — a better seat (even window-vs-middle), an empty adjacent seat, a cabin upgrade, lounge, or fast track — acting within a budget or notifying them. Gather the traveler's ORDERED preferences and (optionally) a budget and contact in the conversation, then call this. It returns a secure link where the traveler privately enters their booking reference + last name to activate the watch (never put the PNR in the chat). Afterward, use get_watch_status to check it.

ParametersJSON Schema
NameRequiredDescriptionDefault
carrierNoAirline/operator name or IATA code if known.
contactNo
channelsNoHow to reach them: in_chat | watch_page | email | whatsapp | push.
autoActionNoIf true (and a budget is set), act within budget; else notify.
preferencesYesThe traveler's improvements to watch for, in their order of preference.
budgetAmountNoOverall budget if they want the agent to act.
budgetCurrencyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
tokenNoWatch token — pass to get_watch_status.
setupUrlNoSecure link where the traveler activates the watch.
Behavior4/5

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

Annotations (readOnlyHint=false, destructiveHint=false) are consistent. Description adds behavioral details: returns a secure link, traveler enters booking reference, continuous watch. No contradictions.

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

Conciseness4/5

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

The description is detailed but not overly verbose. Front-loaded with purpose, then specific instructions. Every sentence adds value, though could be slightly tighter.

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

Completeness5/5

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

Given complexity (nested objects, 7 params) and presence of output schema, the description is complete: explains activation, secure link, post-call action, and what the watch does. No gaps.

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

Parameters4/5

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

Schema coverage is high (71%), and description adds meaning by explaining preferences are 'ordered', budget and contact are optional, and activation occurs via secure link. Goes beyond schema.

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

Purpose5/5

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

The description clearly states the tool sets up a 'Watcher Concierge' that continuously watches a traveler's booking and surfaces improvements. It uses specific verbs like 'set up' and 'watch', and distinguishes from siblings like 'get_watch_status'.

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

Usage Guidelines4/5

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

Provides explicit context: gather preferences, budget, and contact in conversation before calling; warns not to put PNR in chat; instructs to use get_watch_status afterward. Lacks explicit when-not-to-use or alternatives, but clear enough.

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

usage_totalsA
Read-onlyIdempotent
Inspect

Running totals across the whole system: how many questions have been asked, and how many were answered successfully (quality at or above the success threshold).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. Description adds context about what the totals measure (questions asked and successful answers), which is consistent and helpful beyond annotations.

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

Conciseness5/5

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

Single sentence, front-loaded with key information, no wasted words. Every word earns its place.

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

Completeness4/5

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

Given no parameters, no output schema, and clear annotations, the description is adequate. It could optionally mention real-time vs cached nature, but not required. Complete enough for agent decision-making.

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

Parameters5/5

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

No parameters exist; schema coverage is 100%. Description adds no extra parameter info because none is needed. Baseline for 0 parameters is 4, but this description is concise and sufficient, earning a 5.

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

Purpose5/5

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

Description clearly states it returns running totals of questions asked and successfully answered across the whole system. It is specific and distinguishes from siblings like upgrade or bid tools.

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?

No explicit when-to-use or when-not-to-use guidance, though the context of siblings suggests it is for aggregate system stats. Implied usage is clear but could be more direct.

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

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources