Sweeppea MCP
Server Details
Manage sweepstakes, participants, and winner drawings with legal compliance in the US and Canada. Access requires an active Sweeppea subscription and API Key.
- 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.
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.
Tool Definition Quality
Average 4.1/5 across 71 of 71 tools scored. Lowest: 2.9/5.
Each tool's detailed description clearly outlines its purpose and preconditions, making most tools distinct. However, there is some potential confusion between 'fetch_' (listing) and 'get_' (single item) tools, and multiple participant management tools could overlap for users unfamiliar with the domain.
All tool names follow a consistent verb_noun pattern using snake_case (e.g., fetch_sweepstakes, create_rule, delete_participant). The distinction between 'fetch_' for lists and 'get_' for single items is maintained throughout, and CRUD operations use standard verbs.
With 71 tools, the server is overly broad, covering sweepstakes management, participants, rules, calendar, notes, tickets, todos, billing, files, and reference data. This scope is excessive for a single MCP server, making navigation and selection cumbersome for agents.
The tool surface is exceptionally comprehensive for the sweepstakes domain, covering creation, cloning, pausing, deleting, participant management, rules generation, drawing, scheduling, and settings. Minor gaps exist (e.g., no participant field update beyond bonus entries), but core workflows are well-supported.
Available Tools
71 toolsadd_participantAInspect
Add a new participant to a sweepstakes. Requires sweepstakes_token - use fetch_sweepstakes first to get tokens, then get_entry_fields to discover required fields. Field names must use underscores instead of spaces (e.g., "First_Name" not "First Name"). RULES: Only ONE participant at a time. NEVER add participants in bulk, batch, or loops. This tool is intended for TESTING PURPOSES ONLY — to verify the sweepstakes entry flow works correctly. Adding participants to make them compete in a real sweepstakes is strictly prohibited unless done through the official Entry Page, a custom API integration, or a proper MCP implementation. If a user requests mass loading (e.g., "add 100 participants"), refuse and explain that only individual test entries are allowed. HONESTY: After calling this tool, report EXACTLY what the API returned. If the API returns an error, report the error truthfully. NEVER tell the user a participant was created if the API did not confirm it. Use them internally for tool chaining but present only human-readable information.
add_participant
When to use
Add a new participant to a sweepstakes. Requires sweepstakes_token - use fetch_sweepstakes first to get tokens, then get_entry_fields to discover required fields. Field names must use underscores instead of spaces (e.g., "First_Name" not "First Name"). RULES: Only ONE participant at a time. NEVER add participants in bulk, batch, or loops. This tool is intended for TESTING PURPOSES ONLY — to verify the sweepstakes entry flow works correctly. Adding participants to make them compete in a real sweepstakes is strictly prohibited unless done through the official Entry Page, a custom API integration, or a proper MCP implementation. If a user requests mass loading (e.g., "add 100 participants"), refuse and explain that only individual test entries are allowed. HONESTY: After calling this tool, report EXACTLY what the API returned. If the API returns an error, report the error truthfully. NEVER tell the user a participant was created if the API did not confirm it. Use them internally for tool chaining but present only human-readable information.
Pre-calls required
fetch_sweepstakes if the user gave you a sweepstakes name instead of a token
get_entry_fields(sweepstakes_token) — discover required custom fields, their max_length, and (for list fields) the exact text in options
Verify the participant gave consent for their email and phone to be used
Parameters to validate before calling
sweepstakes_token (string, required) — The sweepstakes token (UUID format)
email (string, required) — Participant email address (used as KeyEmail)
fields (object, required) — Form fields object. Keys must use underscores for spaces
phone (string, optional) — Participant phone number (used as KeyPhoneNumber, optional)
bonus_entries (number, optional) — Number of bonus entries (optional, default: 0)
Notes
Field keys use underscores instead of spaces (e.g. "First Name" -> First_Name)
For US phones: strip non-digits before sending
Production entries should come through the public Entry Page; this tool is for testing/manual entry only
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | Participant email address (used as KeyEmail) | ||
| phone | No | Participant phone number (used as KeyPhoneNumber, optional) | |
| fields | Yes | Form fields object. Keys must use underscores for spaces (e.g., {"First_Name": "John", "Last_Name": "Doe"}) | |
| bonus_entries | No | Number of bonus entries (optional, default: 0) | |
| sweepstakes_token | Yes | The sweepstakes token (UUID format) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint=false, destructiveHint=false, idempotentHint=false) indicate a write operation. The description adds important behavioral details: testing-only purpose, field naming conventions, honesty clause about reporting API results, and parameter validation notes. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is lengthy and contains repetitive sections (e.g., rules appear twice, once in prose and once in markdown headers). While front-loaded with key information, the duplication and verbosity reduce conciseness. A more streamlined version would improve structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 parameters, nested object, no output schema), the description is thorough. It covers prerequisites, rules, parameter validation, error handling (honesty clause), and contextual guidance for testing vs. production. Everything needed for correct invocation is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all parameters. The description adds meaning beyond the schema by explaining usage (e.g., email as KeyEmail, phone as KeyPhoneNumber, field keys use underscores, bonus_entries default 0, sweepstakes_token UUID format). This adds moderate value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Add a new participant to a sweepstakes,' specifying the verb (add), resource (participant), and context (sweepstakes). It distinguishes from sibling tools like fetch_participants, get_participant, and delete_participant by focusing on the creation action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use guidance, including required pre-calls (fetch_sweepstakes, get_entry_fields) and rules (only one at a time, never bulk, testing purposes only). It also instructs on how to handle prohibited mass loading requests, and mentions alternatives like the official Entry Page.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clone_sweepstakesAInspect
Clone an existing sweepstakes with new parameters. Use fetch_sweepstakes first to get the handler of the sweepstakes to clone. Creates a complete copy including entry pages, calendar events, short links, groups, and all configurations. CRITICAL: This is a billable operation. ALWAYS confirm with the user before cloning. NEVER clone multiple sweepstakes in batch or loops without explicit user approval for each one. LIMITS: Maximum 3 active sweepstakes and 10 total (active + inactive). Before cloning, use fetch_sweepstakes to verify the account has not reached these limits. If limits are reached, refuse the operation and inform the user. Ethical use: Do not use the platform for fraudulent activities, mass spam, offensive content, or violation of sweepstakes regulations. Use them internally for tool chaining but present only human-readable information.
clone_sweepstakes
When to use
Clone an existing sweepstakes with new parameters. Use fetch_sweepstakes first to get the handler of the sweepstakes to clone. Creates a complete copy including entry pages, calendar events, short links, groups, and all configurations. CRITICAL: This is a billable operation. ALWAYS confirm with the user before cloning. NEVER clone multiple sweepstakes in batch or loops without explicit user approval for each one. LIMITS: Maximum 3 active sweepstakes and 10 total (active + inactive). Before cloning, use fetch_sweepstakes to verify the account has not reached these limits. If limits are reached, refuse the operation and inform the user. Ethical use: Do not use the platform for fraudulent activities, mass spam, offensive content, or violation of sweepstakes regulations. Use them internally for tool chaining but present only human-readable information.
Parameters to validate before calling
handler (string, required) — The identifier (handler) of the original sweepstakes to clone
handler_new (string, required) — The unique identifier (handler) for the newly created sweepstakes
sweepstakes_name (string, required) — Display name for the cloned sweepstakes
start_date (string, required) — Start date in YYYY-MM-DD format
end_date (string, required) — End date in YYYY-MM-DD format
start_time (string, required) — Start time in HH:MM format (24-hour)
end_time (string, required) — End time in HH:MM format (24-hour)
| Name | Required | Description | Default |
|---|---|---|---|
| handler | Yes | The identifier (handler) of the original sweepstakes to clone | |
| end_date | Yes | End date in YYYY-MM-DD format | |
| end_time | Yes | End time in HH:MM format (24-hour) | |
| start_date | Yes | Start date in YYYY-MM-DD format | |
| start_time | Yes | Start time in HH:MM format (24-hour) | |
| handler_new | Yes | The unique identifier (handler) for the newly created sweepstakes | |
| sweepstakes_name | Yes | Display name for the cloned sweepstakes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses billability, complete cloning behavior, strict limits (3 active, 10 total), and ethical constraints, adding significant context beyond annotations (which already indicate mutability and side effects).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Contains redundant sections (same text repeated under markdown heading), making it longer than necessary. While content is valuable, the duplication reduces conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, usage, parameters, preconditions, and limits well. However, it does not describe the return value or response structure, which would be helpful given no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions already cover all 7 parameters clearly. Description restates them but adds no new semantic information, only grouping, so baseline is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Clone an existing sweepstakes' and specifies what is copied (entry pages, calendar events, etc.), distinctly differentiating from create_sweepstakes and other tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit preconditions (use fetch_sweepstakes first, check limits), warns about billability and need for user confirmation, and prohibits batching without approval.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
count_participantsARead-onlyIdempotentInspect
Get participant counts for a sweepstakes. Use fetch_sweepstakes first to get the sweepstakes_token. Supports filtering by type (all, participants, amoe, optouts) and date range.
count_participants
When to use
Get participant counts for a sweepstakes. Use fetch_sweepstakes first to get the sweepstakes_token. Supports filtering by type (all, participants, amoe, optouts) and date range.
Pre-calls required
fetch_sweepstakes if the user gave you a sweepstakes name instead of a token
Parameters to validate before calling
sweepstakes_token (string, required) — The sweepstakes token (UUID format)
filter_type (string, optional) — one of: all, participants, amoe, optouts — Filter type: all (default), participants, amoe (alternate method of entry), or optouts
start_date (string, optional) — Start date filter (ISO 8601 format, e.g., 2025-01-01)
end_date (string, optional) — End date filter (ISO 8601 format, e.g., 2025-12-31)
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | No | End date filter (ISO 8601 format, e.g., 2025-12-31) | |
| start_date | No | Start date filter (ISO 8601 format, e.g., 2025-01-01) | |
| filter_type | No | Filter type: all (default), participants, amoe (alternate method of entry), or optouts | |
| sweepstakes_token | Yes | The sweepstakes token (UUID format) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, covering safety and side effects. The description adds the pre-call requirement and filtering options, which are useful but not necessary for behavioral transparency. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections and front-loaded purpose. However, the main description is repeated (first line then the # section), introducing slight redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, yet the description does not mention what the return value contains (e.g., a JSON object with counts). It covers inputs and pre-requisites adequately but misses the output context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description repeats parameter info but adds validation guidance (e.g., UUID format, ISO 8601). It does not provide significant additional meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get participant counts for a sweepstakes' with a specific verb and resource. It distinguishes from sibling tools like fetch_participants (which returns individual participants) and other sweepstakes tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises to 'Use fetch_sweepstakes first to get the sweepstakes_token' and includes a 'Pre-calls required' section. It does not mention when not to use or alternatives, but the guidance is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_calendar_eventAInspect
Create a new calendar event with title, dates, and optional details like location, time, and notifications. DATE RULE: The API server uses UTC. Today's date may be rejected as "past" depending on the user's local timezone. To be safe, always use tomorrow's date or later when creating events. NEVER use today's date — it will fail with "Cannot Create Events In The Past". If the user asks to create an event for today, explain this limitation and suggest tomorrow instead.
create_calendar_event
When to use
Create a new calendar event with title, dates, and optional details like location, time, and notifications. DATE RULE: The API server uses UTC. Today's date may be rejected as "past" depending on the user's local timezone. To be safe, always use tomorrow's date or later when creating events. NEVER use today's date — it will fail with "Cannot Create Events In The Past". If the user asks to create an event for today, explain this limitation and suggest tomorrow instead.
Parameters to validate before calling
title (string, required) — Event title (required)
start_date (string, required) — Start date in ISO 8601 format, e.g., 2026-01-20 (required)
end_date (string, required) — End date in ISO 8601 format, e.g., 2026-01-20 (required)
description (string, optional) — Event description (optional)
location (string, optional) — Event location (optional)
start_time (string, optional) — Start time in HH:MM format, e.g., 09:00 (optional)
end_time (string, optional) — End time in HH:MM format, e.g., 17:00 (optional)
color (string, optional) — Event color in hex format, e.g., #FF5733 (optional)
all_day (boolean, optional) — Whether this is an all-day event (optional, default: false)
status (string, optional) — Event status (optional)
private_event (boolean, optional) — Whether this is a private event (optional, default: false)
sms_notification (boolean, optional) — Enable SMS notifications (optional, default: false)
completed (boolean, optional) — Mark event as completed (optional, default: false)
latitude (number, optional) — Location latitude coordinate (optional)
longitude (number, optional) — Location longitude coordinate (optional)
event_url (string, optional) — URL associated with the event (optional)
people_involved (string, optional) — People involved in the event (optional)
repeat_this_event (string, optional) — Repeat configuration for recurring events (optional)
notification (string, optional) — Notification settings (optional)
Notes
Calendar API uses UTC — today's date may be rejected as past depending on the user's timezone
Always use tomorrow or later when creating events
If the user asks for today, explain the UTC limitation
| Name | Required | Description | Default |
|---|---|---|---|
| color | No | Event color in hex format, e.g., #FF5733 (optional) | |
| title | Yes | Event title (required) | |
| status | No | Event status (optional) | |
| all_day | No | Whether this is an all-day event (optional, default: false) | |
| end_date | Yes | End date in ISO 8601 format, e.g., 2026-01-20 (required) | |
| end_time | No | End time in HH:MM format, e.g., 17:00 (optional) | |
| latitude | No | Location latitude coordinate (optional) | |
| location | No | Event location (optional) | |
| completed | No | Mark event as completed (optional, default: false) | |
| event_url | No | URL associated with the event (optional) | |
| longitude | No | Location longitude coordinate (optional) | |
| start_date | Yes | Start date in ISO 8601 format, e.g., 2026-01-20 (required) | |
| start_time | No | Start time in HH:MM format, e.g., 09:00 (optional) | |
| description | No | Event description (optional) | |
| notification | No | Notification settings (optional) | |
| private_event | No | Whether this is a private event (optional, default: false) | |
| people_involved | No | People involved in the event (optional) | |
| sms_notification | No | Enable SMS notifications (optional, default: false) | |
| repeat_this_event | No | Repeat configuration for recurring events (optional) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate non-read-only and non-destructive. The description adds valuable behavioral nuance about the date rule and UTC dependency. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with headings but contains redundancy (date rule repeated in two sections) and repeats schema parameter info verbatim, making it longer than necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, guidelines, and one behavioral nuance, but lacks explicit mention of return value or post-creation behavior. With no output schema, this omission leaves a gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description merely repeats the schema's parameter descriptions without adding new semantic meaning. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (create) and resource (calendar event) with details on optional fields. It does not explicitly distinguish from sibling 'update_calendar_event', but the verb 'create' makes the purpose clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use context, including a critical date rule (avoid today due to UTC timezone) and a user-facing fallback suggestion. This is high-quality guidance beyond minimal expectations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_groupAInspect
Create a new group within a sweepstakes. Use fetch_sweepstakes first to get the sweepstakes_token. Groups are used to organize and segment participants.
create_group
When to use
Create a new group within a sweepstakes. Use fetch_sweepstakes first to get the sweepstakes_token. Groups are used to organize and segment participants.
Pre-calls required
fetch_sweepstakes if the user gave you a sweepstakes name instead of a token
Parameters to validate before calling
sweepstakes_token (string, required) — The sweepstakes token (UUID format)
group_name (string, required) — The name of the group (must be unique within the sweepstakes)
| Name | Required | Description | Default |
|---|---|---|---|
| group_name | Yes | The name of the group (must be unique within the sweepstakes) | |
| sweepstakes_token | Yes | The sweepstakes token (UUID format) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate non-read-only, non-destructive, non-idempotent. Description adds that group names must be unique and groups organize participants, but does not mention side effects or auth requirements. Adequate but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with clear sections (When to use, Pre-calls, Parameters). Slightly repetitive as the first sentence echoes the markdown heading, but overall efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple creation tool with 2 parameters and no output schema, the description covers the prerequisite call, parameter constraints, and purpose. No gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, baseline 3. Description adds value by specifying that group_name must be unique within the sweepstakes and that sweepstakes_token is in UUID format, providing clarity beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Create a new group within a sweepstakes,' specifying the action (create), resource (group), and context (within sweepstakes). It distinguishes from sibling tools like fetch_groups, update_group, and delete_group.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to use fetch_sweepstakes first to obtain the sweepstakes_token, and includes a 'Pre-calls required' section. While it does not explicitly state when not to use, it provides clear context for correct usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_noteAInspect
Create a new note. Content is encrypted (AES-256-CBC). HTML tags: h1-h6, p, a, br, strong, i, ul, ol, li. No scripts/iframes. Do NOT use between sections.
create_note
When to use
Create a new note. Content is encrypted (AES-256-CBC). HTML tags: h1-h6, p, a, br, strong, i, ul, ol, li. No scripts/iframes. Do NOT use between sections.
Parameters to validate before calling
title (string, required) — Note title (max 100 characters, must be unique)
content (string, required) — Note content (max 100,000 characters, will be encrypted). Allowed HTML: -, , , , , , , , . No scripts, iframes, or executable code.
pinned (boolean, optional) — Pin note to top of list (default: false)
Notes
Content is encrypted with AES-256-CBC
Do NOT put sensitive data in the title field — titles are not encrypted
Allowed HTML tags in content: h1-h6, p, a, br, strong, i, ul, ol, li
Do NOT use between sections — relies on natural HTML block spacing
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Note title (max 100 characters, must be unique) | |
| pinned | No | Pin note to top of list (default: false) | |
| content | Yes | Note content (max 100,000 characters, will be encrypted). Allowed HTML: <h1>-<h6>, <p>, <a>, <br>, <strong>, <i>, <ul>, <ol>, <li>. No scripts, iframes, or executable code. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate a write operation, and description adds encryption details (AES-256-CBC) and HTML restrictions, which go beyond annotations. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Structured with sections but repeats information (e.g., HTML tags listed twice). Could be more concise without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers encryption, allowed HTML, limits, and uniqueness. No output schema provided, but description is detailed enough for a creation tool. Missing error handling info.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and description adds 'must be unique' for title and default for pinned, but mostly repeats schema info. Baseline 3 due to high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create a new note' and specifies constraints like encryption and allowed HTML, distinguishing it from siblings like delete_note or update_note.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes 'When to use' and notes about sensitive data in title, but does not explicitly mention when not to use or alternatives. Provides good context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_ruleAInspect
Create a new official rules document for a sweepstakes. Use fetch_sweepstakes first to get the sweepstakes_token. SECONDARY RULES WARNING: Before creating rules, call fetch_rules to check if the sweepstakes already has primary rules. If primary rules already exist, WARN the user that the new rules will be created as SECONDARY and will NOT be the ones published on the Entry Page or assigned to the short URL (swpp.me/r/[handler]). The short URL always points to the primary rules. The user can change which rules are primary in the Official Rules section of the app. Only proceed after the user acknowledges this.
create_rule
When to use
Create a new official rules document for a sweepstakes. Use fetch_sweepstakes first to get the sweepstakes_token. SECONDARY RULES WARNING: Before creating rules, call fetch_rules to check if the sweepstakes already has primary rules. If primary rules already exist, WARN the user that the new rules will be created as SECONDARY and will NOT be the ones published on the Entry Page or assigned to the short URL (swpp.me/r/[handler]). The short URL always points to the primary rules. The user can change which rules are primary in the Official Rules section of the app. Only proceed after the user acknowledges this.
Pre-calls required
fetch_sweepstakes if the user gave you a sweepstakes name instead of a token
fetch_rules(sweepstakes_token) — if primary rules exist, WARN that the new one will be SECONDARY
Parameters to validate before calling
sweepstakes_token (string, required) — The sweepstakes token (UUID format)
title (string, required) — Title of the official rules document (max 100 characters)
document_content (string, required) — Full HTML content of the official rules (max 1,000,000 characters)
Notes
Prefer create_rules_wizard for legal-grade Official Rules
Use this only when you have a fully prepared HTML document and the wizard does not apply
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Title of the official rules document (max 100 characters) | |
| document_content | Yes | Full HTML content of the official rules (max 1,000,000 characters) | |
| sweepstakes_token | Yes | The sweepstakes token (UUID format) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (which indicate mutation with side effects), the description details the implications of creating secondary rules, the need to warn users, and prerequisite calls. This adds significant behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with headings and front-loaded main purpose, but it repeats the same secondary rules warning twice, making it slightly redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers main function, usage conditions, pre-calls, and side effects, but lacks any mention of the return value or response format. Given no output schema, this is a gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already describes parameters well. The description repeats some constraints (max lengths) already in the schema, adding minimal new semantic value beyond usage instructions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create a new official rules document for a sweepstakes' and distinguishes from sibling create_rules_wizard by noting when to use each. It provides specific 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool (when a fully prepared HTML document is available and the wizard does not apply) and gives pre-call requirements and a warning about secondary rules with user acknowledgment.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_rules_wizardAInspect
Generate official sweepstakes rules via the 14-step wizard. BEFORE CALLING: 1) fetch_sweepstakes to get token, dates, name. 2) get_business + get_profile to pre-fill sponsor fields. 3) fetch_rules to check for existing primary rules — if primary exists, warn user new rules will be SECONDARY. Ask wizard questions in order (steps A-N), one at a time or in small groups. Only ask for data you cannot get from API calls. PRIMARY RULES LINK: If result is_primary=true, give user the URL: https://swpp.me/r/[handler] (handler in lowercase from fetch_sweepstakes). RULES LANGUAGE: Always set rules_language="en". The wizard generates ALL legal text server-side — NEVER compose rules language yourself. AMOE URL: The AMOE URL is NOT the entry page URL — the wizard handles AMOE language automatically based on method_of_entry. AGE GATE: Only activate Age Gate when min_age=2 (21+). NEVER for min_age=1 (18+) or min_age=3 (13+). GEOLOCATION: Use the states parameter for geographic eligibility. NEVER use GeoLocation entry settings for state restrictions — GeoLocation is for GPS/IP boundaries only.
create_rules_wizard
When to use
Generate official sweepstakes rules via the 14-step wizard. BEFORE CALLING: 1) fetch_sweepstakes to get token, dates, name. 2) get_business + get_profile to pre-fill sponsor fields. 3) fetch_rules to check for existing primary rules — if primary exists, warn user new rules will be SECONDARY. Ask wizard questions in order (steps A-N), one at a time or in small groups. Only ask for data you cannot get from API calls. PRIMARY RULES LINK: If result is_primary=true, give user the URL: https://swpp.me/r/[handler] (handler in lowercase from fetch_sweepstakes). RULES LANGUAGE: Always set rules_language="en". The wizard generates ALL legal text server-side — NEVER compose rules language yourself. AMOE URL: The AMOE URL is NOT the entry page URL — the wizard handles AMOE language automatically based on method_of_entry. AGE GATE: Only activate Age Gate when min_age=2 (21+). NEVER for min_age=1 (18+) or min_age=3 (13+). GEOLOCATION: Use the states parameter for geographic eligibility. NEVER use GeoLocation entry settings for state restrictions — GeoLocation is for GPS/IP boundaries only.
Pre-calls required
fetch_sweepstakes if the user gave you a sweepstakes name instead of a token
fetch_rules(sweepstakes_token) — if primary rules already exist, WARN that new rules will be SECONDARY (not published)
get_business — auto-populate sponsor info (legal name, address)
get_entry_settings — confirm AMOE state matches the entry method
Parameters to validate before calling
sweepstakes_token (string, required) — Sweepstakes token (UUID). Get via fetch_sweepstakes.
arv (number, required) — one of: 1, 2 — Approximate Retail Value threshold. 1 = ARV >= $5,000. 2 = ARV < $5,000.
alcohol_sweeps (number, required) — one of: 1, 2 — Is this an alcohol-related sweepstakes? 1 = Yes, 2 = No.
sweepstakes_name (string, required) — Official promotional name (6-60 characters).
start_date (string, required) — Start date (YYYY-MM-DD).
start_time (string, required) — Start time (e.g. "09:00 AM" or "14:00").
start_timezone (string, required) — Start timezone (e.g. "US/Eastern", "EST", "CST").
end_date (string, required) — End date (YYYY-MM-DD).
end_time (string, required) — End time (e.g. "11:59 PM" or "23:59").
end_timezone (string, required) — End timezone.
prize_description (string, required) — Detailed prize description (max 5000 chars).
prize_include_travel (boolean, required) — Does the prize include travel?
prize_is_vehicle (boolean, required) — Is the prize a vehicle?
prize_value (number, required) — Total prize value in USD. Must be > 0.
entry_period_selector (number, required) — one of: 1, 2 — 1 = single drawing period, 2 = multiple entry periods.
sponsor_name (string, required) — Legal sponsor name. Pre-fill from get_business.
sponsor_address (string, required) — Sponsor street address. Pre-fill from get_business.
sponsor_city (string, required) — Sponsor city. Pre-fill from get_business.
sponsor_state (string, required) — Sponsor state or abbreviation. Pre-fill from get_business.
sponsor_zip_code (string, required) — Sponsor zip code (5 digits). Pre-fill from get_business.
method_of_entry (number, required) — one of: 1, 2, 3, 4, 5, 6, 7, 8 — Entry method: 1=Website, 2=SMS, 3=Social Media, 4=Other, 5=Purchase ($1=1 entry), 6=Purchase (1 order=1 entry), 7=Donation, 8=Subscription.
min_age (number, required) — one of: 1, 2, 3 — Minimum age: 1=18+, 2=21+, 3=13+ with parental consent.
states (number, required) — one of: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 — Geographic eligibility. 1=All 50+DC, 2=+PR, 3=+All Territories, 4=Select specific, 5=US&Canada, 6=US&Canada+PR, 7=US&UK, 8=US&Mexico, 9=Worldwide, 10=US,Canada,Mexico.
privacy_policy_url (string, required) — Privacy policy URL (min 11 chars, must include http/https).
sweeppea_entry_page (number, required) — one of: 1, 2, 3 — 1 = Sweeppea hosted page, 2 = custom URL, 3 = none.
winners_to_draw (number, optional) — Number of winners to draw (>= 1). Required when entry_period_selector = 1.
winner_drawing_date (string, optional) — Drawing date (YYYY-MM-DD). Required when entry_period_selector = 1.
winner_drawing_time (string, optional) — Drawing time. Required when entry_period_selector = 1.
winner_drawing_timezone (string, optional) — Drawing timezone. Required when entry_period_selector = 1.
winner_notification_date (string, optional) — Winner notification date (YYYY-MM-DD). Required when entry_period_selector = 1.
winner_notification_time (string, optional) — Winner notification time. Required when entry_period_selector = 1.
winner_notification_timezone (string, optional) — Winner notification timezone. Required when entry_period_selector = 1.
entry_period_items (array, optional) — Array of period objects. Required when entry_period_selector = 2.
sponsor_telephone (string, optional) — Sponsor phone number (optional). Pre-fill from get_profile.
sponsor_email (string, optional) — Sponsor email (optional). Pre-fill from get_profile.
social_media_entry_description (string, optional) — Social media entry details. Required when method_of_entry = 3.
other_description (string, optional) — Other entry method description. Required when method_of_entry = 4.
sponsor_ecommerce_store_url_a (string, optional) — Ecommerce store URL. Required when method_of_entry = 5.
sponsor_ecommerce_store_url_b (string, optional) — Ecommerce store URL. Required when method_of_entry = 6.
sponsor_donations_acceptance_page_url (string, optional) — Donations acceptance page URL. Required when method_of_entry = 7.
sponsor_ecommerce_store_url_c (string, optional) — Ecommerce/subscription store URL. Required when method_of_entry = 8.
total_number_of_entries_awarded_amoe (number, optional) — Total entries awarded via AMOE (>= 1). Required when method_of_entry is 5, 6, 7, or 8.
limit_or_max_number_of_entries_amoe (number, optional) — Max entries via AMOE (>= 1). Required when method_of_entry is 5, 6, 7, or 8.
list_of_states (array, optional) — Array of state names. Required when states = 4.
custom_entry_page (string, optional) — Custom entry page URL (min 11 chars). Required when sweeppea_entry_page = 2.
sponsor_offering_multiplier (number, optional) — one of: 1, 2 — Is sponsor offering entry multiplier? 1=Yes, 2=No. Default: 2.
sponsor_awarding_bonus_email_social (number, optional) — one of: 1, 2 — Awarding bonus for email/social? 1=Yes, 2=No. Default: 2.
sponsor_asking_to_submit_video (number, optional) — one of: 1, 2 — Asking for video submission? 1=Yes, 2=No. Default: 2.
rules_language (string, optional) — Rules language code. MUST always be "en" (English).
at the end of the Official Rules document always include a copyright notice that say "All rights reserved."
Notes
Compliance pre-checks: ARV > $5,000 + FL/NY not excluded → WARN about bonding/registration
ARV > $500 + sponsor in RI → WARN about RI registration
Purchase/donation/subscription entry → VERIFY AMOE is configured
Alcohol = yes → VERIFY min_age=21 and Age Gate active
Age < 13 → REFUSE (COPPA violation)
After creation: call fetch_rules to verify; use update_rule for corrections
| Name | Required | Description | Default |
|---|---|---|---|
| arv | Yes | Approximate Retail Value threshold. 1 = ARV >= $5,000. 2 = ARV < $5,000. | |
| states | Yes | Geographic eligibility. 1=All 50+DC, 2=+PR, 3=+All Territories, 4=Select specific, 5=US&Canada, 6=US&Canada+PR, 7=US&UK, 8=US&Mexico, 9=Worldwide, 10=US,Canada,Mexico. | |
| min_age | Yes | Minimum age: 1=18+, 2=21+, 3=13+ with parental consent. | |
| end_date | Yes | End date (YYYY-MM-DD). | |
| end_time | Yes | End time (e.g. "11:59 PM" or "23:59"). | |
| start_date | Yes | Start date (YYYY-MM-DD). | |
| start_time | Yes | Start time (e.g. "09:00 AM" or "14:00"). | |
| prize_value | Yes | Total prize value in USD. Must be > 0. | |
| end_timezone | Yes | End timezone. | |
| sponsor_city | Yes | Sponsor city. Pre-fill from get_business. | |
| sponsor_name | Yes | Legal sponsor name. Pre-fill from get_business. | |
| sponsor_email | No | Sponsor email (optional). Pre-fill from get_profile. | |
| sponsor_state | Yes | Sponsor state or abbreviation. Pre-fill from get_business. | |
| alcohol_sweeps | Yes | Is this an alcohol-related sweepstakes? 1 = Yes, 2 = No. | |
| list_of_states | No | Array of state names. Required when states = 4. | |
| rules_language | No | Rules language code. MUST always be "en" (English). The wizard generates all legal text server-side using its own templates — NEVER compose or modify rules language yourself. | en |
| start_timezone | Yes | Start timezone (e.g. "US/Eastern", "EST", "CST"). | |
| method_of_entry | Yes | Entry method: 1=Website, 2=SMS, 3=Social Media, 4=Other, 5=Purchase ($1=1 entry), 6=Purchase (1 order=1 entry), 7=Donation, 8=Subscription. | |
| sponsor_address | Yes | Sponsor street address. Pre-fill from get_business. | |
| winners_to_draw | No | Number of winners to draw (>= 1). Required when entry_period_selector = 1. | |
| prize_is_vehicle | Yes | Is the prize a vehicle? | |
| sponsor_zip_code | Yes | Sponsor zip code (5 digits). Pre-fill from get_business. | |
| sweepstakes_name | Yes | Official promotional name (6-60 characters). | |
| custom_entry_page | No | Custom entry page URL (min 11 chars). Required when sweeppea_entry_page = 2. | |
| other_description | No | Other entry method description. Required when method_of_entry = 4. | |
| prize_description | Yes | Detailed prize description (max 5000 chars). | |
| sponsor_telephone | No | Sponsor phone number (optional). Pre-fill from get_profile. | |
| sweepstakes_token | Yes | Sweepstakes token (UUID). Get via fetch_sweepstakes. | |
| entry_period_items | No | Array of period objects. Required when entry_period_selector = 2. Each object: { start_date, start_time, end_date, end_time, drawing_date, winners_drawn, notification_date, prize_description, prize_value }. | |
| privacy_policy_url | Yes | Privacy policy URL (min 11 chars, must include http/https). | |
| sweeppea_entry_page | Yes | 1 = Sweeppea hosted page, 2 = custom URL, 3 = none. | |
| winner_drawing_date | No | Drawing date (YYYY-MM-DD). Required when entry_period_selector = 1. | |
| winner_drawing_time | No | Drawing time. Required when entry_period_selector = 1. | |
| prize_include_travel | Yes | Does the prize include travel? | |
| entry_period_selector | Yes | 1 = single drawing period, 2 = multiple entry periods. | |
| winner_drawing_timezone | No | Drawing timezone. Required when entry_period_selector = 1. | |
| winner_notification_date | No | Winner notification date (YYYY-MM-DD). Required when entry_period_selector = 1. | |
| winner_notification_time | No | Winner notification time. Required when entry_period_selector = 1. | |
| sponsor_offering_multiplier | No | Is sponsor offering entry multiplier? 1=Yes, 2=No. Default: 2. | |
| winner_notification_timezone | No | Winner notification timezone. Required when entry_period_selector = 1. | |
| sponsor_ecommerce_store_url_a | No | Ecommerce store URL. Required when method_of_entry = 5. | |
| sponsor_ecommerce_store_url_b | No | Ecommerce store URL. Required when method_of_entry = 6. | |
| sponsor_ecommerce_store_url_c | No | Ecommerce/subscription store URL. Required when method_of_entry = 8. | |
| social_media_entry_description | No | Social media entry details. Required when method_of_entry = 3. | |
| sponsor_asking_to_submit_video | No | Asking for video submission? 1=Yes, 2=No. Default: 2. | |
| limit_or_max_number_of_entries_amoe | No | Max entries via AMOE (>= 1). Required when method_of_entry is 5, 6, 7, or 8. | |
| sponsor_awarding_bonus_email_social | No | Awarding bonus for email/social? 1=Yes, 2=No. Default: 2. | |
| total_number_of_entries_awarded_amoe | No | Total entries awarded via AMOE (>= 1). Required when method_of_entry is 5, 6, 7, or 8. | |
| sponsor_donations_acceptance_page_url | No | Donations acceptance page URL. Required when method_of_entry = 7. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate this is a mutable tool (readOnlyHint=false) and the description confirms by detailing the creation process. It discloses behavioral traits such as always setting rules_language='en', never composing rules language, age gate activation rules, and geolocation constraints. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is lengthy but well-organized with clear headings (When to use, Pre-calls, Parameters, Notes). It front-loads the essential purpose and usage. While every sentence adds value, the length could be slightly reduced without losing critical context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (49 parameters, wizard process, compliance rules), the description is exceptionally complete. It covers pre-conditions, post-creation verification (fetch_rules), compliance warnings, and outcome handling (URL for primary rules). No output schema exists, but the description sufficiently explains what to do with the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds significant value beyond the schema: it explains parameter dependencies (e.g., entry_period_items required when entry_period_selector=2), pre-fill sources (sponsor fields from get_business), and behavioral implications (age gate activation based on min_age). This greatly aids agent understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Generate official sweepstakes rules via the 14-step wizard.' It uses a specific verb (generate) and resource (official sweepstakes rules) and differentiates from siblings like 'create_rule' by emphasizing the wizard process and extensive pre-call requirements.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit pre-call steps (fetch_sweepstakes, get_business, fetch_rules), conditions for use (warn if primary rules exist), and alternative actions (use update_rule for corrections). It also instructs the agent on how to interact with the wizard (ask questions in order, only ask for missing data).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_sweepstakesAInspect
Create a new sweepstakes programmatically. Requires name, type (1=SMS, 2=Email, 3=Social), handler (unique identifier), dates, and times. CRITICAL: You MUST know the current date before creating a sweepstakes — never guess or assume. Start dates must be today or in the future. This is a billable operation that creates real production data. ALWAYS confirm with the user before creating. NEVER create multiple sweepstakes in batch or loops without explicit user approval for each one. If user requests bulk creation (e.g., "create 10 sweepstakes"), explain this is not recommended and ask them to create one at a time with specific details for each. LIMITS: Maximum 3 active sweepstakes and 10 total (active + inactive). Before creating, use fetch_sweepstakes to verify the account has not reached these limits. If limits are reached, refuse the operation and inform the user. Ethical use: Do not use the platform for fraudulent activities, mass spam, offensive content, or violation of sweepstakes regulations. Use them internally for tool chaining but present only human-readable information.
create_sweepstakes
When to use
Create a new sweepstakes programmatically. Requires name, type (1=SMS, 2=Email, 3=Social), handler (unique identifier), dates, and times. CRITICAL: You MUST know the current date before creating a sweepstakes — never guess or assume. Start dates must be today or in the future. This is a billable operation that creates real production data. ALWAYS confirm with the user before creating. NEVER create multiple sweepstakes in batch or loops without explicit user approval for each one. If user requests bulk creation (e.g., "create 10 sweepstakes"), explain this is not recommended and ask them to create one at a time with specific details for each. LIMITS: Maximum 3 active sweepstakes and 10 total (active + inactive). Before creating, use fetch_sweepstakes to verify the account has not reached these limits. If limits are reached, refuse the operation and inform the user. Ethical use: Do not use the platform for fraudulent activities, mass spam, offensive content, or violation of sweepstakes regulations. Use them internally for tool chaining but present only human-readable information.
Pre-calls required
get_plan — verify the account is below its limits (max 3 active, 10 total)
fetch_sweepstakes — check the chosen handler does not collide with an existing one
fetch_timezones — pick the right timezone for the sponsor
Parameters to validate before calling
sweepstakes_name (string, required) — User-defined name for the sweepstakes
sweepstakes_type (number, required) — one of: 1, 2, 3 — Sweepstakes type: 1 (SMS), 2 (Email), or 3 (Social). Default: 2 (Email)
handler (string, required) — Unique identifier (max 20 alphanumeric chars, auto-converted to uppercase)
start_date (string, required) — Start date in YYYY-MM-DD format (must be today or future)
end_date (string, required) — End date in YYYY-MM-DD format (cannot precede start_date)
start_time (string, required) — Start time in HH:MM format 24-hour (default: 00:00)
end_time (string, required) — End time in HH:MM format 24-hour (default: 23:59)
create_in_calendar (boolean, optional) — Create calendar event for this sweepstakes (default: false)
sync_with_winners (boolean, optional) — Sync with Winners app (default: false)
delete_if_deleted (boolean, optional) — Auto-delete related data when sweepstakes deleted (default: false)
delete_if_acct_deleted (boolean, optional) — Delete sweepstakes if account is deleted (default: false)
Notes
Always set create_in_calendar: true and sync_with_winners: true
Generate handler from the name: uppercase, alphanumeric, no spaces, max 20 chars
After creation: create calendar events (launch, close, drawing — use tomorrow or later) and a pinned campaign brief note
| Name | Required | Description | Default |
|---|---|---|---|
| handler | Yes | Unique identifier (max 20 alphanumeric chars, auto-converted to uppercase) | |
| end_date | Yes | End date in YYYY-MM-DD format (cannot precede start_date) | |
| end_time | Yes | End time in HH:MM format 24-hour (default: 23:59) | |
| start_date | Yes | Start date in YYYY-MM-DD format (must be today or future) | |
| start_time | Yes | Start time in HH:MM format 24-hour (default: 00:00) | |
| sweepstakes_name | Yes | User-defined name for the sweepstakes | |
| sweepstakes_type | Yes | Sweepstakes type: 1 (SMS), 2 (Email), or 3 (Social). Default: 2 (Email) | |
| delete_if_deleted | No | Auto-delete related data when sweepstakes deleted (default: false) | |
| sync_with_winners | No | Sync with Winners app (default: false) | |
| create_in_calendar | No | Create calendar event for this sweepstakes (default: false) | |
| delete_if_acct_deleted | No | Delete sweepstakes if account is deleted (default: false) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses billable nature, real production data creation, and limits. Annotations (readOnlyHint=false, destructiveHint=false) are consistent. Adds context about post-creation steps (calendar events, campaign brief note).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with sections (When to use, Pre-calls, Parameters, Notes). However, some repetition (ethical use appears twice) and the Notes section contains actionable steps that could be integrated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Complete for a complex tool with 11 parameters (7 required) and no output schema. Covers pre-calls, parameter validation, limits, and post-creation actions. No output schema needed as description covers return behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but description adds meaning: handler generation from name (uppercase, alphanumeric, max 20), best practices (set create_in_calendar: true, sync_with_winners: true), and validation rules (dates must be future).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create a new sweepstakes programmatically' and lists required fields (name, type, handler, dates, times). It distinguishes from siblings like update_sweepstakes and delete_sweepstakes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly explains when to use (creating new), critical prerequisites (know current date, confirm with user), limits (max 3 active, 10 total), and pre-calls (get_plan, fetch_sweepstakes, fetch_timezones). Also warns against bulk creation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_ticketAInspect
Create a new support ticket with title, description, and priority level. ASSIGNMENT: Optionally assign to a specific admin by name or email via assign_to. If omitted, the ticket is assigned to all admins. Only admin-level users can be assigned. NEVER guess or fabricate admin names or emails — only use assign_to if the user explicitly provides a name or email. FORMAT: Only these HTML tags are allowed in description: , , , , . NEVER insert scripts, iframes, event handlers (onclick, onerror, etc.), style tags, or any executable code. SPACING: Do NOT use — it creates ugly blank blocks in the UI. Use for line breaks within text only.
create_ticket
When to use
Create a new support ticket with title, description, and priority level. ASSIGNMENT: Optionally assign to a specific admin by name or email via assign_to. If omitted, the ticket is assigned to all admins. Only admin-level users can be assigned. NEVER guess or fabricate admin names or emails — only use assign_to if the user explicitly provides a name or email. FORMAT: Only these HTML tags are allowed in description: , , , , . NEVER insert scripts, iframes, event handlers (onclick, onerror, etc.), style tags, or any executable code. SPACING: Do NOT use — it creates ugly blank blocks in the UI. Use for line breaks within text only.
Parameters to validate before calling
title (string, required) — Ticket subject/title (max 200 characters)
description (string, required) — Detailed description of the issue (max 20,000 characters). Allowed HTML: , , , , . No scripts, iframes, or executable code.
priority (number, required) — one of: 1, 2, 3 — Priority level: 1 (Low), 2 (Medium), 3 (High)
assign_to (string, optional) — Name or email of an admin user to assign the ticket to exclusively. If omitted, the ticket is assigned to all admins. Matching is case-insensitive for names and exact for emails. Only admin-level users can be assigned.
Notes
Allowed HTML tags: b, strong, i, hr, br
Do NOT use — only for line breaks within text
Search fetch_documentation first; only open a ticket if docs do not solve the question
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Ticket subject/title (max 200 characters) | |
| priority | Yes | Priority level: 1 (Low), 2 (Medium), 3 (High) | |
| assign_to | No | Name or email of an admin user to assign the ticket to exclusively. If omitted, the ticket is assigned to all admins. Matching is case-insensitive for names and exact for emails. Only admin-level users can be assigned. | |
| description | Yes | Detailed description of the issue (max 20,000 characters). Allowed HTML: <b>, <strong>, <i>, <hr>, <br>. No scripts, iframes, or executable code. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses important behaviors beyond annotations: assign_to behavior (all admins if omitted), matching semantics (case-insensitive names, exact emails), HTML formatting restrictions, and spacing rules. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Highly repetitive: the same introductory phrase and formatting rules appear multiple times. The markdown section duplicates the description. Could be condensed to 1-2 clear paragraphs without loss of information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers all necessary aspects: creation action, parameter details, constraints, when-to-use, and edge cases like admin assignment. Lacks output schema but not critical for a creation tool. Minor redundancy does not harm completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with good parameter descriptions. The description repeats this info and adds minor behavioral context for assign_to, but does not significantly enhance parameter understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create a new support ticket with title, description, and priority level.' It distinctly separates this creation tool from siblings like delete_ticket or resolve_ticket, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises to 'Search fetch_documentation first; only open a ticket if docs do not solve the question.' Also provides critical rules about not fabricating admin names and only assigning to admin-level users, guiding appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_todoAInspect
Create a new internal To-Do item. ADMIN ONLY: This tool requires admin privileges. Non-admin users will receive a 403 Forbidden error from the API. FORMAT: Only these HTML tags are allowed in description: , , , , . NEVER insert scripts, iframes, event handlers (onclick, onerror, etc.), style tags, or any executable code. SPACING: Do NOT use — it creates ugly blank blocks in the UI. Use for line breaks within text only.
create_todo
When to use
Create a new internal To-Do item. ADMIN ONLY: This tool requires admin privileges. Non-admin users will receive a 403 Forbidden error from the API. FORMAT: Only these HTML tags are allowed in description: , , , , . NEVER insert scripts, iframes, event handlers (onclick, onerror, etc.), style tags, or any executable code. SPACING: Do NOT use — it creates ugly blank blocks in the UI. Use for line breaks within text only.
Parameters to validate before calling
title (string, required) — To-Do title (max 200 characters).
priority (number, required) — one of: 1, 2, 3 — Priority level: 1 = Low, 2 = Medium, 3 = High.
description (string, optional) — Detailed description (max 20,000 characters). Allowed HTML: , , , , . No scripts, iframes, or executable code.
resource_affected (string, optional) — Resource affected (e.g. "renaissance", "api", "aws", "general"). Default: "general".
pin (boolean, optional) — Pin this To-Do to the top. Default: false.
deadline (string, optional) — Deadline date in ISO 8601 format (e.g. "2026-03-01").
Notes
Admin-only tool
Allowed HTML tags: b, strong, i, hr, br
| Name | Required | Description | Default |
|---|---|---|---|
| pin | No | Pin this To-Do to the top. Default: false. | |
| title | Yes | To-Do title (max 200 characters). | |
| deadline | No | Deadline date in ISO 8601 format (e.g. "2026-03-01"). | |
| priority | Yes | Priority level: 1 = Low, 2 = Medium, 3 = High. | |
| description | No | Detailed description (max 20,000 characters). Allowed HTML: <b>, <strong>, <i>, <hr>, <br>. No scripts, iframes, or executable code. | |
| resource_affected | No | Resource affected (e.g. "renaissance", "api", "aws", "general"). Default: "general". |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate a non-read-only, non-idempotent, non-destructive mutation. Description adds auth requirements, HTML formatting rules, and parameter defaults, going 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is lengthy and repeats the same HTML formatting rules multiple times, making it less concise than it could be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers auth, formatting, and parameter details, but lacks any mention of the return value or response format (no output schema). Adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description repeats schema info without adding significant new meaning beyond what's already in the input schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Create a new internal To-Do item' with a specific verb and resource. Distinct from siblings like fetch_todos, delete_todo, and update_todo.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states ADMIN ONLY and that non-admins receive 403 error. Provides parameter validation details, but does not contrast with sibling tools like create_note or create_calendar_event.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_calendar_eventADestructiveIdempotentInspect
Permanently delete a calendar event. Use fetch_calendar_events first to get the event_token. WARNING: This action cannot be undone.
delete_calendar_event
When to use
Permanently delete a calendar event. Use fetch_calendar_events first to get the event_token. WARNING: This action cannot be undone.
Parameters to validate before calling
event_token (string, required) — The event token to delete (UUID format)
Notes
DESTRUCTIVE — IRREVERSIBLE. Always confirm with the user before calling. Explain what will be lost.
| Name | Required | Description | Default |
|---|---|---|---|
| event_token | Yes | The event token to delete (UUID format) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant behavioral context beyond annotations: it warns that deletion is permanent and irreversible, and instructs to always confirm with the user. However, there is a contradiction with the annotation idempotentHint: true, as the description implies non-idempotent behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is somewhat repetitive, with the key information presented both in a brief paragraph and again in markdown sections. It is front-loaded with important details, but could be more concise by avoiding duplication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description adequately covers prerequisites (fetch events), the destructive nature, and confirmation recommendation. It does not describe post-deletion behavior, but this is minor. The overall context is sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already describes the event_token parameter as 'The event token to delete (UUID format)'. The description merely repeats this without adding further semantics or usage details, so it meets the baseline but does not exceed it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The tool name 'delete_calendar_event' clearly indicates the action. The description states 'Permanently delete a calendar event', specifying the verb and resource. It also instructs to use fetch_calendar_events first, distinguishing it from sibling tools like update_calendar_event.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when to use this tool (after fetching events to get the event token) and includes a warning that the action is irreversible, implying confirmation needed. It does not explicitly state when not to use it, but the guidance is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_fileADestructiveIdempotentInspect
DESTRUCTIVE — IRREVERSIBLE. Permanently delete a file from the user's Drive. Removes the file from S3 storage and the database. Storage quota is freed immediately. ALWAYS ask for explicit user confirmation before calling this tool.
delete_file
When to use
DESTRUCTIVE — IRREVERSIBLE. Permanently delete a file from the user's Drive. Removes the file from S3 storage and the database. Storage quota is freed immediately. ALWAYS ask for explicit user confirmation before calling this tool.
Parameters to validate before calling
file_token (string, required) — The file token (UUID) of the file to delete. Get via fetch_files.
Notes
DESTRUCTIVE — IRREVERSIBLE. Always confirm with the user before calling. Explain what will be lost.
| Name | Required | Description | Default |
|---|---|---|---|
| file_token | Yes | The file token (UUID) of the file to delete. Get via fetch_files. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context beyond annotations: it details what happens (removes from S3 and database, frees quota, irreversible). Annotations already set destructiveHint: true, but the description elaborates on the consequences, which is valuable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the critical warning and uses clear structure (header, when-to-use, parameters, notes). However, there is redundancy: the first paragraph repeats the markdown section. Could be more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple destructive operation with one parameter and high schema coverage, the description is complete. It covers all necessary context: what action, consequences, prerequisites (file_token from fetch_files), and the need for user confirmation. No output schema is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter (file_token). The description does not add new semantic info beyond what is in the schema; it only repeats the schema description. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Permanently delete a file from the user's Drive.' It uses a specific verb (delete) and resource (file), and the destructive nature is emphasized. It distinguishes from sibling tools like upload_file, send_file, or fetch_files, which are non-destructive.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit guidance is provided: 'ALWAYS ask for explicit user confirmation before calling this tool.' It warns about irreversibility and advises explaining consequences to the user. This provides clear when-to-use and when-not-to-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_groupADestructiveIdempotentInspect
Permanently delete a group from a sweepstakes. Use fetch_sweepstakes first to get the sweepstakes_token, then fetch_groups to get the group_token. WARNING: Cannot delete primary groups, locked groups, or groups with participants.
delete_group
When to use
Permanently delete a group from a sweepstakes. Use fetch_sweepstakes first to get the sweepstakes_token, then fetch_groups to get the group_token. WARNING: Cannot delete primary groups, locked groups, or groups with participants.
Pre-calls required
fetch_sweepstakes if the user gave you a sweepstakes name instead of a token
Parameters to validate before calling
sweepstakes_token (string, required) — The sweepstakes token (UUID format)
group_token (string, required) — The group token to delete (UUID format)
Notes
DESTRUCTIVE — IRREVERSIBLE. Always confirm with the user before calling. Explain what will be lost.
| Name | Required | Description | Default |
|---|---|---|---|
| group_token | Yes | The group token to delete (UUID format) | |
| sweepstakes_token | Yes | The sweepstakes token (UUID format) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructive, but description adds 'irreversible', user confirmation requirement, and specific restrictions. Adds significant behavioral context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with headings, front-loaded purpose. Slight redundancy between first sentence and 'When to use' section, but overall clear and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, and description omits return value or error behavior. Pre-calls and restrictions are clear, but missing info on what happens after delete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description repeats parameter info (UUID format) but does not add new semantic meaning beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Permanently delete a group from a sweepstakes' with specific verb and resource. Distinguishes from siblings like delete_sweepstakes, create_group, and fetch_groups.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit 'When to use' section, prerequisites (fetch_sweepstakes, fetch_groups), and warnings about restrictions (primary, locked, groups with participants). Lacks explicit mention of alternatives like update_group, but strong guidance overall.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_noteADestructiveIdempotentInspect
Permanently delete a note. Use fetch_notes first to get the note_token. WARNING: This action cannot be undone.
delete_note
When to use
Permanently delete a note. Use fetch_notes first to get the note_token. WARNING: This action cannot be undone.
Parameters to validate before calling
note_token (string, required) — The note token to delete (UUID format)
Notes
DESTRUCTIVE — IRREVERSIBLE. Always confirm with the user before calling. Explain what will be lost.
| Name | Required | Description | Default |
|---|---|---|---|
| note_token | Yes | The note token to delete (UUID format) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already include destructiveHint: true, but the description adds context by stating 'Permanently delete,' 'WARNING: This action cannot be undone,' and labeling it 'DESTRUCTIVE — IRREVERSIBLE.' It also advises user confirmation, going beyond the annotation to clarify the behavioral impact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is somewhat repetitive, stating the purpose twice (first sentence and then the markdown section). While front-loaded with key warnings, it could be more concise to avoid redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one parameter and no output schema. The description covers the core action, prerequisite, irreversibility, and user confirmation requirement. It lacks details on error cases (e.g., missing note or permissions) but is adequate given the annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description's parameter explanation ('note_token (string, required) — The note token to delete (UUID format)') matches the schema's description exactly. No additional meaning is added, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Permanently delete a note,' providing a specific verb-resource pair. It distinguishes from siblings like update_note and fetch_notes by emphasizing deletion. The prerequisite step of using fetch_notes further clarifies the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly instructs to 'Use fetch_notes first to get the note_token' and warns 'Always confirm with the user before calling.' It also includes a prominent warning about irreversibility, guiding appropriate usage and when to avoid it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_participantADestructiveIdempotentInspect
Permanently delete a participant from a sweepstakes. WARNING: This action cannot be undone. Use get_participant first to verify the participant details before deleting.
delete_participant
When to use
Permanently delete a participant from a sweepstakes. WARNING: This action cannot be undone. Use get_participant first to verify the participant details before deleting.
Pre-calls required
fetch_sweepstakes if the user gave you a sweepstakes name instead of a token
Parameters to validate before calling
sweepstakes_token (string, required) — The sweepstakes token (UUID format)
participant_token (string, required) — The participant token to delete (UUID format)
Notes
DESTRUCTIVE — IRREVERSIBLE. Always confirm with the user before calling. Explain what will be lost.
| Name | Required | Description | Default |
|---|---|---|---|
| participant_token | Yes | The participant token to delete (UUID format) | |
| sweepstakes_token | Yes | The sweepstakes token (UUID format) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true and readOnlyHint=false. Description adds strong warning: 'WARNING: This action cannot be undone.' and notes 'DESTRUCTIVE — IRREVERSIBLE.' No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with sections: description, When to use, Pre-calls, Parameters, Notes. Front-loaded with main purpose and warning. Mostly concise, though slightly verbose in places.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Comprehensive coverage for a destructive tool: pre-calls, parameter validation, user confirmation requirement. Even without an output schema, the description provides sufficient context for safe usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (both parameters described with UUID format). Description repeats parameter names and types but adds no new semantic meaning beyond what schema already provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Permanently delete a participant from a sweepstakes.' Uses specific verb (delete) and resource (participant), distinguishing from sibling tools like add_participant, fetch_participants, get_participant.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises to use get_participant first to verify details before deleting. Lists pre-calls required (fetch_sweepstakes) if needed. Warns that action is irreversible and to confirm with user.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_ruleADestructiveIdempotentInspect
Permanently delete an official rules document from a sweepstakes. Use fetch_rules first to get the rules_token. WARNING: This action cannot be undone.
delete_rule
When to use
Permanently delete an official rules document from a sweepstakes. Use fetch_rules first to get the rules_token. WARNING: This action cannot be undone.
Pre-calls required
fetch_sweepstakes if the user gave you a sweepstakes name instead of a token
Parameters to validate before calling
sweepstakes_token (string, required) — The sweepstakes token (UUID format)
rules_token (string, required) — The rules token to delete (UUID format)
Notes
DESTRUCTIVE — IRREVERSIBLE. Always confirm with the user before calling. Explain what will be lost.
| Name | Required | Description | Default |
|---|---|---|---|
| rules_token | Yes | The rules token to delete (UUID format) | |
| sweepstakes_token | Yes | The sweepstakes token (UUID format) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (destructiveHint=true), the description repeatedly emphasizes that deletion is permanent, irreversible, and requires user confirmation. It provides clear warnings: 'WARNING: This action cannot be undone' and 'DESTRUCTIVE — IRREVERSIBLE. Always confirm with the user.' No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than necessary due to repetition (e.g., the first sentence appears again in the 'When to use' section). While the structured format (headers for pre-calls, parameters, notes) aids readability, conciseness could be improved by merging redundant statements.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers all essential aspects: purpose, required pre-calls, parameter details (though schema already covers), destructive behavior, and user confirmation guidelines. No output schema exists, so return values are not needed. It provides complete guidance for an AI agent to safely and correctly invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage, baseline is 3. The description adds value by explaining how to obtain the required tokens ('use fetch_rules first to get the rules_token', 'fetch_sweepstakes if the user gave you a sweepstakes name') and validates the UUID format. This guidance helps an AI agent properly prepare inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Permanently delete'), the resource ('official rules document'), and the context ('from a sweepstakes'). It also instructs to use fetch_rules first to obtain the required token, making the purpose unambiguous and distinct from siblings like create_rule or update_rule.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a dedicated 'When to use' section and explicitly lists pre-calls required (fetch_sweepstakes if needed, fetch_rules to get rules_token). It also warns about irreversibility. However, it does not explicitly contrast with alternative tools (e.g., update_rule), though the destructive nature is clearly indicated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_scheduled_drawingADestructiveIdempotentInspect
Delete a pending scheduled drawing. Use fetch_scheduled_drawings first to get the schedule_token. WARNING: This action cannot be undone. Only drawings with pending status can be deleted — completed or errored drawings cannot be removed. Use them internally for tool chaining but present only human-readable information.
delete_scheduled_drawing
When to use
Delete a pending scheduled drawing. Use fetch_scheduled_drawings first to get the schedule_token. WARNING: This action cannot be undone. Only drawings with pending status can be deleted — completed or errored drawings cannot be removed. Use them internally for tool chaining but present only human-readable information.
Pre-calls required
fetch_sweepstakes if the user gave you a sweepstakes name instead of a token
Parameters to validate before calling
sweepstakes_token (string, required) — The sweepstakes token (UUID format)
schedule_token (string, required) — The scheduled drawing token to delete (UUID format)
Notes
DESTRUCTIVE — IRREVERSIBLE. Always confirm with the user before calling. Explain what will be lost.
| Name | Required | Description | Default |
|---|---|---|---|
| schedule_token | Yes | The scheduled drawing token to delete (UUID format) | |
| sweepstakes_token | Yes | The sweepstakes token (UUID format) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark destructiveHint=true and idempotentHint=true. The description adds context: irreversibility warning, status constraint (only pending), and explicit destructive label. This enriches the annotation hints without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is overly verbose with significant repetition between the initial paragraph and the markdown section. Sentences like 'Use them internally for tool chaining but present only human-readable information' add unnecessary verbosity. Could be condensed to 2-3 sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description covers prerequisites and constraints, it fails to mention the return value or response format. Given no output schema, this omission leaves the agent uncertain about what to expect after deletion. The openWorldHint in annotations is not leveraged.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and both parameters have descriptions in the schema. The description repeats the UUID format and adds a pre-call requirement for sweepstakes_token, but does not provide additional semantic depth beyond what the schema already offers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Delete a pending scheduled drawing' with a specific verb and resource. It distinguishes from siblings by specifying the resource type, though it doesn't explicitly differentiate from other delete tools. The constraint on pending status adds clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to use fetch_scheduled_drawings first to obtain the schedule_token, and mentions a pre-call for sweepstakes_token if needed. It specifies that only pending drawings can be deleted and warns about irreversibility. This provides clear when-to-use and alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_sweepstakesADestructiveIdempotentInspect
Permanently delete a sweepstakes and all associated data including participants, statistics, and automations. Use fetch_sweepstakes first to get the sweepstakes_token. CRITICAL: This is a DESTRUCTIVE operation that cannot be undone. ALWAYS ask for explicit user confirmation before deleting, showing the sweepstakes name. NEVER delete multiple sweepstakes in batch or loops. If user requests bulk deletion, refuse and ask them to delete one at a time after reviewing each.
delete_sweepstakes
When to use
Permanently delete a sweepstakes and all associated data including participants, statistics, and automations. Use fetch_sweepstakes first to get the sweepstakes_token. CRITICAL: This is a DESTRUCTIVE operation that cannot be undone. ALWAYS ask for explicit user confirmation before deleting, showing the sweepstakes name. NEVER delete multiple sweepstakes in batch or loops. If user requests bulk deletion, refuse and ask them to delete one at a time after reviewing each.
Pre-calls required
fetch_sweepstakes if the user gave you a sweepstakes name instead of a token
Parameters to validate before calling
sweepstakes_token (string, required) — The unique identifier (token) of the sweepstakes to delete
Notes
DESTRUCTIVE — IRREVERSIBLE. Always confirm with the user before calling. Explain what will be lost.
IRREVERSIBLE — destroys ALL associated data (participants, rules, winners, statistics)
ALWAYS require explicit user confirmation. Explain exactly what will be lost.
| Name | Required | Description | Default |
|---|---|---|---|
| sweepstakes_token | Yes | The unique identifier (token) of the sweepstakes to delete |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Repeatedly warns of destructiveness and irreversibility, adding context beyond annotations (e.g., need for explicit confirmation, prohibition of bulk operations). No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is highly repetitive, with the same warnings and instructions appearing in multiple sections (main description, sub-section, notes). Could be condensed to a single clear paragraph.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given one parameter, no output schema, and annotations covering destructive nature, the description fully covers pre-calls, validation, and usage warnings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage, the description adds value by explaining how to obtain the token via fetch_sweepstakes, though it mostly restates the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it permanently deletes a sweepstakes and all associated data. It distinguishes from siblings like pause_sweepstakes by emphasizing irreversibility.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to use fetch_sweepstakes first to get the token, and provides strong guidance: always confirm with user, never batch delete, and refuse bulk requests.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_ticketADestructiveIdempotentInspect
Permanently delete an open support ticket. Use fetch_open_tickets first to get the case_id. WARNING: This action cannot be undone. Only open tickets can be deleted.
delete_ticket
When to use
Permanently delete an open support ticket. Use fetch_open_tickets first to get the case_id. WARNING: This action cannot be undone. Only open tickets can be deleted.
Parameters to validate before calling
case_id (string, required) — The case number of the ticket to delete
Notes
DESTRUCTIVE — IRREVERSIBLE. Always confirm with the user before calling. Explain what will be lost.
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | The case number of the ticket to delete |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds critical behavioral context beyond annotations: 'This action cannot be undone', 'Only open tickets can be deleted', and a note to confirm with the user. These details align with the destructiveHint=true annotation and provide actionable guidance.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear markdown sections. It is front-loaded with the primary purpose and each sentence adds value. No redundant or unnecessary text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter destructive tool, the description covers all necessary aspects: purpose, prerequisite, parameter guidance, and warnings. Given the annotations already provide safety hints, the description is fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a clear description of case_id. The description adds practical context on how to obtain the parameter value via fetch_open_tickets, which helps the agent. However, it does not add new semantic meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it permanently deletes an open support ticket. It specifies the verb 'delete' and the resource 'ticket', and distinguishes from siblings like resolve_ticket which does not delete. The condition 'open' is highlighted.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to use fetch_open_tickets first to obtain case_id, and notes that only open tickets can be deleted. It also provides a strong warning about irreversibility and advises confirming with the user.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_todoADestructiveIdempotentInspect
Permanently delete a To-Do item. WARNING: This action cannot be undone. ADMIN ONLY: This tool requires admin privileges. Non-admin users will receive a 403 Forbidden error from the API.
delete_todo
When to use
Permanently delete a To-Do item. WARNING: This action cannot be undone. ADMIN ONLY: This tool requires admin privileges. Non-admin users will receive a 403 Forbidden error from the API.
Parameters to validate before calling
todo_token (string, required) — The To-Do token to delete (UUID format).
Notes
DESTRUCTIVE — IRREVERSIBLE. Always confirm with the user before calling. Explain what will be lost.
| Name | Required | Description | Default |
|---|---|---|---|
| todo_token | Yes | The To-Do token to delete (UUID format). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant context beyond annotations: it emphasizes irreversibility ('cannot be undone') and admin-only requirement. No contradiction with annotations (destructiveHint: true, readOnlyHint: false, idempotentHint: true).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured but contains redundancy (e.g., irreversible warning repeated in first sentence and again in the # delete_todo section and Notes). Could be condensed without losing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with one parameter and no output schema, the description covers all essential aspects: admin requirement, irreversible nature, and confirmation advice. It is complete enough for safe invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage and only one parameter (todo_token), the description repeats the schema (UUID format) but does not add new meaning. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Permanently delete a To-Do item.' It uses a specific verb and resource, and among sibling tools (e.g., delete_calendar_event, delete_file), this tool is uniquely identifiable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly warns that the action is irreversible and admin-only, guiding the agent to confirm with the user and expect 403 for non-admins. It does not compare directly with alternatives, but the specificity is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
draw_winnersAInspect
Draw winners from a sweepstakes immediately. Use fetch_sweepstakes first to get the sweepstakes_token, and fetch_groups to get available groups. CRITICAL: This is a production operation that selects real winners. ALWAYS confirm with the user before drawing — including the number of winners and which group to draw from. Uses weighted random selection favoring participants with bonus entries. Cannot draw from paused or archived sweepstakes. Use them internally for tool chaining but present only human-readable information (names, emails).
draw_winners
When to use
Draw winners from a sweepstakes immediately. Use fetch_sweepstakes first to get the sweepstakes_token, and fetch_groups to get available groups. CRITICAL: This is a production operation that selects real winners. ALWAYS confirm with the user before drawing — including the number of winners and which group to draw from. Uses weighted random selection favoring participants with bonus entries. Cannot draw from paused or archived sweepstakes. Use them internally for tool chaining but present only human-readable information (names, emails).
Pre-calls required
fetch_sweepstakes if the user gave you a sweepstakes name instead of a token
fetch_rules(sweepstakes_token) — confirm Official Rules exist (drawing is illegal without them)
count_participants — verify there are enough entries for the requested winners count
Confirm the entry period has ended for the relevant drawing window
Parameters to validate before calling
sweepstakes_token (string, required) — The sweepstakes token (UUID format)
how_many_winners (number, required) — Number of winners to pick (must be >= 1)
group (string, required) — Group token to draw from, or "allgroups" for all participants
completed_entries (boolean, optional) — Only include participants with completed entries (default: true)
include_opted_out (boolean, optional) — Include participants who opted out (default: false)
exclude_spam (boolean, optional) — Exclude flagged spam participants (default: true)
Notes
After drawing: fetch_winners to confirm, update the campaign brief note, create a calendar event for winner notification deadline
Remind the user about web-interface steps: classify winners, send notifications, publish Winners List
| Name | Required | Description | Default |
|---|---|---|---|
| group | Yes | Group token to draw from, or "allgroups" for all participants | |
| exclude_spam | No | Exclude flagged spam participants (default: true) | |
| how_many_winners | Yes | Number of winners to pick (must be >= 1) | |
| completed_entries | No | Only include participants with completed entries (default: true) | |
| include_opted_out | No | Include participants who opted out (default: false) | |
| sweepstakes_token | Yes | The sweepstakes token (UUID format) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses key behaviors beyond annotations: it's a production operation selecting real winners, uses weighted random selection, cannot draw from paused/archived sweepstakes. Annotations indicate non-destructive, non-readonly, and open world; description aligns and adds operational detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with clear sections (When to use, Pre-calls, etc.), but contains redundancy (first paragraph repeated in 'When to use'). For the complexity of the tool, length is acceptable, but slight trimming would improve conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description covers post-drawing steps (fetch_winners, update notes, create event) and reminds about web-interface actions. However, it lacks explicit description of the return value, leaving a minor gap for agents to infer behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description restates parameter names and types but adds minimal new meaning beyond schema. While it offers usage guidance (e.g., validating how_many_winners >= 1), it doesn't significantly enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool draws winners from a sweepstakes immediately, specifying the verb 'draw' and resource 'winners'. It distinguishes itself from siblings like fetch_winners (which retrieves results) and schedule_drawing (which schedules) by emphasizing immediate action and real winner selection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly provides pre-calls (fetch_sweepstakes, fetch_groups) and critical guidelines ('ALWAYS confirm with the user'). It lists parameter validation steps and post-drawing actions, giving comprehensive when-to-use and when-not-to-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_areacodesARead-onlyIdempotentInspect
Search US telephone area codes by code number or state name. Returns up to 10 results. Omit search to get all area codes.
fetch_areacodes
When to use
Search US telephone area codes by code number or state name. Returns up to 10 results. Omit search to get all area codes.
Parameters to validate before calling
search (string, optional) — Search term: area code number or state name (optional, omit to get all)
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | Search term: area code number or state name (optional, omit to get all) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds value beyond annotations by specifying result limit (up to 10) and behavior when search is omitted. Annotations already indicate readOnly, idempotent, openWorld; description doesn't contradict.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is concise but contains redundant repetition (same info in main description and subheadings). Could be streamlined.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 optional param, no output schema), the description adequately explains behavior and usage. Annotations provide safety context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and description repeats the parameter description from schema. No additional meaning beyond what schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb (search), resource (US telephone area codes), and scope (by code number or state name). It distinguishes from sibling tools like fetch_zipcodes and fetch_states.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use (search by code or state, or get all). Does not explicitly exclude alternatives but provides clear context for its own usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_billing_consumptionsCRead-onlyIdempotentInspect
Get monthly and yearly billing consumption totals for your account. Shows aggregated usage data from billing transactions and data transfers.
fetch_billing_consumptions
When to use
Get monthly and yearly billing consumption totals for your account. Shows aggregated usage data from billing transactions and data transfers.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, idempotentHint, and destructiveHint, indicating a safe, non-destructive read operation. The description adds no additional behavioral context such as authentication requirements, rate limits, or return format details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but contains redundancy: the first two sentences are repeated under a markdown heading. While not verbose, the duplication wastes space and could be streamlined.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no parameters, the tool has no output schema, so the description should elaborate on the return format or structure of 'aggregated usage data'. It fails to provide this, leaving the agent uncertain about the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the baseline is 4. The description correctly avoids parameter explanations since none exist, and the schema coverage is 100% (no parameters to describe).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it fetches monthly and yearly billing consumption totals, specifying 'for your account' and mentioning aggregated data from billing transactions and data transfers. However, it does not differentiate from the sibling tool 'fetch_billing_transactions', which likely handles individual transactions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lacks guidance on when to use this tool versus alternatives. It does not specify exclusions, prerequisites, or mention related tools like 'fetch_billing_transactions' for granular data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_billing_transactionsARead-onlyIdempotentInspect
Get all billing transactions for your account including invoices, amounts, and status. Results are sorted by creation date (newest first).
fetch_billing_transactions
When to use
Get all billing transactions for your account including invoices, amounts, and status. Results are sorted by creation date (newest first).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, idempotentHint, openWorldHint, and destructiveHint. The description adds behavioral context beyond annotations by specifying that results are sorted by creation date (newest first) and include invoices, amounts, and status. However, it does not disclose potential pagination or limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, using two sentences to convey the core action and result details. Information is front-loaded. The slight redundancy (same sentence in heading) does not detract significantly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and no output schema, the description covers key output aspects (invoices, amounts, status, ordering). However, it fails to mention potential incompleteness (contradicting openWorldHint), no info on authentication or account scope. The claim 'all' may mislead.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, and schema description coverage is 100%, so baseline is 3. The description adds no input parameter semantics, which is acceptable given no parameters exist. It adds value by describing output fields but not input meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves billing transactions with specific fields (invoices, amounts, status) and sorting order (newest first). The verb 'fetch' and resource 'billing_transactions' are precise, distinguishing it from sibling tools like fetch_wallet_transactions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The heading 'When to use' is present but not elaborated; the description implies usage for account billing but provides no explicit guidance on when to choose this over alternatives or any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_calendar_eventsARead-onlyIdempotentInspect
Get all calendar events for your account. Returns events with their details including dates, times, location, and status. Use them internally for tool chaining but present only human-readable information (titles, dates, times, locations).
fetch_calendar_events
When to use
Get all calendar events for your account. Returns events with their details including dates, times, location, and status. Use them internally for tool chaining but present only human-readable information (titles, dates, times, locations).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Consistent with readOnlyHint and idempotentHint; adds that events are returned with details and that they should be used internally for chaining, enhancing transparency beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Text is repeated (markdown header + paragraph), causing redundancy; still front-loaded but could be more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, but description explains return values (dates, times, location, status) and usage; sufficiently complete for a simple read-only tool with no parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist (0 params), so baseline 4 applies; description need not add parameter info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get all calendar events for your account' with details, distinguishing from singular 'get_calendar_event' and 'create_calendar_event'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides advice on using returned data internally and presenting human-readable info, but lacks explicit comparison to alternative tools or conditions for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_closed_ticketsARead-onlyIdempotentInspect
Get closed/resolved support tickets with pagination (20 per page) and search. Returns summary info only — use get_ticket with the case number to get full ticket details including notes, files, and collaborators. Supports filtering by subject/description text, platform (renaissance, api, general, overture, winners), and priority (1=Low, 2=Medium, 3=High).
fetch_closed_tickets
When to use
Get closed/resolved support tickets with pagination (20 per page) and search. Returns summary info only — use get_ticket with the case number to get full ticket details including notes, files, and collaborators. Supports filtering by subject/description text, platform (renaissance, api, general, overture, winners), and priority (1=Low, 2=Medium, 3=High).
Parameters to validate before calling
search (string, optional) — Search by subject or description (case-insensitive)
platform (string, optional) — Filter by platform: renaissance, api, general, overture, winners
priority (number, optional) — one of: 1, 2, 3 — Filter by priority: 1 (Low), 2 (Medium), 3 (High)
page (number, optional) — Page number for pagination (default: 1, 20 tickets per page)
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination (default: 1, 20 tickets per page) | |
| search | No | Search by subject or description (case-insensitive) | |
| platform | No | Filter by platform: renaissance, api, general, overture, winners | |
| priority | No | Filter by priority: 1 (Low), 2 (Medium), 3 (High) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly, idempotent, not destructive. Description adds that returns summary info only, pagination (20 per page), and search support. Good additional context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Content is repeated (first paragraph and markdown section are identical). Could be trimmed. Structure is clear but not optimally concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and all optional params, the description adequately explains what is returned (summary info) and what to use for full details. Pagination defaults are clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 4 parameters are fully described in the schema (100% coverage), and the description adds case-insensitivity for search, valid platform values, and priority meanings (Low, Medium, High).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it fetches closed/resolved support tickets with pagination and search, and distinguishes from get_ticket (full details) and fetch_open_tickets implicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly guides to use get_ticket for full details, and lists filtering options. Lacks direct comparison to fetch_open_tickets but differentiates via 'closed/resolved' and sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_countriesARead-onlyIdempotentInspect
Search countries by name, international dial code, or ISO abbreviation. Returns up to 10 results with English/Spanish names. Omit search to get all countries.
fetch_countries
When to use
Search countries by name, international dial code, or ISO abbreviation. Returns up to 10 results with English/Spanish names. Omit search to get all countries.
Parameters to validate before calling
search (string, optional) — Search term: country name, dial code (e.g. "+34"), or ISO code (e.g. "US") (optional, omit to get all)
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | Search term: country name, dial code (e.g. "+34"), or ISO code (e.g. "US") (optional, omit to get all) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, destructiveHint. Description adds useful details: result limit of 10, bilingual names, and that omitting search returns all. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very concise with front-loaded key info. However, there is minor redundancy: the same text appears in the brief description and again in the 'When to use' section.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple lookup with one optional parameter and no output schema, the description covers inputs, behavior, and result characteristics adequately. Could mention default ordering or pagination, but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description adds examples (e.g., '+34', 'US') which are helpful but largely redundant with schema description. Adds minimal extra meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action (search countries), resources (name, dial code, ISO abbreviation), and constraints (max 10 results, English/Spanish names, omit for all). Distinguishes from siblings like fetch_states or fetch_areacodes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context: when to search vs. omit to get all. However, it does not explicitly mention when not to use or compare to alternatives among sibling fetch tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_data_transferARead-onlyIdempotentInspect
Get data transfer records for a specific sweepstakes including bytes transferred, payment status, and rates. Use fetch_sweepstakes first to get the sweepstakes_token.
fetch_data_transfer
When to use
Get data transfer records for a specific sweepstakes including bytes transferred, payment status, and rates. Use fetch_sweepstakes first to get the sweepstakes_token.
Pre-calls required
fetch_sweepstakes if the user gave you a sweepstakes name instead of a token
Parameters to validate before calling
sweepstakes_token (string, required) — The sweepstakes token to fetch data transfer records from (UUID format)
| Name | Required | Description | Default |
|---|---|---|---|
| sweepstakes_token | Yes | The sweepstakes token to fetch data transfer records from (UUID format) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. Description adds that it fetches records with specific fields but no additional behavioral traits beyond annotations. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with markdown sections, but somewhat repetitive (first sentence appears twice). Could be more concise, but overall efficient and front-loaded with key info.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Completeness is adequate for a simple fetch tool with one parameter. Describes what is returned but lacks details on pagination or output structure. With openWorldHint, perhaps pagination should be mentioned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description of sweepstakes_token as UUID. The description adds value by explaining how to obtain the token via fetch_sweepstakes, which is helpful context beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it gets data transfer records for a specific sweepstakes, listing included fields. Implicitly distinguishes from siblings by mentioning prerequisite fetch_sweepstakes, but does not explicitly differentiate from other fetch tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use and pre-calls required sections, including the exact condition to call fetch_sweepstakes first. Also lists parameters to validate, giving clear guidance for correct invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_documentationARead-onlyIdempotentInspect
Get help and support documentation articles. Supports pagination and search by title or content. Returns up to 10 documents per page.
fetch_documentation
When to use
Get help and support documentation articles. Supports pagination and search by title or content. Returns up to 10 documents per page.
Parameters to validate before calling
page (number, optional) — Page number to retrieve (default: 1)
limit (number, optional) — Number of documents per page, max 10 (default: 5)
search (string, optional) — Search term to filter documents by title or content
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number to retrieve (default: 1) | |
| limit | No | Number of documents per page, max 10 (default: 5) | |
| search | No | Search term to filter documents by title or content |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, which inform the agent of safe, repeatable behavior. The description adds value by specifying the maximum limit of 10 documents per page, clarifying pagination constraints beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately structured with a clear purpose and parameter section, but it contains redundancy: the same sentence about pagination and search appears twice. It could be more concise without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple fetch tool with three optional parameters and no output schema, the description covers the core functionality: pagination, search, and default/max values. It adequately prepares the agent to invoke the tool, though it does not describe the structure of returned documents.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter already described in the input schema. The description restates this information in a structured format but does not add new meaning, such as expected formats or examples, beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get help and support documentation articles' and specifies pagination and search capabilities. However, it does not explicitly differentiate from other fetch_ tools among siblings, such as fetch_files or fetch_groups, missing an opportunity to highlight its unique resource type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions 'When to use' but only restates the purpose. It lacks explicit guidance on when not to use this tool or mention of alternative tools, leaving the agent to infer usage context from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_filesARead-onlyIdempotentInspect
List all files in the user's Drive with storage usage, categories, and pagination. Files are sorted by creation date (newest first).
fetch_files
When to use
List all files in the user's Drive with storage usage, categories, and pagination. Files are sorted by creation date (newest first).
Parameters to validate before calling
page (number, optional) — Page number (default: 1)
limit (number, optional) — Files per page (default: 50, max: 200)
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default: 1) | |
| limit | No | Files per page (default: 50, max: 200) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false. The description adds that files are sorted by creation date newest first, which is useful but not critical behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with two sentences and a focused 'When to use' section. Every sentence provides value, and the key information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list operation with two optional parameters and no output schema, the description adequately covers what the tool does and what data it returns. It could mention pagination metadata, but overall it is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description repeats the same parameter information from the schema (defaults, max). No additional semantic meaning is added beyond what is already in the input schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List all files in the user's Drive' with specific attributes (storage usage, categories, pagination). It is a distinct operation among sibling fetch_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a 'When to use' section that explains the tool's purpose. However, it does not explicitly mention when not to use it or compare to alternative file-related tools like upload_file or get_file_url.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_groupsARead-onlyIdempotentInspect
Get all groups from a sweepstakes. Use fetch_sweepstakes first to get the sweepstakes_token. Groups are used to organize and segment participants. Use them internally for tool chaining but present only human-readable information (group names, statuses).
fetch_groups
When to use
Get all groups from a sweepstakes. Use fetch_sweepstakes first to get the sweepstakes_token. Groups are used to organize and segment participants. Use them internally for tool chaining but present only human-readable information (group names, statuses).
Pre-calls required
fetch_sweepstakes if the user gave you a sweepstakes name instead of a token
Parameters to validate before calling
sweepstakes_token (string, required) — The sweepstakes token (UUID format)
| Name | Required | Description | Default |
|---|---|---|---|
| sweepstakes_token | Yes | The sweepstakes token (UUID format) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false. Description adds behavioral context about using groups internally and presenting only human-readable info, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is somewhat repetitive with the first sentence echoed in the markdown section. Could be more concise by removing redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given single parameter fully described and annotations covering safety, the description is fairly complete. Lacks details on return format, but the tool is simple and the context about groups' purpose is provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and description matches the parameter exactly (UUID format). No additional semantic value added beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Get all groups from a sweepstakes' with specific verb and resource. Distinguishes from sibling tools like create_group and delete_group by indicating it's a fetch operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to use fetch_sweepstakes first to obtain the sweepstakes_token, and advises on when the token is needed instead of a name. Also provides guidance on internal tool chaining vs presenting human-readable info.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_notesARead-onlyIdempotentInspect
Get all notes for your account. Notes are automatically decrypted and returned in reverse chronological order. Use them internally for tool chaining but present only human-readable information (titles, content, dates).
fetch_notes
When to use
Get all notes for your account. Notes are automatically decrypted and returned in reverse chronological order. Use them internally for tool chaining but present only human-readable information (titles, content, dates).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint=true, etc.), the description reveals automatic decryption and reverse chronological order, adding valuable behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, no wasted words. Front-loaded with the core action. Example of effective conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only tool with comprehensive annotations, the description covers purpose, results, ordering, and usage guidance. No gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so schema coverage is 100%. The description adds no parameter details, which is appropriate. Baseline score of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get all notes for your account', using a specific verb and resource. It distinguishes from sibling 'get_note' by indicating it returns all notes, and adds ordering and decryption details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides guidance on internal use and presentation of results ('Use them internally for tool chaining but present only human-readable information'). However, no explicit comparison to alternatives like 'get_note' or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_open_ticketsARead-onlyIdempotentInspect
Get open support tickets with pagination (20 per page) and search. Returns summary info only — use get_ticket with the case number to get full ticket details including notes, files, and collaborators. Supports filtering by subject/description text, platform (renaissance, api, general, overture, winners), and priority (1=Low, 2=Medium, 3=High).
fetch_open_tickets
When to use
Get open support tickets with pagination (20 per page) and search. Returns summary info only — use get_ticket with the case number to get full ticket details including notes, files, and collaborators. Supports filtering by subject/description text, platform (renaissance, api, general, overture, winners), and priority (1=Low, 2=Medium, 3=High).
Parameters to validate before calling
search (string, optional) — Search by subject or description (case-insensitive)
platform (string, optional) — Filter by platform: renaissance, api, general, overture, winners
priority (number, optional) — one of: 1, 2, 3 — Filter by priority: 1 (Low), 2 (Medium), 3 (High)
page (number, optional) — Page number for pagination (default: 1, 20 tickets per page)
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination (default: 1, 20 tickets per page) | |
| search | No | Search by subject or description (case-insensitive) | |
| platform | No | Filter by platform: renaissance, api, general, overture, winners | |
| priority | No | Filter by priority: 1 (Low), 2 (Medium), 3 (High) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and destructiveHint; description adds that it returns summary info and supports pagination, enhancing transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with markdown headers and front-loaded information, though the parameters section repeats the schema, making it slightly redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks return format details and total pages info, which is important given no output schema; otherwise covers main functionality.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and description repeats schema text verbatim without adding extra 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it fetches open support tickets with pagination and search, distinguishing it from siblings like fetch_closed_tickets and get_ticket.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides guidance that it returns summary info and suggests using get_ticket for full details, but does not explicitly state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_participantsARead-onlyIdempotentInspect
Get a paginated list of participants from a sweepstakes (20 per page). Use fetch_sweepstakes first to get the sweepstakes_token. Supports search by name, email, or phone, and filtering by opt-in date or date range. Results are sorted by creation date (newest first). For full participant details, use get_participant with a specific email, phone, or token. NEVER fabricate or hallucinate participant data — only report what the API returns. Use them internally for tool chaining but present only human-readable information (names, emails, phones, dates).
fetch_participants
When to use
Get a paginated list of participants from a sweepstakes (20 per page). Use fetch_sweepstakes first to get the sweepstakes_token. Supports search by name, email, or phone, and filtering by opt-in date or date range. Results are sorted by creation date (newest first). For full participant details, use get_participant with a specific email, phone, or token. NEVER fabricate or hallucinate participant data — only report what the API returns. Use them internally for tool chaining but present only human-readable information (names, emails, phones, dates).
Pre-calls required
fetch_sweepstakes if the user gave you a sweepstakes name instead of a token
Parameters to validate before calling
sweepstakes_token (string, required) — The sweepstakes token (UUID format)
page (number, optional) — Page number for pagination (default: 1, 20 results per page)
search (string, optional) — Search by first name, last name, email, or phone number (case-insensitive)
opt_in_date (string, optional) — Filter by specific opt-in date (YYYY-MM-DD)
start_date (string, optional) — Start of date range filter (YYYY-MM-DD, requires end_date)
end_date (string, optional) — End of date range filter (YYYY-MM-DD, requires start_date)
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination (default: 1, 20 results per page) | |
| search | No | Search by first name, last name, email, or phone number (case-insensitive) | |
| end_date | No | End of date range filter (YYYY-MM-DD, requires start_date) | |
| start_date | No | Start of date range filter (YYYY-MM-DD, requires end_date) | |
| opt_in_date | No | Filter by specific opt-in date (YYYY-MM-DD) | |
| sweepstakes_token | Yes | The sweepstakes token (UUID format) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate safety traits (readOnly, idempotent, non-destructive). The description adds critical behavioral details: pagination (20 per page), sorting (newest first), search/filter capabilities, and the prohibition on fabricating data, providing substantial value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-organized into clear sections (brief, when to use, pre-calls, parameters) and is front-loaded with the most critical info. Every sentence serves a purpose without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers usage, parameters, and behavioral notes thoroughly. However, since there is no output schema, some details about the exact output structure (e.g., fields returned) are missing, which is a minor gap for a listing tool with many siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds cross-parameter constraints (start_date requires end_date) and format hints (UUID). This extra context raises the score above the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Get a paginated list of participants' and clearly identifies the resource (sweepstakes). It distinguishes from sibling tools like get_participant and add_participant, making the tool's unique role evident.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool (after fetch_sweepstakes) and when to use alternatives ('For full participant details, use get_participant'). It also includes a strong anti-hallucination directive and pre-call requirements.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_rulesARead-onlyIdempotentInspect
Get all official rules for a sweepstakes including primary and secondary rules. Use fetch_sweepstakes first to get the sweepstakes_token.
fetch_rules
When to use
Get all official rules for a sweepstakes including primary and secondary rules. Use fetch_sweepstakes first to get the sweepstakes_token.
Pre-calls required
fetch_sweepstakes if the user gave you a sweepstakes name instead of a token
Parameters to validate before calling
sweepstakes_token (string, required) — The sweepstakes token to fetch rules from (UUID format)
| Name | Required | Description | Default |
|---|---|---|---|
| sweepstakes_token | Yes | The sweepstakes token to fetch rules from (UUID format) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and idempotentHint=true. The description adds context about fetching primary and secondary rules and required prerequisite, aligning with annotations. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a header and sections, but it repeats the opening sentence. Front-loads purpose effectively. Could be slightly more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple fetch tool with no output schema, the description adequately explains what is returned (primary and secondary rules) and the necessary pre-call. Missing details on return format, but sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the description mentions 'UUID format' which is already in the schema. The description adds no additional meaning beyond what the input schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets 'all official rules for a sweepstakes including primary and secondary rules,' with a specific verb and resource. This distinguishes it from sibling tools like create_rule or delete_rule.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to use fetch_sweepstakes first to obtain the sweepstakes_token and lists a pre-call requirement. No explicit exclusions or 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.
fetch_scheduled_drawingsARead-onlyIdempotentInspect
Get all scheduled drawings for a sweepstakes. Use fetch_sweepstakes first to get the sweepstakes_token. Returns all scheduled drawings regardless of status, sorted by creation date (newest first). Use them internally for tool chaining but present only human-readable information (dates, times, status, winner counts).
fetch_scheduled_drawings
When to use
Get all scheduled drawings for a sweepstakes. Use fetch_sweepstakes first to get the sweepstakes_token. Returns all scheduled drawings regardless of status, sorted by creation date (newest first). Use them internally for tool chaining but present only human-readable information (dates, times, status, winner counts).
Pre-calls required
fetch_sweepstakes if the user gave you a sweepstakes name instead of a token
Parameters to validate before calling
sweepstakes_token (string, required) — The sweepstakes token (UUID format)
| Name | Required | Description | Default |
|---|---|---|---|
| sweepstakes_token | Yes | The sweepstakes token (UUID format) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it as read-only, idempotent, and non-destructive. Description adds that it returns all scheduled drawings regardless of status, sorted by creation date (newest first), and hints at output fields (dates, times, status, winner counts). 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Contains redundant repetition: the same description appears both in the top-level description and under the '## When to use' heading. The structure with sections is clear, but the redundancy wastes space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description explains the return behavior (sorted, all statuses) and provides guidance on using results. Pre-call requirements are covered. Annotations cover safety. Minor gap: doesn't specify if pagination is supported, but likely acceptable for a simple fetch.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single parameter described as 'The sweepstakes token (UUID format)'. The description repeats this exact phrase, adding no new semantic information beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the verb ('Get all scheduled drawings') and resource ('sweepstakes'), and distinguishes from sibling tools like fetch_sweepstakes by noting it uses the sweepstakes_token. No ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to call fetch_sweepstakes first to obtain the token, and provides a 'Pre-calls required' section. Also advises to use results internally for tool chaining and present only human-readable information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_statesARead-onlyIdempotentInspect
Get all US states including DC, Puerto Rico, and US territories. Returns full names and two-letter abbreviations.
fetch_states
When to use
Get all US states including DC, Puerto Rico, and US territories. Returns full names and two-letter abbreviations.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false. The description adds that the tool returns full names and abbreviations but no additional behavioral traits beyond what annotations cover.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief but contains a redundant markdown header that repeats the same sentence. It could be more concise by removing the duplicate section.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately explains the output (full names and two-letter abbreviations). For a simple, parameterless tool, this is complete and sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters and schema coverage is 100%. The description does not need to add parameter details. Baseline for 0 params is 4, and the description provides context about the return content.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves all US states including DC, Puerto Rico, and territories, with full names and abbreviations. This is a specific verb-resource combination that distinguishes it from siblings like fetch_countries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a 'When to use' header but merely repeats the purpose. It does not provide explicit guidance on when not to use or mention alternative tools like fetch_countries for non-US locations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_sweepstakesARead-onlyIdempotentInspect
Get all sweepstakes associated with your account. Returns a list of all sweepstakes with their details. Use tokens internally for tool chaining but present only human-readable information (names, dates, statuses) to the user.
fetch_sweepstakes
Get all sweepstakes associated with your account. Returns a list of all sweepstakes with their details. Use tokens internally for tool chaining but present only human-readable information (names, dates, statuses) to the user.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds context beyond annotations by instructing to use tokens internally for tool chaining and present only human-readable information to the user. Annotations already declare readOnlyHint=true, idempotentHint=true, etc., so the description complements them 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded and clear, but the second paragraph is an exact duplicate of the first, introducing unnecessary redundancy. Removing the repetition would improve conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description gives a general idea of what is returned (list, details, specific fields like names, dates, statuses) but lacks a full specification of the response structure, which would be helpful for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so the schema provides full coverage (100%). The description adds value by describing the return content (list of sweepstakes with details), which is not captured in the input schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get all sweepstakes associated with your account,' specifying a verb (get/fetch) and a resource (sweepstakes). This distinguishes it from sibling tools like fetch_participants or fetch_rules.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing all sweepstakes and provides guidance on token handling, but it does not explicitly state when to use this tool versus alternatives like get_sweepstakes (if it existed) or other fetch tools. No exclusions or comparisons are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_timezonesARead-onlyIdempotentInspect
Get all available timezones with IANA identifiers, abbreviations, and UTC offsets. Use this tool whenever a timezone needs to be determined for any operation. DEFAULT: If the correct timezone cannot be determined, always use TimezoneId 7 (Eastern Standard Time - America/New_York).
fetch_timezones
When to use
Get all available timezones with IANA identifiers, abbreviations, and UTC offsets. Use this tool whenever a timezone needs to be determined for any operation. DEFAULT: If the correct timezone cannot be determined, always use TimezoneId 7 (Eastern Standard Time - America/New_York).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, destructiveHint=false. The description adds the default timezone rule and the specific fields returned, which provides useful context but does not drastically expand behavioral knowledge beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is somewhat repetitive (the first sentence appears twice) and includes markdown formatting that could be streamlined. Key information is front-loaded, but conciseness could be improved.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and no output schema, the description covers the main purpose, usage guidance, and a default behavior. It lacks explicit details on return format (e.g., list or map), but it is still fairly complete for the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so schema coverage is 100%. The description adds meaning by explaining what the tool returns, which is sufficient for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches all available timezones with specific attributes (IANA identifiers, abbreviations, UTC offsets). It uses a specific verb 'get' and resource 'timezones', and it is easily distinguishable from sibling fetch tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use this tool whenever a timezone needs to be determined for any operation' and provides a default fallback. While it doesn't mention when not to use it or list alternatives, the guidance is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_todosARead-onlyIdempotentInspect
Get all To-Do items with pagination (20 per page), search, and advanced filters. ADMIN ONLY: This tool requires admin privileges. Non-admin users will receive a 403 Forbidden error from the API.
fetch_todos
When to use
Get all To-Do items with pagination (20 per page), search, and advanced filters. ADMIN ONLY: This tool requires admin privileges. Non-admin users will receive a 403 Forbidden error from the API.
Parameters to validate before calling
page (number, optional) — Page number (default: 1, 20 items per page).
search (string, optional) — Search by title or description (case-insensitive).
status (string, optional) — one of: pending, completed — Filter by status: "pending" or "completed".
priority (number, optional) — one of: 1, 2, 3 — Filter by priority: 1 = Low, 2 = Medium, 3 = High.
resource (string, optional) — Filter by resource affected (e.g. "renaissance", "api", "aws", "general").
pinned (boolean, optional) — Filter pinned items only when true.
date_from (string, optional) — Start date filter in ISO 8601 format (e.g. "2026-01-01").
date_to (string, optional) — End date filter in ISO 8601 format (e.g. "2026-12-31").
year (number, optional) — Filter by creation year (ignored if date_from/date_to provided).
month (number, optional) — Filter by creation month 1-12 (requires year parameter).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default: 1, 20 items per page). | |
| year | No | Filter by creation year (ignored if date_from/date_to provided). | |
| month | No | Filter by creation month 1-12 (requires year parameter). | |
| pinned | No | Filter pinned items only when true. | |
| search | No | Search by title or description (case-insensitive). | |
| status | No | Filter by status: "pending" or "completed". | |
| date_to | No | End date filter in ISO 8601 format (e.g. "2026-12-31"). | |
| priority | No | Filter by priority: 1 = Low, 2 = Medium, 3 = High. | |
| resource | No | Filter by resource affected (e.g. "renaissance", "api", "aws", "general"). | |
| date_from | No | Start date filter in ISO 8601 format (e.g. "2026-01-01"). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds the critical behavioral fact that it's admin-only, with a 403 for non-admins. No contradictions, and it provides useful 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive, with a full markdown section duplicating the first paragraph and the entire parameter list already in the schema. Important info is front-loaded, but the redundancy harms conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having 10 optional parameters and no output schema, the description does not explain the return format (e.g., list of todos, pagination metadata) or behavior like default sorting. Error handling beyond 403 is missing. The tool is not fully contextualized for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description in the markdown section repeats parameter descriptions verbatim from the schema, adding no new meaning. It does not explain parameter interactions or validation rules beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves all To-Do items with pagination, search, and filters. It explicitly mentions admin-only access, distinguishing it from other fetch tools like fetch_calendar_events. The verb 'Get' and resource 'To-Do items' are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly warns that admin privileges are required and non-admins get 403 error, guiding when to use. However, it does not compare to alternatives like create_todo or delete_todo, nor does it 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.
fetch_wallet_transactionsARead-onlyIdempotentInspect
Get all wallet transactions for your account including credits, debits, and payment details.
fetch_wallet_transactions
When to use
Get all wallet transactions for your account including credits, debits, and payment details.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only, idempotent, and non-destructive. The description adds that it includes credits, debits, and payment details but does not disclose further behavioral aspects like pagination or limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that conveys the core purpose without any extraneous formatting or repetition. It is appropriately front-loaded and concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and no output schema, the description adequately explains the content of the transactions. However, it could mention whether all transactions are returned or if there is pagination.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so the schema coverage is 100%. The description does not need to add parameter semantics, and the baseline is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's purpose: fetching wallet transactions including credits, debits, and payment details. It uses a specific verb and resource but does not explicitly differentiate from similar siblings like fetch_billing_transactions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. In the context of siblings like fetch_billing_transactions, an agent might be unsure which to choose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_winnersARead-onlyIdempotentInspect
Get winners from a sweepstakes with pagination. Use fetch_sweepstakes first to get the sweepstakes_token. Winners are sorted by draw date (most recent first). Supports search by email or phone. Use them internally for tool chaining but present only human-readable information (names, emails, draw dates).
fetch_winners
When to use
Get winners from a sweepstakes with pagination. Use fetch_sweepstakes first to get the sweepstakes_token. Winners are sorted by draw date (most recent first). Supports search by email or phone. Use them internally for tool chaining but present only human-readable information (names, emails, draw dates).
Pre-calls required
fetch_sweepstakes if the user gave you a sweepstakes name instead of a token
Parameters to validate before calling
sweepstakes_token (string, required) — The sweepstakes token (UUID format)
page (number, optional) — Page number for pagination (default: 1)
items_per_page (number, optional) — Results per page (default: 10)
search (string, optional) — Search filter for email or phone number (optional)
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination (default: 1) | |
| search | No | Search filter for email or phone number (optional) | |
| items_per_page | No | Results per page (default: 10) | |
| sweepstakes_token | Yes | The sweepstakes token (UUID format) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false. Description adds sorting behavior and internal chaining note, which goes beyond annotations. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is somewhat repetitive (e.g., repeated in markdown and 'When to use'). Though front-loaded, it could be more concise without losing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, so description should explain return format. It mentions winners sorted by draw date and suggests fields like names, emails, draw dates, but lacks specifics on pagination metadata or total count.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions identical to those in the description. Description does not add additional meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it gets winners from a sweepstakes with pagination, sorted by draw date most recent first, and supports search. It distinguishes itself from siblings like fetch_sweepstakes and draw_winners by specifying prerequisites and usage.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use: 'Use fetch_sweepstakes first to get the sweepstakes_token.' Includes section 'Pre-calls required' and advises internal chaining. Lacks explicit when-not-to-use but effectively guides context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_zipcodesARead-onlyIdempotentInspect
Search US zip codes by zip code, city, or state name. Returns up to 10 results with city and state details.
fetch_zipcodes
When to use
Search US zip codes by zip code, city, or state name. Returns up to 10 results with city and state details.
Parameters to validate before calling
search (string, required) — Search term: zip code, city name, or state name (case-insensitive)
| Name | Required | Description | Default |
|---|---|---|---|
| search | Yes | Search term: zip code, city name, or state name (case-insensitive) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent behavior. The description adds value by disclosing a result limit of 10, case-insensitive search, and return fields (city/state). This enhances transparency beyond structured hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description contains redundant repetition: the same information is stated twice (first paragraph and 'When to use' section). It could be condensed into a single sentence without loss of clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with one parameter and comprehensive annotations, the description sufficiently covers purpose, usage, and partial return structure. It lacks output schema but hints at fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with full parameter description. The description repeats that but adds no new semantic detail. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Search' and the resource 'US zip codes', specifying searchable fields (zip code, city, state name). It distinguishes from sibling tools like fetch_areacodes and fetch_states by focusing on zip codes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'When to use' section implies usage for zip code searches but does not explicitly exclude alternatives like fetch_states or fetch_areacodes. No guidance on when not to use is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_businessARead-onlyIdempotentInspect
Get business information for a Sweeppea account. Returns company details, address, and business settings.
get_business
When to use
Get business information for a Sweeppea account. Returns company details, address, and business settings.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false. The description adds that it returns company details, address, and business settings, but does not disclose additional behavioral traits like stability, permission requirements, or variability despite openWorldHint being true.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description contains a redundant markdown heading and a repeated sentence. While the core message is concise, the repetition wastes space. Could be shortened to a single sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only getter with no parameters and standard annotations, the description adequately explains the return value. It does not cover edge cases or error conditions, but this is acceptable given the tool's simplicity and existing annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters and 100% schema coverage, the description does not need to elaborate on parameters. Baseline for 0 parameters is 4, and the description adds no superfluous parameter info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the action 'Get' and the resource 'business information for a Sweeppea account'. It specifies the return content (company details, address, business settings), distinguishing it from sibling tools like get_profile or get_calendar_event.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It does not mention prerequisites, scenarios where this tool is preferred, or any exclusions. The description is purely functional without usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_calendar_eventARead-onlyIdempotentInspect
Get a single calendar event by its token. Use fetch_calendar_events first to get event tokens.
get_calendar_event
When to use
Get a single calendar event by its token. Use fetch_calendar_events first to get event tokens.
Parameters to validate before calling
event_token (string, required) — The event token (UUID format)
| Name | Required | Description | Default |
|---|---|---|---|
| event_token | Yes | The event token (UUID format) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description adds behavioral context by specifying the prerequisite workflow (use fetch_calendar_events first), which goes beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description includes redundant sections (e.g., 'When to use' repeats the first sentence). It could be more concise by removing duplication, but it is still relatively short.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema) and rich annotations, the description provides sufficient context including workflow hints. It is complete enough for an agent to understand usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description repeats the parameter name, type, and description from the schema without adding new semantic meaning. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get a single calendar event by its token.' It also differentiates from siblings by referencing 'fetch_calendar_events' as a prerequisite, which is distinct from other event-related tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly instructs when to use the tool: after 'fetch_calendar_events' to obtain the event token. This provides clear workflow guidance and context for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_entry_fieldsARead-onlyIdempotentInspect
Get all form fields for a sweepstakes entry page. Use fetch_sweepstakes first to get the sweepstakes_token. Call this before add_participant to discover required fields. Returns field names, types, and whether they are required.
get_entry_fields
When to use
Get all form fields for a sweepstakes entry page. Use fetch_sweepstakes first to get the sweepstakes_token. Call this before add_participant to discover required fields. Returns field names, types, and whether they are required.
Pre-calls required
fetch_sweepstakes if the user gave you a sweepstakes name instead of a token
Parameters to validate before calling
sweepstakes_token (string, required) — The sweepstakes token (UUID format)
| Name | Required | Description | Default |
|---|---|---|---|
| sweepstakes_token | Yes | The sweepstakes token (UUID format) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds behavioral context by stating what the tool returns ('field names, types, and whether they are required'), which is not in the annotations. No side effects or errors are mentioned, but the provided context is sufficient for an agent to understand the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a brief opening, a 'When to use' section, 'Pre-calls required,' and 'Parameters to validate before calling.' Every sentence is purposeful with no redundancy. It is concise yet comprehensive, earning a top score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 parameter, no output schema), the description covers the key aspects: purpose, usage, pre-requisites, parameter validation, and return values. It does not mention error scenarios or response size, but for a straightforward discovery tool, the coverage is complete enough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for the single parameter (sweepstakes_token) with a clear description. The tool description repeats the parameter's UUID format and validates it, adding minimal new semantics beyond the schema. Baseline of 3 is appropriate as the description does not significantly enhance understanding of the parameter beyond what is already present.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get all form fields for a sweepstakes entry page,' specifying the action (get) and the resource (form fields). It also provides workflow context by mentioning pre-call (fetch_sweepstakes) and subsequent use (before add_participant), distinguishing it from related tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool: 'Call this before add_participant to discover required fields' and 'Use fetch_sweepstakes first to get the sweepstakes_token.' It also lists a pre-call requirement for when the user provides a name instead of a token, giving clear usage instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_entry_settingsARead-onlyIdempotentInspect
Get entry page settings for a sweepstakes. Use fetch_sweepstakes first to get the sweepstakes_token. Returns all configuration: display, colors, spacing, entry settings, compliance, confirmation page, winners page, age gate, AMOE, geolocation, analytics, social media follows, sharing rewards, bonus entries, and sponsor profiles. Use this before update_entry_settings to see current values.
get_entry_settings
When to use
Get entry page settings for a sweepstakes. Use fetch_sweepstakes first to get the sweepstakes_token. Returns all configuration: display, colors, spacing, entry settings, compliance, confirmation page, winners page, age gate, AMOE, geolocation, analytics, social media follows, sharing rewards, bonus entries, and sponsor profiles. Use this before update_entry_settings to see current values.
Pre-calls required
fetch_sweepstakes if the user gave you a sweepstakes name instead of a token
Parameters to validate before calling
sweepstakes_token (string, required) — The sweepstakes token (UUID format)
| Name | Required | Description | Default |
|---|---|---|---|
| sweepstakes_token | Yes | The sweepstakes token (UUID format) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint, idempotentHint, and destructiveHint. The description adds value by listing the specific configuration sections returned (display, colors, etc.), providing 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a summary, list of returned sections, and sections for pre-calls and parameters. Some redundancy (list repeated twice), but overall clear and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the single parameter and no output schema, the description fully covers what the tool does, what it returns, and how to use it in context with other tools. No gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a description for sweepstakes_token. The description restates the UUID format requirement, adding no additional semantic information beyond the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves entry page settings for a sweepstakes, specifying the resource and action. It distinguishes from the sibling update_entry_settings by noting it should be used before updating.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to use fetch_sweepstakes first to obtain the sweepstakes_token, and recommends using this tool before update_entry_settings. Provides clear context for when and how to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_file_urlARead-onlyIdempotentInspect
Generate a short-lived presigned S3 URL to download or preview a file from the user's Drive. The URL embeds the correct Content-Type and Content-Disposition headers, and the actual transfer happens directly between the client and S3 (no data transfer cost on this endpoint).
get_file_url
When to use
Generate a short-lived presigned S3 URL to download or preview a file from the user's Drive. The URL embeds the correct Content-Type and Content-Disposition headers, and the actual transfer happens directly between the client and S3 (no data transfer cost on this endpoint).
Parameters to validate before calling
file_token (string, required) — The file token (UUID) of the file to generate a URL for. Get via fetch_files.
mode (string, optional) — one of: preview, download — URL behavior: "preview" (inline, default) opens the file in the browser; "download" forces a file attachment download.
expires_in (number, optional) — range: 60–3600 — URL lifetime in seconds. Range: 60-3600. Default: 900 (15 minutes).
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | URL behavior: "preview" (inline, default) opens the file in the browser; "download" forces a file attachment download. | |
| expires_in | No | URL lifetime in seconds. Range: 60-3600. Default: 900 (15 minutes). | |
| file_token | Yes | The file token (UUID) of the file to generate a URL for. Get via fetch_files. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false. The description adds behavioral details: short-lived URL, embedded Content-Type/Content-Disposition headers, no data transfer cost, default expires_in of 900 seconds, and default mode of 'preview'. This provides useful context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured with a main sentence and then a redundant 'When to use' section that repeats the first sentence. The 'Parameters to validate before calling' section mirrors the schema. Some duplication could be removed for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of an output schema, the description should describe what is returned (e.g., a URL string or structured object). It mentions generating a URL but does not specify the response format or possible error conditions. The tool is simple, but the missing return information is a notable gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description repeats parameter info but adds minor value by stating 'Get via fetch_files' for file_token, which introduces a dependency. For mode and expires_in, it restates schema info without additional depth.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates a short-lived presigned S3 URL for downloading or previewing a file from the user's Drive. It uses a specific verb ('generate') and resource (presigned S3 URL), and the context distinguishes it from siblings like 'send_file' or 'upload_file'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a 'When to use' section but it merely restates the purpose. It does not explicitly contrast with alternative tools like 'send_file' or 'fetch_files', nor does it provide when-not-to-use guidance. The usage context is implied rather than explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_noteARead-onlyIdempotentInspect
Fetch a single note by its token. Use fetch_notes first to get the note_token. The note content is automatically decrypted in the response.
get_note
When to use
Fetch a single note by its token. Use fetch_notes first to get the note_token. The note content is automatically decrypted in the response.
Parameters to validate before calling
note_token (string, required) — The unique token (UUID) of the note to retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| note_token | Yes | The unique token (UUID) of the note to retrieve |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint, idempotentHint, destructiveHint), the description adds that content is automatically decrypted, which is a useful behavioral detail not in the schema or annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is somewhat repetitive, stating the same information multiple times. It could be more concise without losing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description covers purpose, prerequisite, and an extra behavioral detail (decryption). It is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description repeats the parameter information. It adds context about using fetch_notes to obtain the token, but no additional semantic details beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Fetch a single note by its token', using a specific verb and resource. It distinguishes from siblings like fetch_notes (which retrieves multiple notes) and other note manipulations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises to 'Use fetch_notes first to get the note_token', providing a clear prerequisite. No exclusion criteria are mentioned, but for a simple fetch, this is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_participantARead-onlyIdempotentInspect
Fetch full details of a single participant from a sweepstakes by token, email, or phone. At least one search parameter is required. Use fetch_sweepstakes first to get the sweepstakes_token. For listing participants, use fetch_participants instead. NEVER fabricate, invent, or hallucinate participant data under any circumstance. If no result is returned by the API, report exactly that — do not guess names, emails, or counts. Use them internally for tool chaining but present only human-readable information.
get_participant
When to use
Fetch full details of a single participant from a sweepstakes by token, email, or phone. At least one search parameter is required. Use fetch_sweepstakes first to get the sweepstakes_token. For listing participants, use fetch_participants instead. NEVER fabricate, invent, or hallucinate participant data under any circumstance. If no result is returned by the API, report exactly that — do not guess names, emails, or counts. Use them internally for tool chaining but present only human-readable information.
Pre-calls required
fetch_sweepstakes if the user gave you a sweepstakes name instead of a token
Parameters to validate before calling
sweepstakes_token (string, required) — The sweepstakes token (UUID format)
participant_token (string, optional) — The participant token (UUID format) - use this OR email OR phone
email (string, optional) — Participant email address - use this OR participant_token OR phone
phone (string, optional) — Participant phone number (10 digits) - use this OR participant_token OR email
| Name | Required | Description | Default |
|---|---|---|---|
| No | Participant email address - use this OR participant_token OR phone | ||
| phone | No | Participant phone number (10 digits) - use this OR participant_token OR email | |
| participant_token | No | The participant token (UUID format) - use this OR email OR phone | |
| sweepstakes_token | Yes | The sweepstakes token (UUID format) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds crucial caution against hallucinating data and instructs to report missing results accurately, which is valuable 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description contains repetition (first paragraph nearly identical to 'When to use' section). It is longer than necessary but well-structured with headings. It could be trimmed without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-fetch tool with annotations covering safety and idempotency, the description provides complete guidance: pre-requisite calls, parameter validation rules, behavioral guardrails against hallucination, and instructions for presenting results to users.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds the important constraint that at least one of participant_token, email, or phone must be provided, which is not explicit in the schema. It also reinforces format hints (UUID, 10 digits) already present in schema, providing marginal added value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Fetch full details'), resource ('single participant'), and scope ('by token, email, or phone'), and distinguishes from sibling 'fetch_participants' which lists multiple participants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly guides to use 'fetch_sweepstakes' first to obtain the token, and directs to 'fetch_participants' for listing. Also specifies that at least one search parameter is required, giving clear context for when to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_planARead-onlyIdempotentInspect
Get plan details for a Sweeppea subscription. Returns pricing, limits, features, and usage information.
get_plan
When to use
Get plan details for a Sweeppea subscription. Returns pricing, limits, features, and usage information.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive behavior. The description adds context about return content (pricing, limits, features, usage), which is helpful but does not reveal additional behavioral traits beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but contains redundancy: the main sentence appears twice, once in the initial description and again in the 'When to use' section. It could be more concise without repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the absence of an output schema, the description explicitly lists the types of information returned (pricing, limits, features, usage). This provides sufficient context for a simple read-only tool, though it could mention potential error scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters and schema coverage is 100% (vacuously). The description does not need to add parameter meaning, and it correctly omits any. Baseline score for no parameters is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves plan details for a Sweeppea subscription and lists what is returned. It is specific but does not differentiate from similar sibling tools like get_business or get_profile, though those target different resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving plan details but provides no explicit guidance on when to use versus alternatives or when not to use. It lacks exclusions or alternative tool references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_profileBRead-onlyIdempotentInspect
Get user profile information for a Sweeppea account. Returns user details like name, email, and account settings.
get_profile
When to use
Get user profile information for a Sweeppea account. Returns user details like name, email, and account settings.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, which cover safety and side effects. The description adds no additional behavioral context (e.g., authentication requirements, whether it returns the current user or a specific user). It largely repeats what the annotations imply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but contains repetitive content: the first sentence and the 'When to use' section say almost the same thing. It could be more concise by removing redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with no parameters and no output schema, the description covers the essential purpose and expected return fields. However, it lacks clarity on which user's profile is returned (e.g., current user) given no user identifier parameter, which is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so schema coverage is effectively 100%. The baseline for zero parameters is 4, and the description does not need to provide parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves user profile information for a Sweeppea account, listing example fields like name and email. It is specific enough to distinguish from sibling tools like get_business or get_calendar_event, though it does not explicitly differentiate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'When to use' section merely restates the basic purpose without providing guidance on when to choose this tool over alternatives or when not to use it. No exclusions or context are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ticketARead-onlyIdempotentInspect
Get full details of a support ticket by case number. Use fetch_open_tickets or fetch_closed_tickets first to find tickets, then use this tool with the case number to get complete information including notes, files, collaborators, and statistics. Present only human-readable information (case number, subject, dates, notes).
get_ticket
When to use
Get full details of a support ticket by case number. Use fetch_open_tickets or fetch_closed_tickets first to find tickets, then use this tool with the case number to get complete information including notes, files, collaborators, and statistics. Present only human-readable information (case number, subject, dates, notes).
Parameters to validate before calling
case_number (string, required) — The ticket case number (e.g., "HYXTNJV")
| Name | Required | Description | Default |
|---|---|---|---|
| case_number | Yes | The ticket case number (e.g., "HYXTNJV") |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate safe read operation (readOnlyHint, idempotentHint, destructiveHint). Description adds specific details retrieved (notes, files, collaborators, statistics). No contradictions; adds useful 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is front-loaded but contains redundant text (identical content in DESCRIPTION and markdown section). Could be more concise by removing duplicate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, description explains what is returned (notes, files, collaborators, statistics) and what to present. Adequately covers the tool's usage and outcome for a simple param tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with one required parameter. Description repeats parameter and adds an example ('HYXTNJV'), providing extra value beyond the schema description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Get full details of a support ticket by case number.' Specifies verb (get), resource (ticket), and scope (full details). Distinguishes from sibling tools like fetch_open_tickets and fetch_closed_tickets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises to use fetch_open_tickets or fetch_closed_tickets first, then this tool with the case number. Also instructs to present only human-readable information. Provides clear when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
health_checkARead-onlyIdempotentInspect
Verify connection to Sweeppea API and validate your API key. Use this to test if your credentials are working correctly.
health_check
When to use
Verify connection to Sweeppea API and validate your API key. Use this to test if your credentials are working correctly.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint, idempotentHint. Description adds 'validate your API key' behavior. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is short but redundant, repeating the same statement in the main text and under 'When to use'.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple health check tool, the description adequately conveys purpose but omits what the response looks like (e.g., success/error). Acceptable but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters, so schema coverage is 100%. Baseline 4 applies per instructions for 0 parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs 'Verify' and 'validate', clearly identifying the resource (Sweeppea API and API key). It distinguishes from siblings as the only tool for connectivity testing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use (test credentials and connectivity). Does not provide when-not or alternatives, but context is clear given sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hello_worldARead-onlyIdempotentInspect
Returns a simple Hello World greeting message
hello_world
When to use
Returns a simple Hello World greeting message in Japanese
Parameters to validate before calling
name (string, optional) — Name to include in greeting (optional)
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Name to include in greeting (optional) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, destructiveHint=false, and idempotentHint=true. The description adds the behavioral trait that the greeting is in Japanese, which is not present in annotations. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but contains redundant repetition (the 'When to use' section duplicates the main sentence). It could be more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one optional parameter and no output schema, the description adequately explains the function. It could specify the return format, but the simplicity makes it sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the description repeats the parameter info without adding new meaning. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a 'Hello World greeting message' in Japanese, using a specific verb and resource. It distinguishes itself from sibling tools, which are focused on business entities like sweepstakes and participants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'When to use' section merely restates the purpose without providing guidance on when not to use this tool or alternatives. It implies usage for simple greetings but lacks explicit context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pause_sweepstakesAIdempotentInspect
Pause a sweepstakes, setting it to inactive status while preserving all data. Use fetch_sweepstakes first to get the sweepstakes_token. Participants will not be able to enter while paused.
pause_sweepstakes
When to use
Pause a sweepstakes, setting it to inactive status while preserving all data. Use fetch_sweepstakes first to get the sweepstakes_token. Participants will not be able to enter while paused.
Pre-calls required
fetch_sweepstakes if the user gave you a sweepstakes name instead of a token
Parameters to validate before calling
sweepstakes_token (string, required) — The unique identifier (token) of the sweepstakes to pause
| Name | Required | Description | Default |
|---|---|---|---|
| sweepstakes_token | Yes | The unique identifier (token) of the sweepstakes to pause |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that data is preserved, participants cannot enter while paused. Aligns with annotations (destructiveHint=false, readOnlyHint=false). No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with headings and sections, but description is duplicated (once in 'DESCRIPTION' and again in markdown). Could be more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers prerequisite and effect. Could mention reversibility via 'unpause_sweepstakes'. No output schema needed. Adequate for a simple pause operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage 100%, baseline 3. Description adds context about obtaining token from fetch_sweepstakes, but no additional parameter meaning beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb 'pause' and resource 'sweepstakes', specifies setting to inactive while preserving data. Distinguishes from siblings like 'unpause_sweepstakes' and 'delete_sweepstakes'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states prerequisite: 'Use fetch_sweepstakes first to get the sweepstakes_token.' Provides clear when-to-use context and pre-call requirements.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_ticketAIdempotentInspect
Close/resolve an open support ticket. Use fetch_open_tickets first to get the case_id.
resolve_ticket
When to use
Close/resolve an open support ticket. Use fetch_open_tickets first to get the case_id.
Parameters to validate before calling
case_id (string, required) — The case number of the ticket to close (e.g., "ABC1234")
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | The case number of the ticket to close (e.g., "ABC1234") |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate mutation (readOnlyHint false) and idempotency (idempotentHint true). Description adds context about needing open ticket but no details on side effects, permissions, or error cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise, front-loaded with key info, and structured with markdown sections. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers prerequisite and parameter meaning well. Lacks mention of return value or confirmation, but given no output schema, the description is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and description repeats the parameter info. No additional meaning beyond the schema is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the action (close/resolve) and resource (open support ticket), distinguishing it from siblings like create_ticket, update_ticket, delete_ticket.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises to use fetch_open_tickets first to obtain case_id, providing clear prerequisite. Lacks explicit when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
schedule_drawingAInspect
Schedule a future winner drawing for a sweepstakes. Use fetch_sweepstakes first to get the sweepstakes_token, and fetch_groups for group tokens. CRITICAL: This is a production operation. ALWAYS confirm with the user before scheduling. Requires at least one eligible participant. Winner count cannot exceed available participants. Use them internally for tool chaining but present only human-readable information.
schedule_drawing
When to use
Schedule a future winner drawing for a sweepstakes. Use fetch_sweepstakes first to get the sweepstakes_token, and fetch_groups for group tokens. CRITICAL: This is a production operation. ALWAYS confirm with the user before scheduling. Requires at least one eligible participant. Winner count cannot exceed available participants. Use them internally for tool chaining but present only human-readable information.
Pre-calls required
fetch_sweepstakes if the user gave you a sweepstakes name instead of a token
fetch_rules — Official Rules must exist
Verify the scheduled date is in the future and matches what is stated in the Rules
Parameters to validate before calling
sweepstakes_token (string, required) — The sweepstakes token (UUID format)
group (string, required) — Group token or "allgroups" for all participants
selected_action (number, required) — one of: 1, 2 — Action: 1 = Draw Winners only, 2 = Draw Winners & Notify
schedule_mode (string, required) — one of: schedule, settime — Mode: "schedule" for specific date/time, "settime" for time period
how_many_winners (number, required) — Number of winners to pick (must be >= 1)
end_date (string, required) — Drawing date or period end date (YYYY-MM-DD)
end_time (string, required) — Time in HH:mm format (24-hour)
timezone (number, required) — Timezone ID (use fetch_timezones to get valid IDs, default: 7 = Eastern)
frequency (number, optional) — one of: 0, 1, 2, 3, 4 — Frequency: 0=None, 1=Hourly, 2=Daily, 3=Weekly, 4=Monthly (default: 0)
day_of_the_week (number, optional) — Day of week: 1=Sunday through 7=Saturday (for weekly/monthly frequency)
week_of_the_month (number, optional) — Week of month: 1-4 (for monthly frequency)
delivery_time (string, optional) — Delivery time for settime mode (HH:mm)
message (string, optional) — Winner notification message (used when selected_action = 2)
include_opted_out (boolean, optional) — Include opted-out participants (default: false)
publish_to_winners_page (boolean, optional) — Publish winners to public winners page (default: false)
send_copy_to_me (boolean, optional) — Email notification to account owner (default: false)
exclude_spam (boolean, optional) — Exclude spam-flagged participants (default: true)
add_to_calendar (boolean, optional) — Add drawing to calendar (default: false)
| Name | Required | Description | Default |
|---|---|---|---|
| group | Yes | Group token or "allgroups" for all participants | |
| message | No | Winner notification message (used when selected_action = 2) | |
| end_date | Yes | Drawing date or period end date (YYYY-MM-DD) | |
| end_time | Yes | Time in HH:mm format (24-hour) | |
| timezone | Yes | Timezone ID (use fetch_timezones to get valid IDs, default: 7 = Eastern) | |
| frequency | No | Frequency: 0=None, 1=Hourly, 2=Daily, 3=Weekly, 4=Monthly (default: 0) | |
| exclude_spam | No | Exclude spam-flagged participants (default: true) | |
| delivery_time | No | Delivery time for settime mode (HH:mm) | |
| schedule_mode | Yes | Mode: "schedule" for specific date/time, "settime" for time period | |
| add_to_calendar | No | Add drawing to calendar (default: false) | |
| day_of_the_week | No | Day of week: 1=Sunday through 7=Saturday (for weekly/monthly frequency) | |
| selected_action | Yes | Action: 1 = Draw Winners only, 2 = Draw Winners & Notify | |
| send_copy_to_me | No | Email notification to account owner (default: false) | |
| how_many_winners | Yes | Number of winners to pick (must be >= 1) | |
| include_opted_out | No | Include opted-out participants (default: false) | |
| sweepstakes_token | Yes | The sweepstakes token (UUID format) | |
| week_of_the_month | No | Week of month: 1-4 (for monthly frequency) | |
| publish_to_winners_page | No | Publish winners to public winners page (default: false) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide limited info (readOnlyHint=false, destructiveHint=false). The description adds critical behavioral context: it is a production operation, requires at least one eligible participant, winner count constraints, and need for user confirmation. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with sections but somewhat repetitive (the first paragraph is largely duplicated in the markdown section). At 800+ words, it could be more concise. However, the organization with headers aids readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (18 parameters, 8 required, no output schema), the description covers pre-calls, parameter validation, behavioral notes, and prerequisites. It is fairly complete, though it could mention return values or error handling explicitly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, baseline 3. The description adds extra context such as 'use fetch_timezones to get valid IDs' for timezone parameter, and validation rules like 'Winner count cannot exceed available participants.' It also lists defaults and behavior for optional parameters, providing added value beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Schedule a future winner drawing for a sweepstakes.' It uses specific verbs and resources, and distinguishes itself from siblings like 'draw_winners' by focusing on future scheduling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance: 'Use fetch_sweepstakes first to get the sweepstakes_token, and fetch_groups for group tokens.' It also includes a 'Pre-calls required' section and emphasizes confirming with the user before scheduling. Lacks explicit mention of alternative tools (e.g., draw_winners) but overall strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_fileAInspect
Send a file from the user's Drive as an email attachment. Max attachment size: 5 MB. Files larger than 5 MB are rejected. The email is sent using the Sweeppea email template. Each transmission is recorded in the file's sharing history. PRIVACY: The recipient email must be provided by the user — never assume or fabricate email addresses.
send_file
When to use
Send a file from the user's Drive as an email attachment. Max attachment size: 5 MB. Files larger than 5 MB are rejected. The email is sent using the Sweeppea email template. Each transmission is recorded in the file's sharing history. PRIVACY: The recipient email must be provided by the user — never assume or fabricate email addresses.
Parameters to validate before calling
file_token (string, required) — The file token (UUID) of the file to send. Get via fetch_files.
recipient_email (string, required) — Destination email address
email_subject (string, optional) — Custom email subject line. Default: "File shared from Sweeppea".
email_message (string, optional) — Additional message text for the email body.
| Name | Required | Description | Default |
|---|---|---|---|
| file_token | Yes | The file token (UUID) of the file to send. Get via fetch_files. | |
| email_message | No | Additional message text for the email body. | |
| email_subject | No | Custom email subject line. Default: "File shared from Sweeppea". | |
| recipient_email | Yes | Destination email address |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds important behavioral traits beyond annotations: max attachment size, Sweeppea email template, sharing history recording, and privacy note. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description contains redundant text (first paragraph repeated verbatim in 'When to use' section), making it longer than necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with 4 parameters and no output schema, the description covers purpose, constraints, and privacy concerns, leaving only minor gaps like success response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents parameters. The description's 'Parameters to validate' section adds minimal new information besides a privacy reminder for recipient_email.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Send a file) and resource (the user's Drive as an email attachment), and distinguishes from siblings like upload_file and fetch_files.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a privacy guideline about recipient email but does not explicitly state when to use this tool versus alternatives like direct sharing or other communication methods.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unpause_sweepstakesAIdempotentInspect
Reactivate a paused sweepstakes, allowing participants to enter again. Use fetch_sweepstakes first to get the sweepstakes_token.
unpause_sweepstakes
When to use
Reactivate a paused sweepstakes, allowing participants to enter again. Use fetch_sweepstakes first to get the sweepstakes_token.
Pre-calls required
fetch_sweepstakes if the user gave you a sweepstakes name instead of a token
Parameters to validate before calling
sweepstakes_token (string, required) — The unique identifier (token) of the sweepstakes to unpause
| Name | Required | Description | Default |
|---|---|---|---|
| sweepstakes_token | Yes | The unique identifier (token) of the sweepstakes to unpause |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=false. Description adds that it allows participants to enter again, but does not disclose other traits like permissions or side effects. Adequate but minimal addition.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description repeats the same action (reactivate) multiple times across the heading and main text. Structured with sections but could be more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 1-parameter tool with no output schema and rich annotations, the description covers purpose, prerequisites, and parameter source completely. No gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers the single parameter fully (100%). Description adds value by advising to use fetch_sweepstakes to obtain the token, providing operational context beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states verb 'Reactivate' and resource 'paused sweepstakes', distinguishing it from sibling tools like pause_sweepstakes. Includes prerequisite fetch_sweepstakes for token retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use (reactivate paused sweepstakes) and pre-call requirement (fetch_sweepstakes). Does not list when-not-to-use or alternatives, but context is sufficient for typical use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_bonus_entriesAIdempotentInspect
Update the bonus entries value for a participant in a sweepstakes. This overwrites the current value. Use get_participant first to check current bonus entries.
update_bonus_entries
When to use
Update the bonus entries value for a participant in a sweepstakes. This overwrites the current value. Use get_participant first to check current bonus entries.
Pre-calls required
fetch_sweepstakes if the user gave you a sweepstakes name instead of a token
Parameters to validate before calling
sweepstakes_token (string, required) — The sweepstakes token (UUID format)
participant_token (string, required) — The participant token (UUID format)
bonus_entries (integer, required) — range: 0–1000000 — New bonus entries value (0-1000000). This overwrites the current value.
| Name | Required | Description | Default |
|---|---|---|---|
| bonus_entries | Yes | New bonus entries value (0-1000000). This overwrites the current value. | |
| participant_token | Yes | The participant token (UUID format) | |
| sweepstakes_token | Yes | The sweepstakes token (UUID format) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description adds 'This overwrites the current value' which clarifies the mutation behavior beyond annotations. Annotations already indicate idempotent and non-destructive, so description adds useful context 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Structured with headings and front-loaded purpose. Some redundancy (first line and 'When to use' section say the same thing), but overall clear and not overly verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given simple tool with well-covered schema and annotations, description is complete: explains what it does, overwriting behavior, and necessary pre-checks. No output schema needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% coverage, so baseline is 3. Description repeats schema info but does not add new meaning beyond what's already in the parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it updates the bonus entries value for a participant in a sweepstakes, with overwriting behavior. Distinguishes itself from siblings by specifying the action and resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly recommends using get_participant first to check current value, and provides pre-call for sweepstakes name resolution. This helps agent decide when and how to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_calendar_eventAIdempotentInspect
Update an existing calendar event. Use fetch_calendar_events first to get the event_token. Supports partial updates - only provide fields you want to change. Note: Cannot update events to past dates.
update_calendar_event
When to use
Update an existing calendar event. Use fetch_calendar_events first to get the event_token. Supports partial updates - only provide fields you want to change. Note: Cannot update events to past dates.
Parameters to validate before calling
event_token (string, required) — The event token to update (UUID format, required)
title (string, optional) — New event title (optional)
start_date (string, optional) — New start date in ISO 8601 format (optional)
end_date (string, optional) — New end date in ISO 8601 format (optional)
description (string, optional) — New event description (optional)
location (string, optional) — New event location (optional)
start_time (string, optional) — New start time in HH:MM format (optional)
end_time (string, optional) — New end time in HH:MM format (optional)
color (string, optional) — New event color in hex format (optional)
all_day (boolean, optional) — Whether this is an all-day event (optional)
status (string, optional) — New event status (optional)
private_event (boolean, optional) — Whether this is a private event (optional)
sms_notification (boolean, optional) — Enable SMS notifications (optional)
completed (boolean, optional) — Mark event as completed (optional)
latitude (number, optional) — New location latitude coordinate (optional)
longitude (number, optional) — New location longitude coordinate (optional)
event_url (string, optional) — New URL associated with the event (optional)
people_involved (string, optional) — New people involved in the event (optional)
repeat_this_event (string, optional) — New repeat configuration (optional)
notification (string, optional) — New notification settings (optional)
Notes
Cannot move events to past dates (UTC). Use tomorrow or later
| Name | Required | Description | Default |
|---|---|---|---|
| color | No | New event color in hex format (optional) | |
| title | No | New event title (optional) | |
| status | No | New event status (optional) | |
| all_day | No | Whether this is an all-day event (optional) | |
| end_date | No | New end date in ISO 8601 format (optional) | |
| end_time | No | New end time in HH:MM format (optional) | |
| latitude | No | New location latitude coordinate (optional) | |
| location | No | New event location (optional) | |
| completed | No | Mark event as completed (optional) | |
| event_url | No | New URL associated with the event (optional) | |
| longitude | No | New location longitude coordinate (optional) | |
| start_date | No | New start date in ISO 8601 format (optional) | |
| start_time | No | New start time in HH:MM format (optional) | |
| description | No | New event description (optional) | |
| event_token | Yes | The event token to update (UUID format, required) | |
| notification | No | New notification settings (optional) | |
| private_event | No | Whether this is a private event (optional) | |
| people_involved | No | New people involved in the event (optional) | |
| sms_notification | No | Enable SMS notifications (optional) | |
| repeat_this_event | No | New repeat configuration (optional) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate idempotentHint=true, openWorldHint=true, and destructiveHint=false. The description adds the past-date constraint but does not disclose whether updates trigger side effects (e.g., notifications) or the result format. Given openWorldHint, more transparency would be beneficial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with headings and front-loaded purpose, but it is verbose—especially the parameter list which duplicates the schema. The notes section repeats earlier information. Could be more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 20 parameters and no output schema, the description covers the key update behavior and constraints but does not explain what the tool returns (e.g., updated event object) or other potential side effects. Adequate but leaves gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all parameters. The description repeats the parameter list without adding new semantic information beyond the schema. The partial update note is the only added value, but it's not parameter-specific.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool updates an existing calendar event, specifies partial update capability, and includes a key constraint (cannot update to past dates). It distinguishes itself from create/delete sibling tools by requiring an event token and mentioning fetch_calendar_events as a prerequisite.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to use fetch_calendar_events first to obtain the event_token, which is a clear prerequisite. It also states supports partial updates and the past-date limitation, providing clear context for when and how to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_entry_settingsAIdempotentInspect
Update entry page settings (1-5 fields per request). Call get_entry_settings first to see all available field names and current values. COMPLIANCE FIELDS: TermsConditionsSwitch, TermsConditionsMessage, SelectedOfficialRules, ActivateAgeGateSwitch, AgeGateHeadline, AgeGateDescription, AgeGateMinAge, ActivateAmoeSwitch, AmoeHeadline, AmoeDescription, AmoeEntries, EnableInternationalAMOEForm, GeoLocation, GeoLocationIsRequiredToRenderPage, AllowParticipantsWithinFences. DISPLAY FIELDS: EntryPageHeadline, EntryPageDescription, EntryPageWidth, EntryPageWidthMeasure ("%" or "px"), EntryPageBorder, EntryPageRadius, BonusEntriesSwitch, EmailOptInSwitch, SMSTextOptInSwitch. For social follows, bonus entries per platform, sponsor profiles, and other fields: call get_entry_settings to discover names. COLOR FORMAT: EntryPageColor fields use {"hexa":"#RRGGBB"}. AgeGateColor fields use {"hex":"#RRGGBB"}. All field names are PascalCase. If more than 5 fields need updating, split into multiple requests. NOTE: ReCaptcha is read-only — not writable via this endpoint.
update_entry_settings
When to use
Update entry page settings (1-5 fields per request). Call get_entry_settings first to see all available field names and current values. COMPLIANCE FIELDS: TermsConditionsSwitch, TermsConditionsMessage, SelectedOfficialRules, ActivateAgeGateSwitch, AgeGateHeadline, AgeGateDescription, AgeGateMinAge, ActivateAmoeSwitch, AmoeHeadline, AmoeDescription, AmoeEntries, EnableInternationalAMOEForm, GeoLocation, GeoLocationIsRequiredToRenderPage, AllowParticipantsWithinFences. DISPLAY FIELDS: EntryPageHeadline, EntryPageDescription, EntryPageWidth, EntryPageWidthMeasure ("%" or "px"), EntryPageBorder, EntryPageRadius, BonusEntriesSwitch, EmailOptInSwitch, SMSTextOptInSwitch. For social follows, bonus entries per platform, sponsor profiles, and other fields: call get_entry_settings to discover names. COLOR FORMAT: EntryPageColor fields use {"hexa":"#RRGGBB"}. AgeGateColor fields use {"hex":"#RRGGBB"}. All field names are PascalCase. If more than 5 fields need updating, split into multiple requests. NOTE: ReCaptcha is read-only — not writable via this endpoint.
Pre-calls required
fetch_sweepstakes if the user gave you a sweepstakes name instead of a token
Parameters to validate before calling
sweepstakes_token (string, required) — The sweepstakes token (UUID format)
settings (object, required) — Object with 1 to 5 settings fields to update. Field names must be PascalCase as listed in the tool description. Example: { "EntryPageHeadline": "Win Big!", "BonusEntriesSwitch": true }
Notes
Maximum 5 fields per request — split larger updates into multiple calls
Top-level fields are PascalCase (e.g. TermsConditionsSwitch, ActivateAmoeSwitch)
Color fields use {"hexa": "#RRGGBB"} format
TermsConditionsSwitch MUST be true for legal compliance
Age Gate is exclusively for 21+ promotions (alcohol, cannabis) — never enable for 13/18
| Name | Required | Description | Default |
|---|---|---|---|
| settings | Yes | Object with 1 to 5 settings fields to update. Field names must be PascalCase as listed in the tool description. Example: { "EntryPageHeadline": "Win Big!", "BonusEntriesSwitch": true } | |
| sweepstakes_token | Yes | The sweepstakes token (UUID format) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false and destructiveHint=false; description reinforces that it updates settings. It adds behavioral context: max 5 fields, color format details, PascalCase field names, compliance notes, and that ReCaptcha is not writable. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is unnecessarily redundant: the first paragraph is repeated almost verbatim in the '## update_entry_settings' section. While well-structured with sections, the duplication hurts conciseness. Could be shortened without loss.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (nested object, many fields), the description is thorough: covers field categories, color formats, legal requirements, and constraints. Lacks return value description, but for an update tool, that's a minor gap. No output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but description significantly enriches meaning: lists compliance and display field names, color formats, cardinality (1-5 fields), and includes an example. This goes beyond the schema description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it updates entry page settings, lists field categories, and distinguishes from get_entry_settings. The verb 'Update' and resource 'entry page settings' are specific, and it differentiates from sibling tools like get_entry_settings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use (update settings), pre-call requirement (fetch_sweepstakes if needed), cardinality constraint (1-5 fields), and excludes ReCaptcha as read-only. It also instructs to call get_entry_settings first to discover field names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_groupAIdempotentInspect
Update the name of an existing group within a sweepstakes. Use fetch_sweepstakes first to get the sweepstakes_token, then fetch_groups to get the group_token.
update_group
When to use
Update the name of an existing group within a sweepstakes. Use fetch_sweepstakes first to get the sweepstakes_token, then fetch_groups to get the group_token.
Pre-calls required
fetch_sweepstakes if the user gave you a sweepstakes name instead of a token
Parameters to validate before calling
sweepstakes_token (string, required) — The sweepstakes token (UUID format)
group_token (string, required) — The group token to update (UUID format)
group_name (string, required) — The new name for the group (must be unique within the sweepstakes)
| Name | Required | Description | Default |
|---|---|---|---|
| group_name | Yes | The new name for the group (must be unique within the sweepstakes) | |
| group_token | Yes | The group token to update (UUID format) | |
| sweepstakes_token | Yes | The sweepstakes token (UUID format) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint=false, destructiveHint=false, idempotentHint=true, and description adds that group_name must be unique within the sweepstakes. No contradictions. Description adds value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with sections, but redundant: first line repeats the 'When to use' content, and pre-calls mention is duplicated. Could be more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers prerequisite calls and uniqueness constraint. For a simple update tool with no output schema, it provides sufficient context. Lacks error handling information but adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description does not add extra meaning beyond that. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Update the name of an existing group within a sweepstakes.' Verb (update), resource (group), and scope (within sweepstakes) are explicit. Distinguishes from sibling tools like create_group and delete_group.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Includes 'When to use' and 'Pre-calls required' sections, explicitly stating to call fetch_sweepstakes then fetch_groups first. Provides conditional guidance for sweepstakes name vs token. Clear and comprehensive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_noteAIdempotentInspect
Update an existing note. Use fetch_notes first to get the note_token. Supports partial updates. HTML tags: h1-h6, p, a, br, strong, i, ul, ol, li. No scripts/iframes. Do NOT use between sections.
update_note
When to use
Update an existing note. Use fetch_notes first to get the note_token. Supports partial updates. HTML tags: h1-h6, p, a, br, strong, i, ul, ol, li. No scripts/iframes. Do NOT use between sections.
Parameters to validate before calling
note_token (string, required) — The note token to update (UUID format)
title (string, optional) — New title (max 100 characters, must be unique)
content (string, optional) — New content (max 100,000 characters, will be encrypted). Allowed HTML: -, , , , , , , , . No scripts, iframes, or executable code.
pinned (boolean, optional) — Pin or unpin the note
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | New title (max 100 characters, must be unique) | |
| pinned | No | Pin or unpin the note | |
| content | No | New content (max 100,000 characters, will be encrypted). Allowed HTML: <h1>-<h6>, <p>, <a>, <br>, <strong>, <i>, <ul>, <ol>, <li>. No scripts, iframes, or executable code. | |
| note_token | Yes | The note token to update (UUID format) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses partial update support, HTML tag restrictions, and prohibition of certain usage patterns like <br> between sections. Annotations (readOnlyHint=false, idempotentHint=true) are consistent, but description adds valuable behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description has redundancy: the initial paragraph is repeated in the markdown section. The markdown structure is clear, but could be more concise without duplication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, prerequisites, partial updates, HTML restrictions, and length limits for title and content. With no output schema, it sufficiently describes what the tool does, though it lacks error scenarios (e.g., duplicate title).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema covers all parameters with detailed descriptions (100% coverage). Description repeats schema info without significant added meaning; the only added context is the prohibition of <br> which is more behavioral than parameter-specific.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Update an existing note' and distinguishes it from siblings like create_note, delete_note, fetch_notes. Adds specifics: partial updates, allowed HTML tags.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states prerequisite: use fetch_notes to get note_token. Implies appropriate use for updating notes. Does not include explicit when-not-to-use or alternatives, 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.
update_ruleAIdempotentInspect
Update an existing official rules document. Use fetch_rules first to get the rules_token. UPDATABLE FIELDS: Only these fields can be modified: title, document_content, abbreviated_rules_shopify. NOT UPDATABLE: sweepstakes association, primary status, creation date, and any other field NOT listed above cannot be changed after creation. Do NOT tell the user they can update fields that are not supported by this endpoint. If they ask to change something not updatable, explain it cannot be modified after creation.
update_rule
When to use
Update an existing official rules document. Use fetch_rules first to get the rules_token. UPDATABLE FIELDS: Only these fields can be modified: title, document_content, abbreviated_rules_shopify. NOT UPDATABLE: sweepstakes association, primary status, creation date, and any other field NOT listed above cannot be changed after creation. Do NOT tell the user they can update fields that are not supported by this endpoint. If they ask to change something not updatable, explain it cannot be modified after creation.
Pre-calls required
fetch_sweepstakes if the user gave you a sweepstakes name instead of a token
Parameters to validate before calling
sweepstakes_token (string, required) — The sweepstakes token (UUID format)
rules_token (string, required) — The rules token to update (UUID format)
title (string, optional) — New title for the rules document (max 100 characters)
document_content (string, optional) — New HTML content for the rules (max 1,000,000 characters)
abbreviated_rules_shopify (string, optional) — Abbreviated rules for Shopify integration (max 1,000,000 characters)
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | New title for the rules document (max 100 characters) | |
| rules_token | Yes | The rules token to update (UUID format) | |
| document_content | No | New HTML content for the rules (max 1,000,000 characters) | |
| sweepstakes_token | Yes | The sweepstakes token (UUID format) | |
| abbreviated_rules_shopify | No | Abbreviated rules for Shopify integration (max 1,000,000 characters) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false, destructiveHint=false, openWorldHint=true. Description adds important context beyond annotations: lists updatable fields explicitly, notes non-updatable fields, and clarifies that pre-calls are needed. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is verbose and largely repeats the same information in two sections (first paragraph and markdown). Could be condensed without losing key content. Structure is clear with headers but has redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, description omits return value or response structure. However, it thoroughly covers preconditions, updatable fields, and limitations. Fairly complete for an update tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are already documented. Description adds context that rules_token must be obtained from fetch_rules and reiterates max lengths. Does not add substantial new meaning beyond schema, but provides useful pre-call guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Update an existing official rules document,' with a clear verb and resource. It distinguishes from siblings like create_rule and delete_rule by specifying it is for updating only, and lists updatable fields.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit pre-call requirement (fetch_rules for rules_token) and alternative for sweepstakes name (fetch_sweepstakes). Tells when not to use (for non-updatable fields) and instructs not to mislead users about updatable fields.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_sweepstakesAIdempotentInspect
Update an existing sweepstakes. Use fetch_sweepstakes first to get the sweepstakes_token. UPDATABLE FIELDS: Only these fields can be modified: sweepstakes_name, start_date, end_date, start_time, end_time. NOT UPDATABLE: handler, sweepstakes_type, calendar settings, sync options, and any other field NOT listed above cannot be changed after creation. Do NOT tell the user they can update fields that are not supported by this endpoint. If they ask to change something not updatable, explain it cannot be modified after creation.
update_sweepstakes
When to use
Update an existing sweepstakes. Use fetch_sweepstakes first to get the sweepstakes_token. UPDATABLE FIELDS: Only these fields can be modified: sweepstakes_name, start_date, end_date, start_time, end_time. NOT UPDATABLE: handler, sweepstakes_type, calendar settings, sync options, and any other field NOT listed above cannot be changed after creation. Do NOT tell the user they can update fields that are not supported by this endpoint. If they ask to change something not updatable, explain it cannot be modified after creation.
Pre-calls required
fetch_sweepstakes if the user gave you a sweepstakes name instead of a token
Parameters to validate before calling
sweepstakes_token (string, required) — The unique token (UUID) of the sweepstakes to update
sweepstakes_name (string, optional) — New name for the sweepstakes (max 200 characters)
start_date (string, optional) — New start date in YYYY-MM-DD format (must be today or future)
end_date (string, optional) — New end date in YYYY-MM-DD format (cannot precede start_date)
start_time (string, optional) — New start time in HH:MM format 24-hour
end_time (string, optional) — New end time in HH:MM format 24-hour
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | No | New end date in YYYY-MM-DD format (cannot precede start_date) | |
| end_time | No | New end time in HH:MM format 24-hour | |
| start_date | No | New start date in YYYY-MM-DD format (must be today or future) | |
| start_time | No | New start time in HH:MM format 24-hour | |
| sweepstakes_name | No | New name for the sweepstakes (max 200 characters) | |
| sweepstakes_token | Yes | The unique token (UUID) of the sweepstakes to update |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is an idempotent, non-destructive update. The description adds value by delineating updatable vs. non-updatable fields and instructing not to mislead users about unsupported changes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is somewhat verbose and repeats information between the initial paragraph and the detailed markdown section. Could be more concise, but front-loads key points.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 6 params and no output schema, the description covers prerequisites, validation rules, updatable fields, and user guidance thoroughly, making it highly complete for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description adds grouping into updatable fields, validation rules, and character limits, providing extra context beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Update an existing sweepstakes' and lists the updatable fields, distinguishing it from sibling tools like create_sweepstakes and delete_sweepstakes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to use fetch_sweepstakes first to obtain the token, provides pre-calls required, and clearly states which fields are updatable vs. not, with guidance on how to handle user requests for non-updatable fields.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_ticketAIdempotentInspect
Update an open support ticket. Use fetch_open_tickets first to get the case_id. Only open tickets can be updated. FORMAT: Only these HTML tags are allowed in description: , , , , . NEVER insert scripts, iframes, event handlers (onclick, onerror, etc.), style tags, or any executable code. SPACING: Do NOT use — it creates ugly blank blocks in the UI. Use for line breaks within text only.
update_ticket
When to use
Update an open support ticket. Use fetch_open_tickets first to get the case_id. Only open tickets can be updated. FORMAT: Only these HTML tags are allowed in description: , , , , . NEVER insert scripts, iframes, event handlers (onclick, onerror, etc.), style tags, or any executable code. SPACING: Do NOT use — it creates ugly blank blocks in the UI. Use for line breaks within text only.
Parameters to validate before calling
case_id (string, required) — The case number of the ticket to update
title (string, optional) — New ticket subject (max 200 characters)
description (string, optional) — New ticket description (max 20,000 characters). Allowed HTML: , , , , . No scripts, iframes, or executable code.
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | New ticket subject (max 200 characters) | |
| case_id | Yes | The case number of the ticket to update | |
| description | No | New ticket description (max 20,000 characters). Allowed HTML: <b>, <strong>, <i>, <hr>, <br>. No scripts, iframes, or executable code. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate it is a write, non-destructive, and idempotent operation. The description adds valuable constraints: only open tickets can be updated, and the description parameter has specific formatting rules. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and contains repetitive information (e.g., the same text appears twice). The formatting instructions for the description parameter are overemphasized and could be shortened. The structure is not efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the verbosity, the description covers the tool's purpose, prerequisites, and constraints (open tickets only, formatting rules). With no output schema, it adequately informs the agent how to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds no new parameter information beyond what is already in the schema. The description repeats parameter details but does not enhance understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it updates an open support ticket, using the verb 'Update' and resource 'open support ticket'. It distinguishes from sibling tools like create_ticket, delete_ticket, and resolve_ticket by specifying the action and target.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance to use fetch_open_tickets first to obtain the case_id, and states that only open tickets can be updated. While it doesn't explicitly say when not to use it, the constraints are clear enough for an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_todoAIdempotentInspect
Update an existing To-Do item. Supports partial updates — only provide the fields you want to change. ADMIN ONLY: This tool requires admin privileges. Non-admin users will receive a 403 Forbidden error from the API. FORMAT: Only these HTML tags are allowed in description: , , , , . NEVER insert scripts, iframes, event handlers (onclick, onerror, etc.), style tags, or any executable code. SPACING: Do NOT use — it creates ugly blank blocks in the UI. Use for line breaks within text only.
update_todo
When to use
Update an existing To-Do item. Supports partial updates — only provide the fields you want to change. ADMIN ONLY: This tool requires admin privileges. Non-admin users will receive a 403 Forbidden error from the API. FORMAT: Only these HTML tags are allowed in description: , , , , . NEVER insert scripts, iframes, event handlers (onclick, onerror, etc.), style tags, or any executable code. SPACING: Do NOT use — it creates ugly blank blocks in the UI. Use for line breaks within text only.
Parameters to validate before calling
todo_token (string, required) — The To-Do token to update (UUID format).
title (string, optional) — New title (max 200 characters).
description (string, optional) — New description (max 20,000 characters). Allowed HTML: , , , , .
priority (number, optional) — one of: 1, 2, 3 — Priority level: 1 = Low, 2 = Medium, 3 = High.
resource_affected (string, optional) — Resource affected (e.g. "renaissance", "api", "aws", "general").
pin (boolean, optional) — Pin this To-Do to the top.
deadline (string, optional) — Deadline date in ISO 8601 format. Send empty string to clear.
status (boolean, optional) — false = Pending, true = Completed.
completion (number, optional) — range: 0–100 — Completion percentage (0-100).
| Name | Required | Description | Default |
|---|---|---|---|
| pin | No | Pin this To-Do to the top. | |
| title | No | New title (max 200 characters). | |
| status | No | false = Pending, true = Completed. | |
| deadline | No | Deadline date in ISO 8601 format. Send empty string to clear. | |
| priority | No | Priority level: 1 = Low, 2 = Medium, 3 = High. | |
| completion | No | Completion percentage (0-100). | |
| todo_token | Yes | The To-Do token to update (UUID format). | |
| description | No | New description (max 20,000 characters). Allowed HTML: <b>, <strong>, <i>, <hr>, <br>. | |
| resource_affected | No | Resource affected (e.g. "renaissance", "api", "aws", "general"). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds the ADMIN ONLY requirement, which is not present in annotations. It also confirms idempotent and partial update behavior. However, it also includes irrelevant formatting instructions that are noise.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is overly long and contains duplicated content (the same text appears twice). It includes formatting rules (FORMAT, SPACING) that are irrelevant for the AI agent. Lack of conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 9 parameters and no output schema, the description covers partial updates and admin restrictions, but omits what the tool returns (e.g., updated todo object). The agent might need to infer response format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description repeats parameter descriptions from the schema with no new semantics. It adds a 'Parameters to validate' section but no extra meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Update an existing To-Do item. Supports partial updates.' This distinguishes it clearly from sibling tools like create_todo and delete_todo. The verb 'update' and resource 'To-Do item' are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states 'ADMIN ONLY' and that non-admin users receive a 403 error, providing clear when-not-to-use guidance. It mentions partial updates, but does not compare to other update tools like update_note.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upload_fileAInspect
Upload a file to the user's Drive. The file must be base64-encoded. Max file size: 10 MB. Allowed types: PDF, DOC, DOCX, XLS, XLSX, PPT, PPTX, TXT, CSV, JPG, JPEG, PNG, GIF, WEBP, SVG, BMP. Filenames are sanitized (spaces to underscores, special characters removed).
upload_file
When to use
Upload a file to the user's Drive. The file must be base64-encoded. Max file size: 10 MB. Allowed types: PDF, DOC, DOCX, XLS, XLSX, PPT, PPTX, TXT, CSV, JPG, JPEG, PNG, GIF, WEBP, SVG, BMP. Filenames are sanitized (spaces to underscores, special characters removed).
Parameters to validate before calling
filename (string, required) — Original filename with extension (e.g., "report.pdf", "logo.png")
mime_type (string, required) — MIME type of the file (e.g., "application/pdf", "image/png", "text/csv")
file_data (string, required) — Base64-encoded file content
private (boolean, optional) — Privacy flag. Default: true (file is private to the user).
| Name | Required | Description | Default |
|---|---|---|---|
| private | No | Privacy flag. Default: true (file is private to the user). | |
| filename | Yes | Original filename with extension (e.g., "report.pdf", "logo.png") | |
| file_data | Yes | Base64-encoded file content | |
| mime_type | Yes | MIME type of the file (e.g., "application/pdf", "image/png", "text/csv") |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant behavioral context beyond annotations: filename sanitization, max file size, allowed types, and base64 requirement. Annotations only indicate readOnlyHint=false and destructiveHint=false, so the description fills in mutation details 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with headings and a list of parameters. However, the first two paragraphs are nearly identical, introducing slight redundancy. Overall it is concise but could be trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While constraints are well-covered, the description does not mention return values (e.g., file ID or URL) or error handling. Since there is no output schema, this gap affects completeness for an agent needing to use the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds extra context like allowed file types list and max file size, which are not in the schema, and reinforces base64 encoding. This provides meaningful addition beyond parameter names and descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Upload a file to the user's Drive,' specifying the action, resource, and key constraints like base64 encoding, max size, and allowed types. It distinguishes this from other operations like send_file or delete_file.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes an explicit 'When to use' section and lists constraints (file types, size, base64 encoding). However, it does not mention when not to use or provide explicit alternatives to sibling tools, though the purpose is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!