Skip to main content
Glama

Server Quality Checklist

75%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.5.2

  • Disambiguation5/5

    Each tool has a clearly distinct purpose with detailed descriptions. Tools like cancel_event, release_event, and confirm_event have no ambiguity; similarly, find_meeting_time and get_availability serve different scopes.

    Naming Consistency5/5

    All tools follow a verb_noun pattern in snake_case (e.g., create_event, list_agents, get_availability). There are no deviations like camelCase or mixed styles, making the naming highly predictable.

    Tool Count2/5

    With 50 tools, the server is heavily loaded. While the domain is complex, this exceeds the typical well-scoped range of 3-15 and even the borderline 16-25, making it too many for an MCP server.

    Completeness5/5

    The tool set covers full lifecycle management for agents, calendars, events, proposals, webhooks, iCal subscriptions, and availability. Additional utilities like find_meeting_time and get_audit_log provide extra depth with no obvious gaps.

  • Average 4.2/5 across 41 of 50 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 13 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under Apache 2.0.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • This repository includes a glama.json configuration file.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior4/5

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

    The description reveals important behavioral traits beyond annotations: the setup_url is secret and returned only on first creation, the agent never receives OAuth credentials, and the behavior when reused=true. This adds value and does not contradict annotations.

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

    Conciseness5/5

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

    The description is two sentences, front-loaded with the primary action, and every sentence adds essential information. No wasted words.

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

    Completeness4/5

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

    Given the tool's complexity and lack of output schema, the description covers the core action, human-in-the-loop aspect, and reuse behavior. Minor gaps exist regarding error states or link expiration.

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

    Parameters3/5

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

    Schema coverage is 100%, so the schema already documents all parameters. The description does not add significant extra meaning to the parameters beyond what is in the schema.

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

    Purpose4/5

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

    The description clearly states the tool creates a setup link for Google Calendar or Microsoft Outlook for a Chronary calendar, and specifies that the agent passes the URL to a human. However, it does not distinguish this tool from siblings like get_connection_link or cancel_connection_link.

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

    Usage Guidelines3/5

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

    The description provides guidance on giving the setup_url to a human and handling reuse, but does not explicitly state when to use this tool versus alternatives such as create_agent or create_scoped_key. Usage context is implied but not fully specified.

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

  • Behavior3/5

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

    Annotations already declare readOnlyHint=true and idempotentHint=true, so the description adds the context that it returns public booking_url and settings. This is useful but minimal additional behavioral disclosure beyond annotations.

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

    Conciseness5/5

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

    Description is a single concise sentence that front-loads the key information. No wasted words.

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

    Completeness4/5

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

    For a simple read-only fetch tool with one parameter and clear annotations, the description is sufficient. Not having an output schema is acceptable given the simplicity; the description mentions what is included in the result.

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

    Parameters3/5

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

    Schema description coverage is 100% for the single parameter, and the schema description is clear. The tool description adds no additional detail about the parameter beyond what the schema provides.

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

    Purpose5/5

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

    Description clearly states verb 'Fetch' and resource 'single booking page', and specifies what is included ('public booking_url and settings'). It distinguishes from sibling tools like list_booking_pages (list vs single) and create_booking_page (create vs read).

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

    Usage Guidelines3/5

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

    The description does not explicitly state when to use this tool vs alternatives. While the purpose is clear, there is no guidance on when not to use or comparison with similar tools like list_booking_pages.

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

  • Behavior3/5

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

    Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the safety profile is covered. The description adds that it 'Returns the rules row, or an error if none are set', providing useful behavioral detail about the error case. No contradictions.

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

    Conciseness4/5

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

    The description is concise with two sentences that front-load the primary action. It is efficient and avoids unnecessary words, though it could be slightly more structured.

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

    Completeness4/5

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

    Given the low complexity (one parameter, no output schema), the description is adequate. It explains the purpose and a possible outcome (error). While it doesn't detail the return format, the lack of an output schema makes that acceptable.

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

    Parameters3/5

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

    Schema coverage is 100% with one parameter 'calendar_id' described as 'Calendar to read'. The description does not add additional meaning beyond the schema, so a baseline score of 3 is appropriate.

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

    Purpose5/5

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

    The description clearly states the verb 'Read' and the specific resource 'buffer times and working-hours rules configured on a calendar'. It distinguishes from sibling tools like 'set_availability_rules' and 'clear_availability_rules' by indicating it is a read operation.

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

    Usage Guidelines4/5

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

    The description implies that this tool should be used to retrieve availability rules, providing clear context. However, it does not explicitly state when not to use it or mention alternatives like 'get_calendar', but the purpose is sufficiently clear.

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

  • Behavior3/5

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

    Annotations indicate a mutation (readOnlyHint=false) and non-destructive. The description adds context that the calendar must be agent-owned and that org-level calendars won't work. However, it does not disclose behavior on duplicate URLs, error handling, or whether existing subscriptions are overwritten. Adequate but not rich.

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

    Conciseness5/5

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

    The description is two sentences: the first states purpose and benefit, the second provides a critical constraint. No unnecessary words; it is front-loaded and efficient.

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

    Completeness3/5

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

    Given the complexity of 4 parameters and no output schema, the description covers purpose and prerequisite but does not indicate what the tool returns on success or what error scenarios exist. Adequate but could be more complete, especially since there is no output schema.

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

    Parameters3/5

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

    Schema coverage is 100%, so parameters are already described. The description reinforces the role of agent_id and calendar_id but adds no new details about url or label 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.

    Purpose5/5

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

    The description clearly states the tool links an external iCal feed to an agent's calendar for availability calculations. The verb 'link' and resource 'iCal feed to agent calendar' are specific, and it is distinct from sibling tools like delete_ical_subscription or sync_ical_subscription.

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

    Usage Guidelines4/5

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

    The description includes when to use (to include external events in availability) and a critical prerequisite: the target calendar must be owned by the agent. It warns against using org-level calendars, providing clear guidance. It does not explicitly name sibling alternatives but the context is sufficient.

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

  • Behavior3/5

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

    Annotations show readOnlyHint=false, so the tool modifies state. Description adds that the agent can own calendars, events, webhooks, but no additional behavioral details like permissions or conflict handling. Annotations already cover safety profile.

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

    Conciseness5/5

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

    Single sentence, no wasted words, front-loaded with the key verb and resource.

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

    Completeness4/5

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

    Given no output schema, description briefly explains purpose and ownership. Missing mention of return value or error cases, but adequate for a simple creation tool.

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

    Parameters3/5

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

    Schema covers 100% of parameters with descriptions. Description adds no extra 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.

    Purpose5/5

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

    Description clearly states the tool registers an agent (AI/human/resource) to own calendars, events, and webhooks. The verb 'register' and resource 'agent' are specific, and it distinguishes from sibling tools like update_agent or list_agents.

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

    Usage Guidelines4/5

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

    Description implies use when a new agent needs to be registered to own resources. It provides clear context but does not explicitly state when not to use or mention alternative tools.

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

  • Behavior4/5

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

    Annotations mark destructiveHint=true. Description adds that deactivation is not truly destructive to events, and URL stops resolving. 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.

    Conciseness5/5

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

    Two sentences with no wasted words. Action and effects stated upfront. Highly concise.

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

    Completeness4/5

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

    For a simple tool with one parameter and no output schema, description covers purpose and behavioral effects. Could optionally mention return value or confirmation, but not required.

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

    Parameters3/5

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

    Single parameter 'booking_page_id' is fully described in schema (100% coverage). Description adds no additional semantic detail beyond what schema provides. Baseline score of 3 is appropriate.

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

    Purpose5/5

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

    Clear verb 'Delete (deactivate)' specifies action on 'booking page'. Includes effect on URL and unaffected events. Distinct from siblings like create_booking_page or get_booking_page.

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

    Usage Guidelines3/5

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

    Describes the effect (URL stops resolving, existing events unaffected) but does not explicitly state when to use this vs alternatives (e.g., updating status) or any prerequisites.

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

  • Behavior4/5

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

    Annotations indicate destructiveHint=true and idempotentHint=true. The description adds context that synced events are no longer refreshed, clarifying the side effect. However, it does not explicitly state that events themselves are not deleted, which may be inferred but is not fully transparent.

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

    Conciseness5/5

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

    Two sentences with no wasted words. The first sentence states the primary action, and the second adds important behavioral context. Perfectly front-loaded and concise.

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

    Completeness4/5

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

    For a delete operation with one parameter and no output schema, the description adequately explains the effect on synced events. Could mention that events remain but are static, but overall sufficient given the tool's simplicity.

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

    Parameters3/5

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

    Schema coverage is 100% and the description does not add information beyond what the schema provides for the subscription_id parameter. The baseline of 3 is appropriate as the schema already documents the parameter adequately.

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

    Purpose5/5

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

    Description clearly states the action 'Delete an external iCal feed subscription' and the consequence 'Events previously synced from the feed are no longer refreshed.' This distinguishes it from sibling tools like subscribe_ical or update_ical_subscription.

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

    Usage Guidelines3/5

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

    The description does not explicitly state when to use this tool versus alternatives, nor does it mention prerequisites or exclusions. It implicitly suggests usage for removing subscriptions, but lacks guidance on not using it if events should be deleted entirely.

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

  • Behavior4/5

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

    Annotations already indicate read-only and idempotent behavior. Description adds useful context: requires org-level API key and details response content (slots, responses). No contradictions.

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

    Conciseness5/5

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

    Two concise sentences, front-loaded with core purpose, followed by a necessary prerequisite. No fluff.

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

    Completeness4/5

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

    For a simple get tool with a single parameter and no output schema, the description adequately explains purpose, auth, and return content. Could mention potential errors or pagination for slots, but not essential.

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

    Parameters3/5

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

    Schema coverage is 100% for one parameter. Description adds no additional meaning to the parameter beyond what the schema provides, so baseline score of 3 is appropriate.

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

    Purpose5/5

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

    Description clearly states 'Get a scheduling proposal by id' with specific verb and resource, and adds what is included (slots, responses). Distinguishes from sibling list_proposals and other get tools.

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

    Usage Guidelines3/5

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

    Description mentions auth requirement but provides no explicit guidance on when to use this tool vs alternatives like list_proposals or get_event. Usage context is implied.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint, destructiveHint, idempotentHint. The description adds valuable behavioral context beyond annotations: 'The signing secret is never returned' and auth requirement. 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.

    Conciseness5/5

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

    Two concise sentences. The first sentence front-loads the core functionality, and the second adds critical behavioral info. No wasted words.

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

    Completeness4/5

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

    Given the tool's simplicity (1 param, no output schema), the description covers the return content, hidden behavior (signing secret), and auth requirement. Could be slightly more explicit about the return format, but overall complete.

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

    Parameters3/5

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

    The single parameter 'webhook_id' is fully described in the schema with a description. The tool description adds no additional parameter semantics beyond what the schema provides. Baseline score of 3 is appropriate given 100% schema coverage.

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

    Purpose5/5

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

    The description clearly specifies the verb 'get', resource 'webhook subscription', and includes what is returned ('subscribed event types and active state'). This distinguishes it from sibling tools like 'list_webhooks' and 'create_webhook'.

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

    Usage Guidelines3/5

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

    The description provides a prerequisite ('Requires an org-level API key') but does not explicitly state when to use this tool versus alternatives (e.g., 'list_webhooks') or when not to use it. The usage context is implied by the tool's purpose.

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

  • Behavior4/5

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

    The description adds value beyond annotations by specifying that results include 'sync status and last sync time'. It does not contradict annotations (readOnlyHint, idempotentHint, destructiveHint) and aligns with the read-only, idempotent nature.

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

    Conciseness5/5

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

    The description is a single, well-structured sentence that front-loads the verb and resource, includes examples, and provides specific details. No unnecessary words.

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

    Completeness4/5

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

    Given no output schema, the description usefully indicates return fields (sync status, last sync time). It does not describe the overall structure (array of subscriptions) or pagination details, but the schema covers limit/offset defaults.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the schema already documents all parameters. The description does not add any meaning beyond what the schema provides, meeting the baseline of 3.

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

    Purpose5/5

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

    The description clearly states the action 'List', the resource 'agent's external iCal feed subscriptions', and includes examples and return fields (sync status, last sync time). It effectively distinguishes from sibling tools like `list_calendars` and `get_ical_subscription`.

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

    Usage Guidelines3/5

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

    The description implies usage for listing subscriptions for a given agent, but does not explicitly state when to use it versus alternatives like `get_ical_subscription` for single items or `delete_ical_subscription`. No direct exclusions or when-not-to-use guidance is provided.

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

  • Behavior4/5

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

    Annotations already declare readOnly and idempotent. Description adds that signing secrets are never returned and requires org-level API key, providing extra context beyond annotations.

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

    Conciseness5/5

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

    Two sentences, no wasted words. First sentence states purpose, second adds critical security and auth context.

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

    Completeness4/5

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

    Covers listing action, return fields (event types, active state), what is not returned (secrets), and auth requirement. Lacks output format details but sufficient given common list pattern and no output schema.

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

    Parameters3/5

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

    Schema coverage is 100% with clear parameter descriptions; tool description does not add any additional parameter information, so baseline 3 is appropriate.

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

    Purpose5/5

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

    Clearly states it lists org's webhook subscriptions with event types and active state. Distinguishes from sibling tools like get_webhook (single) and create/delete/update by specifying listing action.

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

    Usage Guidelines3/5

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

    Implies usage for enumeration of webhooks, and mentions prerequisite (org-level API key), but does not explicitly compare to alternatives like get_webhook or list_webhook_deliveries.

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

  • Behavior3/5

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

    Annotations already indicate idempotentHint=true and destructiveHint=false, so the description's mention of 'Upsert: overwrites any existing rules' and the effect on availability queries adds some context but does not significantly extend beyond the annotations. No side effects beyond overwriting are disclosed, and the impact on existing events is not clarified.

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

    Conciseness5/5

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

    The description is three sentences long, front-loaded with the core purpose, followed by the effect on queries and the overwrite behavior. No extraneous information; every sentence earns its place.

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

    Completeness4/5

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

    Given the tool has 5 parameters and no output schema, the description covers the main behavior: setting buffers and working hours, their automatic application, and the upsert nature. It could mention that working hours are optional or that timezone defaults to UTC, but the schema handles that. Overall, it is sufficiently complete for a setter tool.

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

    Parameters3/5

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

    Schema coverage is 100%, so the baseline is 3. The description mentions 'buffer times before/after events and optional per-day working hours', which aligns with parameters but does not add detailed semantics beyond what the schema already provides. The parameter descriptions in the schema are already comprehensive.

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

    Purpose5/5

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

    The description clearly states the tool's verb ('Set or replace'), the resource ('availability rules on a calendar'), and the specific behaviors ('buffer times before/after events and optional per-day working hours'). It distinguishes itself from sibling tools like 'clear_availability_rules' and 'get_availability_rules' by focusing on setting/replacing rules.

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

    Usage Guidelines4/5

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

    The description provides context on when the rules take effect ('every availability query on this calendar automatically applies them') and notes the upsert behavior ('overwrites any existing rules'). However, it does not explicitly state when to use this tool versus alternatives, such as when to use 'clear_availability_rules' for removal.

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

  • Behavior3/5

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

    Annotations already indicate it's a write operation (readOnlyHint=false) and idempotent (idempotentHint=true). The description adds the auth requirement but does not clarify partial update behavior or response details. No contradictions with annotations.

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

    Conciseness5/5

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

    Two concise sentences: first states the action and fields, second provides the auth constraint. No redundant or filler content. Front-loaded with essential information.

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

    Completeness4/5

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

    Given full schema documentation and annotations, the description adds the key auth requirement. It does not specify return value or partial update semantics, which is a minor gap for a mutation tool. Overall sufficient for an update operation.

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

    Parameters3/5

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

    Schema coverage is 100%, so the description summarizes the parameters but does not add new semantics beyond the schema's own descriptions. For example, 'metadata' is described as 'arbitrary metadata (max 16KB)' in the schema, same in summary.

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

    Purpose5/5

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

    The description clearly states the verb 'update' and the resource 'agent', listing specific fields (name, description, metadata, status). It implicitly distinguishes from sibling tools like create_agent, delete_agent, get_agent by focusing on mutation.

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

    Usage Guidelines4/5

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

    The description provides context on when to use (to update agent properties) and adds a critical restriction: requires an org-level API key, agent-scoped keys cannot mutate agents. It does not explicitly list alternatives or when not to use, but the restriction is valuable.

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

  • Behavior4/5

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

    Annotations already provide destructiveHint=true and idempotentHint=true. The description adds value by specifying the default state after clearing ('no buffers, no working-hours mask') and the potential error condition. 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.

    Conciseness5/5

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

    Two sentences, no wasted words. First sentence states the action and effect, second sentence clarifies return behavior. Front-loaded and efficient.

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

    Completeness5/5

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

    Given the simple tool with one parameter, no output schema, and adequate annotations, the description provides complete context: what it does, what the result is, and what happens to defaults.

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

    Parameters3/5

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

    Schema description coverage is 100% for the single parameter calendar_id. The description does not add additional semantics 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.

    Purpose5/5

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

    The description clearly states the action ('Remove the availability rules from a calendar'), the effect ('reverting to the default'), and the return value ('Returns the deleted row'). It distinguishes from sibling tool set_availability_rules by focusing on removal.

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

    Usage Guidelines3/5

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

    The description implies context (use when you want to clear rules) but does not explicitly state when to use this tool vs alternatives like set_availability_rules or get_availability_rules. No prerequisites or exclusions are mentioned.

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

  • Behavior4/5

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

    Annotations indicate this is a mutation (readOnlyHint=false). The description adds that events block agent availability and appear in availability queries, and explains hold auto-release. No contradiction. Could mention webhook or notification side effects, but not required.

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

    Conciseness5/5

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

    The description is two sentences plus a hold-specific note. It is concise, front-loaded with the main purpose, and presents key information efficiently without redundancy.

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

    Completeness3/5

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

    The tool has 11 parameters and special behavior (hold, recurrence). The description covers availability impact and hold specifics but does not mention return values (e.g., created event ID). No output schema exists, so this is a notable gap. Otherwise adequate.

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

    Parameters3/5

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

    Schema coverage is 100% with descriptions for all 11 parameters. The description adds context about calendar_id source and hold behavior, but does not significantly expand on parameter semantics beyond what's in the schema. Baseline 3 is appropriate.

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

    Purpose5/5

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

    The description clearly states the tool creates events (bookings, appointments, meetings, holds) on a calendar. It distinguishes from siblings like create_calendar (creates calendars) and create_proposal, and mentions specific use cases like holds.

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

    Usage Guidelines4/5

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

    The description explains when to use this tool (to create scheduled events) and where calendar_id comes from. It provides guidance on using status="hold" for tentative reservations. It does not explicitly list alternatives or when not to use, but the sibling context suffices.

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

  • Behavior4/5

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

    Annotations already indicate read-only, idempotent, non-destructive behavior. Description adds important context about fail-closed semantics and the need to check response fields, 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.

    Conciseness5/5

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

    Two sentences: first defines purpose, second provides critical usage warning. No redundant information.

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

    Completeness3/5

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

    No output schema, so description should clarify return structure. Mentions availability_state and warnings but does not fully describe response format, leaving some ambiguity.

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

    Parameters3/5

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

    Schema coverage is 100%, so baseline is 3. Description mentions aliases for key parameters but does not add significant meaning beyond what schema descriptions provide.

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

    Purpose5/5

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

    Description clearly states the tool finds free slots for multiple agents across both Chronary and authorized human calendars, distinguishing it from single-agent availability tools like get_availability.

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

    Usage Guidelines4/5

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

    Explicitly warns agents to inspect availability_state and warnings before using slots, but does not mention when not to use this tool or provide alternative tool names.

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

  • Behavior4/5

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

    Description adds behavioral context beyond annotations: never replays bearer setup URL or exposes human calendar data. Annotations already confirm read-only, idempotent, non-destructive.

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

    Conciseness5/5

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

    Two sentences, no redundancy, front-loaded with key action and results. Efficient and clear.

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

    Completeness5/5

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

    Sufficient for a single-parameter polling tool with thorough annotations. Explains what is returned and what is excluded.

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

    Parameters3/5

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

    Schema coverage is 100% with description for connection_link_id. Description does not add new semantics beyond the schema.

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

    Purpose5/5

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

    Clearly specifies verb 'Poll' and resource 'human-calendar setup request'. Distinguishes from sibling tools like create_connection_link and cancel_connection_link by describing what returns and what it avoids.

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

    Usage Guidelines3/5

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

    Implies usage for polling after creating a connection link, but does not explicitly state when to use or not use this tool versus alternatives.

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

  • Behavior4/5

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

    Annotations already provide readOnlyHint=true and idempotentHint=true, so description's burden is lower. It adds the scope 'in your organization', which is helpful context beyond the 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.

    Conciseness5/5

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

    Single sentence of 6 words with no unnecessary information. Every word contributes meaning.

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

    Completeness5/5

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

    For a simple read-only list tool with full parameter descriptions in schema and safety annotations provided, the description is sufficient. No output schema needed; return value is implied. Complete for the tool's complexity.

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

    Parameters3/5

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

    Schema description coverage is 100%, with descriptions for all 4 parameters. The tool description adds no additional meaning beyond what the schema already provides. Baseline 3 applies.

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

    Purpose5/5

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

    Description uses specific verb 'List' and resource 'agents' with scope 'in your organization', clearly distinguishing it from sibling tools like get_agent (single) and create/delete/update agents.

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

    Usage Guidelines3/5

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

    No explicit guidance on when to use this tool versus alternatives. However, the name and sibling list imply it's for listing multiple agents, while get_agent is for a single agent. Adequate but lacks exclusions or alternative suggestions.

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

  • Behavior4/5

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

    Annotations already declare the tool read-only and idempotent. The description adds the crucial authentication requirement and implies pagination via limit/offset parameters, providing valuable behavioral context beyond annotations.

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

    Conciseness5/5

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

    Two concise sentences with no wasted words. The primary purpose is front-loaded, and every sentence adds necessary context.

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

    Completeness3/5

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

    The tool lacks an output schema, and the description does not explain the return structure (e.g., array of proposals, fields). It covers filtering and auth, but omits sorting, default behavior, and response format.

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

    Parameters3/5

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

    Schema coverage is 100%, and the description does not add significant meaning beyond the schema's parameter descriptions. It lists filter options but without extra detail on usage or format.

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

    Purpose5/5

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

    The description clearly states the verb 'List', the resource 'scheduling proposals', and the scope 'for the org'. It also specifies acceptable filter values, distinguishing it from sibling tools like 'get_proposal' for a single item.

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

    Usage Guidelines4/5

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

    The description explicitly states when to use the tool and the required authentication context ('org-level API key'), but does not provide exclusions or alternative tools for different use cases.

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

  • Behavior4/5

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

    Annotations already indicate mutation (readOnlyHint=false), idempotency (idempotentHint=true), and non-destructiveness (destructiveHint=false). The description adds context about agent-scoped key restrictions, which is valuable beyond the 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.

    Conciseness5/5

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

    The description is two sentences long. The first sentence immediately communicates the tool's purpose, and the second adds a key restriction. No unnecessary words – every sentence earns its place.

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

    Completeness3/5

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

    The tool has 6 parameters (one required) and a nested metadata object. The description covers the main updatable fields and the agent-scoped restriction but does not mention return values or error states. Given no output schema, more detail on the response would improve completeness.

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

    Parameters3/5

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

    Schema coverage is 100%, so each parameter has a description in the schema. The tool description only lists the updatable fields broadly, adding minimal extra meaning. Baseline of 3 is appropriate given high schema coverage.

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

    Purpose5/5

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

    The description clearly states 'Update a calendar's name, timezone, agent status, default reminders, or metadata.' It uses a specific verb ('Update') and lists the resources/attributes affected, distinguishing it from sibling tools like create_calendar, delete_calendar, or get_calendar.

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

    Usage Guidelines4/5

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

    The description includes a usage guideline: 'Agent-scoped keys may only update calendars owned by their agent,' which provides important context about authorization. However, it does not explicitly mention when to use this tool versus alternatives like update_event, 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.

  • Behavior5/5

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

    The description explicitly mentions the webhook firing, which adds value beyond the annotations (destructiveHint=true, idempotentHint=true). 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.

    Conciseness5/5

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

    Three concise sentences with front-loaded purpose, no redundancy.

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

    Completeness4/5

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

    Given a single parameter, no output schema, and annotations, the description adequately covers webhook behavior, auth requirements, and plan restrictions. Minor gap: no mention of error conditions or irreversible nature.

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

    Parameters3/5

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

    Schema coverage is 100% with a description for 'proposal_id'. The tool description adds no additional meaning beyond what the schema provides, justifying the baseline score of 3.

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

    Purpose5/5

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

    The description clearly states the verb 'cancel' and the resource 'open proposal', making it distinct from sibling tools like 'cancel_event', 'resolve_proposal', and 'respond_to_proposal'.

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

    Usage Guidelines3/5

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

    The description provides prerequisites (org-level API key, Pro plan) but does not specify when to use this tool versus alternatives, such as 'resolve_proposal' for rejecting a proposal.

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

  • Behavior4/5

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

    The description adds behavioral context beyond annotations, such as the requirement for 'hold' status and the firing of lifecycle webhooks. Annotations already indicate idempotent and non-destructive, and description aligns without contradictions.

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

    Conciseness5/5

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

    The description is concise with two sentences, no extraneous words, and front-loads the primary action. Every sentence adds necessary value.

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

    Completeness4/5

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

    The description covers preconditions, the mutation effect, and webhook behavior. It is adequate for a simple tool with one parameter and no output schema. Missing error or success details, but acceptable.

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

    Parameters3/5

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

    The single parameter 'event_id' is fully described in the schema (100% coverage). The description does not add further semantics for the parameter itself, but the overall tool description provides context for its usage.

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

    Purpose5/5

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

    The description clearly states the action ('promote a held event to a confirmed booking') and the resource. It distinguishes from siblings like cancel_event or release_event by specifying the 'hold' status requirement.

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

    Usage Guidelines4/5

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

    The description provides explicit conditions for use: event must have status='hold' and hold_expires_at not passed. It does not explicitly state when not to use or mention alternative tools, but the conditions are clear enough for proper selection.

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

  • Behavior3/5

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

    Annotations already indicate readOnlyHint=false and destructiveHint=false, meaning this is a mutating non-destructive operation. The description adds context about calendar ownership and sharing, but does not disclose specific behaviors like duplicate name handling or validation errors. It is adequate but not deeply transparent.

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

    Conciseness5/5

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

    The description is two sentences long, each earning its place: first states purpose, second gives usage guidance, and the third adds important context about multiple calendars and org-level use. It is front-loaded, efficient, and contains no redundancy.

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

    Completeness4/5

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

    Given no output schema, the description does not mention return values, which is a minor gap. However, it covers prerequisites, usage scenarios, and parameter context, making it sufficiently complete for an agent to decide when and how to invoke the tool.

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

    Parameters4/5

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

    Schema coverage is 100%, so parameters are documented. The description adds meaning beyond schema by explaining the purpose of agent_id (omit for org-level) and the concept of multiple calendars. This helps the agent understand the parameter roles beyond their syntax.

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

    Purpose5/5

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

    The description clearly states 'Create a calendar to hold events and track availability.' It identifies the specific resource (calendar) and action (create), and distinguishes from sibling tools like update_calendar or delete_calendar by explaining that calendars are prerequisites for events.

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

    Usage Guidelines4/5

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

    The description provides explicit guidance: 'Calendars are required before creating events — call this first when setting up a new agent.' It also notes that agents can have multiple calendars and org-level calendars can be shared resources. It does not explicitly state when not to use it or mention alternatives, but the context is clear for correct invocation.

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

  • Behavior4/5

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

    Annotations already mark destructiveHint=true and readOnlyHint=false. The description adds behavioral context: the deletion is permanent, frees an endpoint slot, and requires an org-level API key. This goes beyond annotations, though it could detail cascading effects or irreversibility further.

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

    Conciseness5/5

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

    The description is two sentences, efficiently front-loading the action and adding a contextual benefit. No unnecessary words.

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

    Completeness4/5

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

    For a simple delete tool with one parameter and no output schema, the description covers purpose, permissions, and side effect. It could mention success/failure implications, but given the tool's simplicity, it is adequate.

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

    Parameters3/5

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

    Schema coverage is 100% for the single parameter webhook_id, which the schema describes as 'Webhook subscription to delete'. The description does not add additional meaning beyond what the schema provides.

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

    Purpose5/5

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

    The description clearly states the tool permanently deletes a webhook subscription, with the specific side effect of freeing an endpoint slot against the per-plan cap. Among siblings like create_webhook, update_webhook, list_webhooks, it is uniquely identified as the deletion action.

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

    Usage Guidelines4/5

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

    The description explicitly notes when to use (to delete a webhook and free a slot) and the prerequisite of an org-level API key. It does not explicitly state when not to use or mention 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.

  • Behavior4/5

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

    Annotations already declare readOnlyHint=true and idempotentHint=true, so the description adds value by noting that agent-scoped API keys may only read their own agent. This is useful behavioral context beyond what annotations provide. No contradiction.

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

    Conciseness5/5

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

    Two efficient sentences. The first states the core action, the second provides additional context. No wasted words, front-loaded with the main purpose.

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

    Completeness4/5

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

    Given low complexity (1 param, no output schema) and the presence of annotations, the description is mostly complete. It covers the action, parameter, and a security nuance. However, it doesn't describe the return format, which could be inferred from context but is a minor gap.

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

    Parameters3/5

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

    The input schema has 100% coverage with a description for the single parameter ('Agent ID to fetch'). The tool description does not add extra meaning beyond 'by ID' and what the schema already says, so a baseline score of 3 is appropriate.

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

    Purpose5/5

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

    The description explicitly says 'Fetch a single agent by ID', a specific verb+resource. It also clarifies what an agent represents (AI assistant, human, shared resource), distinguishing it from list_agents and create_agent. This is clear and precise.

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

    Usage Guidelines4/5

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

    The description implies usage for fetching a single agent by ID and adds a constraint about scoped API keys. However, it does not explicitly state when to avoid this tool (e.g., for multiple agents use list_agents). That said, the context is adequate for an agent to decide.

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

  • Behavior4/5

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

    Annotations already indicate read-only, idempotent, non-destructive. The description adds the fail-closed behavior and warning about inspecting availability_state, which is 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.

    Conciseness5/5

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

    Three sentences that are direct and front-loaded, with no wasted words. Every sentence adds necessary context.

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

    Completeness4/5

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

    Given no output schema, the description warns about inspecting response fields, which helps. However, it omits return structure details like what availability_state values mean.

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

    Parameters3/5

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

    Schema coverage is 100%, so parameter descriptions already provide full meaning. The description reinforces alias acceptance but adds no significant new semantic value.

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

    Purpose5/5

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

    The description clearly states the tool checks when a single agent is free across its calendars, distinguishing it from multi-agent or calendar-listing tools like find_meeting_time or list_events.

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

    Usage Guidelines4/5

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

    It provides usage guidance (fail-closed, inspect availability_state and warnings) and mentions parameter aliases, but does not explicitly state when to avoid this tool or name alternatives.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, indicating a safe read operation. The description adds the important behavioral context of agent-scoped key restrictions, which is beyond what annotations provide.

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

    Conciseness5/5

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

    The description is two sentences long, front-loads the primary purpose, and includes a necessary constraint without any wasted words. Every sentence earns its place.

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

    Completeness4/5

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

    For a simple fetch-by-ID tool with one parameter, strong annotations, and no output schema, the description provides sufficient context. It mentions the fields returned and the key restriction. A minor gap is the lack of error behavior if the calendar is not found, but this is not critical.

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

    Parameters3/5

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

    The schema has 100% coverage for the single parameter calendar_id, with a description that simply states 'Calendar ID to fetch'. The tool description does not add any additional meaning or format details beyond the schema, so it meets the baseline but does not exceed it.

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

    Purpose5/5

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

    The description uses a specific verb 'Fetch' and clearly identifies the resource as a single calendar by ID. It distinguishes from sibling tools like list_calendars and get_calendar_context by specifying it fetches one calendar with details like name, timezone, agent status, and default reminders.

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

    Usage Guidelines4/5

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

    The description provides a clear constraint: agent-scoped keys can only read calendars owned by their agent. While it does not explicitly list alternatives or when not to use, the context is clear enough for an agent to differentiate from list_calendars.

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

  • Behavior4/5

    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 value by detailing behavior such as including externally synced events, the mutually exclusive requirement for calendar_id/agent_id, and the expand parameter's constraints (requires start_after and start_before, max 366 days apart). It does not contradict annotations.

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

    Conciseness5/5

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

    The description is extremely concise: two sentences that front-load the purpose and immediately provide actionable instructions. Every sentence adds value, with no redundancy or unnecessary detail.

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

    Completeness4/5

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

    Given the tool has 9 parameters and no output schema, the description covers the main purpose, scope, and key filtering options. It doesn't explain pagination behavior or return structure, but those are partially covered by the schema. Overall, it provides sufficient context for an AI agent to use the tool correctly.

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

    Parameters3/5

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

    Schema description coverage is 100%, with detailed descriptions for each parameter. The tool description summarizes parameter usage (e.g., 'Narrow with start_after/start_before') but does not add significant new meaning beyond what the schema already provides. The baseline score of 3 is appropriate.

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

    Purpose5/5

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

    The description clearly states the verb 'List' and resource 'events', specifies scope (on a calendar or across agent's calendars), and distinguishes from sibling tools by mentioning inclusion of externally synced events. It leaves no ambiguity about the tool's function.

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

    Usage Guidelines4/5

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

    The description provides clear context on when to use the tool (listing events) and includes key requirements (provide calendar_id OR agent_id). It lacks explicit 'when not to use' or alternatives like get_event, but the usage instructions are sufficiently clear for an AI agent.

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

  • Behavior4/5

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

    The annotations already declare readOnlyHint=true and destructiveHint=false, so the description does not repeat safety info. It adds value by specifying the need for an org-level API key, which is a behavioral constraint not in annotations.

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

    Conciseness5/5

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

    Two sentences with no wasted words. First sentence states action and output (per-status counts), second adds use case and auth requirement. Front-loaded and efficient.

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

    Completeness4/5

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

    The tool has no output schema, but the description mentions per-status counts, giving a hint of return format. It covers purpose, use case, and auth. For a read-only list tool with 5 parameters, this is fairly complete, though more detail on sorting or pagination could help.

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

    Parameters3/5

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

    The input schema has 100% description coverage for its 5 parameters, so the schema already documents parameter meanings. The description does not add much beyond mentioning 'per-status counts,' which loosely relates to the status parameter. Baseline 3 is appropriate.

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

    Purpose5/5

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

    The description clearly states that the tool lists delivery attempts for a webhook, with per-status counts. The verb 'List' and resource 'delivery attempts' are specific, and the mention of per-status counts distinguishes it from other list tools.

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

    Usage Guidelines4/5

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

    The description explicitly says to use this to debug failing deliveries, providing a clear use case. It also notes the requirement for an org-level API key, but does not explicitly state when not to use it or mention alternatives.

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

  • Behavior4/5

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

    Annotations already provide idempotentHint=true, destructiveHint=false. The description adds that the tool returns once the sync is queued, indicating asynchronous behavior and immediate return, which is useful context 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.

    Conciseness5/5

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

    The description is two sentences, very concise, and front-loaded with the key action. Every word is useful with no filler or repetition.

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

    Completeness4/5

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

    The tool is simple with one parameter and no output schema. The description explains the queuing behavior but does not address potential error cases (e.g., invalid subscription ID) or confirm if the sync actually completes. Given the low complexity, it is mostly complete but could briefly mention what happens if the subscription is invalid.

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

    Parameters3/5

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

    Input schema has one required parameter (subscription_id) with a clear description. Schema coverage is 100%, so the baseline is 3. The description adds no additional parameter semantics beyond what the schema already provides.

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

    Purpose5/5

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

    The description clearly states the tool triggers an immediate sync of an iCal feed subscription instead of waiting for the next poll. It specifies the action (trigger sync) and resource (iCal feed subscription), and contrasts with the scheduled alternative, effectively distinguishing it from siblings like subscribe_ical and update_ical_subscription.

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

    Usage Guidelines4/5

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

    The description explicitly tells when to use this tool: when you need immediate sync instead of waiting for the next scheduled poll. It does not explicitly list when not to use it or provide alternative tool names, but the context is clear enough for an AI agent to understand the use case.

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

  • Behavior4/5

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

    Annotations indicate idempotent and non-destructive. Description adds a useful behavioral note: 'Changing the URL forces a full re-sync on the next poll.' This goes beyond the annotations and helps the agent understand side effects. No contradictions.

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

    Conciseness5/5

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

    Two sentences, no wasted words. First sentence states purpose and scope, second sentence adds a critical behavioral detail. Front-loaded and efficient.

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

    Completeness4/5

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

    Given no output schema and 3 straightforward parameters, the description covers the key aspects: what the tool does, which fields can be updated, and a side effect. It does not mention that subscription_id is required (but schema handles that) or that at least one of label/url should be provided. Overall adequate for the tool's complexity.

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

    Parameters4/5

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

    Schema coverage is 100%, so schema already describes parameters. The description adds context about the url parameter's effect (forces re-sync), which provides additional meaning beyond the schema's format/pattern constraints.

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

    Purpose5/5

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

    Description clearly states the verb 'Update' and the resource 'external iCal feed subscription', and specifies the changable attributes (label, feed URL). It is distinct from sibling tools like subscribe_ical, delete_ical_subscription, and sync_ical_subscription.

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

    Usage Guidelines3/5

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

    The description implies when to use (when you need to change label or URL) but does not explicitly state when not to use or mention alternatives such as deleting and re-subscribing. No exclusion criteria are provided.

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

  • Behavior4/5

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

    The description adds value beyond annotations by specifying the required authentication scope ('org-level API key') and the constraint that at least one field must be supplied. Annotations already indicate a write operation (readOnlyHint=false) and non-destructive (destructiveHint=false). No contradictions.

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

    Conciseness5/5

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

    Two concise sentences with no redundant information. The purpose and key constraints are front-loaded in the first sentence, and the second adds important usage notes. Every word earns its place.

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

    Completeness4/5

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

    For a mutation tool with no output schema, the description covers the action, parameters, and auth requirement. It does not mention the return value (likely the updated webhook object), but that is somewhat inferred from the sibling get_webhook. Overall, fairly complete for the complexity.

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

    Parameters3/5

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

    Schema description coverage is 100%, so baseline is 3. The description adds meaning by summarizing what the parameters control (delivery URL, event types, active status) but does not detail each parameter beyond the schema's own descriptions. Adequate but not exceptional.

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

    Purpose5/5

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

    The description clearly states the action ('Update'), the resource ('a webhook subscription'), and the specific fields that can be modified ('delivery URL', 'event types', 'pause/resume via active'). This distinguishes it from siblings like create_webhook, delete_webhook, and get_webhook.

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

    Usage Guidelines4/5

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

    The description provides key usage constraints: 'At least one field must be supplied' and 'Requires an org-level API key.' It does not explicitly compare to alternatives, but the sibling list makes the context clear. Slight room for improvement by stating when to use over create/delete.

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

  • Behavior4/5

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

    The description adds context about invalidating the URL and not affecting completed connections, which complements the annotations (destructiveHint=true, readOnlyHint=false).

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

    Conciseness5/5

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

    Single sentence that is efficient, front-loaded with the action, and contains no redundant information.

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

    Completeness5/5

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

    For a simple cancellation tool with one parameter and no output schema, the description fully covers what the tool does and its behavioral boundaries.

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

    Parameters3/5

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

    With 100% schema description coverage, the description adds no additional detail about the 'connection_link_id' parameter beyond the schema's own description.

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

    Purpose5/5

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

    The description clearly states the verb 'cancel' and the resource 'pending human-calendar setup request', and distinguishes it from disconnecting an already completed connection.

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

    Usage Guidelines4/5

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

    It specifies when to use (pending setup) and when not (already completed), but does not name an alternative tool for disconnecting active connections.

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

  • Behavior4/5

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

    Description adds detail beyond annotations: explains that decommissioning revokes scoped API keys. No contradiction with annotations (destructiveHint=true, 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.

    Conciseness5/5

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

    Two efficient sentences, no redundant information. Front-loaded with action and consequence.

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

    Completeness5/5

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

    Given single parameter, full schema coverage, and annotations, the description is complete. No output schema needed; behavioral effects are clear.

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

    Parameters3/5

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

    Schema provides 100% coverage for parameter agent_id. Description does not add extra semantic meaning beyond what schema already states.

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

    Purpose5/5

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

    Clearly states 'Decommission an agent' with specific verb and resource. Differentiates from sibling tools like create_agent and update_agent.

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

    Usage Guidelines4/5

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

    Explicitly states key requirement ('Requires an org-level API key') and a prohibition ('agent-scoped keys cannot delete agents'). Does not provide explicit alternatives, but context is clear.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds value by specifying the returned fields (sync status, last sync time, last error), beyond what annotations provide. However, it does not disclose any additional behavioral traits like defaults or caching.

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

    Conciseness5/5

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

    The description is a single sentence that efficiently conveys all necessary information without waste. Every word adds value.

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

    Completeness5/5

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

    For a simple get tool with one parameter and comprehensive annotations, the description is complete. It specifies what the tool does and what it returns, leaving no gaps for the agent.

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

    Parameters3/5

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

    The input schema covers 100% of parameters with a description for subscription_id. The description does not add meaning beyond what the schema already provides, so baseline score of 3 is appropriate.

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

    Purpose5/5

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

    Description clearly states the action (Get), the resource (single external iCal feed subscription), and what is included (sync status, last sync time, last error). This distinguishes it from sibling tool list_ical_subscriptions, which returns all subscriptions without detailed sync info.

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

    Usage Guidelines4/5

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

    The description implies usage when needing details of a specific subscription, but does not explicitly state when not to use it or mention alternative tools. The context is clear but lacks exclusionary guidance.

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

  • Behavior4/5

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

    Annotations already indicate readOnlyHint, idempotentHint, and no destructiveness. The description adds valuable context about key scoping behavior (org-level vs agent-scoped), which is beyond the annotations and helps the agent understand behavior.

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

    Conciseness5/5

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

    Two sentences, front-loaded with the core purpose, no unnecessary words. Every sentence adds value.

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

    Completeness5/5

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

    For a simple read-only listing tool, the description covers the essential behavioral context (key scoping) and usage purpose. No output schema exists, but the tool's return is likely a list of calendars, which is straightforward.

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

    Parameters3/5

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

    Schema coverage is 100% with adequate descriptions. The description does not add significant new meaning beyond the schema, meeting the baseline. It mentions the 'include' parameter implicitly but not in detail.

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

    Purpose5/5

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

    The description clearly states it lists calendars in the org, distinguishes between org-level and agent-scoped API keys, and explicitly says to use it for discovering calendar IDs, which differentiates it from sibling tools like list_events or list_agents.

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

    Usage Guidelines4/5

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

    The description advises using it 'before creating or listing events' to discover calendar IDs, providing clear when-to-use context. It also explains scope differences but does not explicitly state when not to use it, though the guidance is strong.

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

  • Behavior4/5

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

    Annotations already provide idempotent and non-destructive hints. Description adds that an org-level API key is required, which is a key behavioral constraint not in annotations. Does not detail side effects or error handling.

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

    Conciseness5/5

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

    Three sentences, no filler. Front-loaded with action, condition, and key requirement. Ideal length and structure.

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

    Completeness4/5

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

    Covers trigger, required auth, and parameter source. Lacks detail on return value or failure cases, but for a simple idempotent action, it is largely complete.

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

    Parameters4/5

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

    Only parameter tos_version is described in both schema and description. Description adds practical guidance on how to obtain the value (GET /v1/auth/terms/current), enhancing beyond schema's basic description.

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

    Purpose5/5

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

    Clearly states the action: re-accept Chronary ToS on behalf of the calling org. Distinguishes from sibling tools which are unrelated CRUD operations. Includes trigger condition and required parameter.

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

    Usage Guidelines4/5

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

    Explicitly says when to use (when Chronary-Terms-Upgrade-Required header is present) and mentions that agent-scoped keys cannot be used. Provides clear context but does not name alternatives, though none exist in sibling list.

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

  • Behavior4/5

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

    Goes beyond annotations by stating the event is 'marked cancelled and excluded from future availability calculations' and details recurring series behavior. No contradiction with annotations (destructiveHint, idempotentHint).

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

    Conciseness5/5

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

    Four well-structured sentences that front-load the purpose and efficiently explain optional parameters and recurring behavior. No redundant or unnecessary text.

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

    Completeness4/5

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

    Covers cancellation effect, optional parameters, and recurring series handling. No output schema exists, so return behavior is not required. Could add note on irreversibility, but destructiveHint already implies it.

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

    Parameters4/5

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

    Schema coverage is 100% with basic descriptions; the tool description adds meaningful context: calendar_id's optionality and fail-fast benefit, occurrence_start's role for recurring events. This enhances understanding beyond the schema.

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

    Purpose5/5

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

    Description clearly states the tool deletes or cancels an event from a calendar, distinguishing it from siblings like confirm_event, release_event, or create_event. The verb 'cancel' and resource 'event' are specific.

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

    Usage Guidelines4/5

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

    Explicitly says when to use the tool ('to remove, cancel, or delete any scheduled event or appointment'). Provides guidance on optional parameters (calendar_id, occurrence_start) and explains behavior for recurring series. However, no explicit 'when not to use' or comparison to alternatives like release_event.

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

  • Behavior4/5

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

    Discloses key behaviors: auto-resolution, ownership by organizer, and reliance on participant responses. Adds context beyond annotations, which only indicate mutability and non-destructiveness.

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

    Conciseness5/5

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

    Four well-structured sentences that front-load the purpose and cover essential details without redundancy. Every sentence adds value.

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

    Completeness4/5

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

    Adequately describes the tool's purpose and lifecycle given 7 parameters (5 required) and no output schema. Mentions plan and key requirements, and explains auto-resolution, but could add more on what happens after resolution.

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

    Parameters4/5

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

    Schema coverage is 100%, but description adds meaning by explaining slot weighting, auto-resolution, and the concept of candidate slots, enhancing understanding beyond schema comments.

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

    Purpose5/5

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

    The description clearly states the verb-resource pair 'Create a scheduling proposal' and explains the proposal lifecycle, distinguishing it from sibling tools like 'find_meeting_time' or 'confirm_event'.

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

    Usage Guidelines4/5

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

    Specifies requirements (org-level API key, Pro plan) and describes the auto-resolution behavior. Does not explicitly contrast with similar proposal tools, but provides adequate context for typical usage.

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

  • Behavior5/5

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

    The description reveals that the signing secret is returned only once and must be stored for HMAC-SHA256 verification, which is critical behavioral information beyond the annotations. It also implicitly confirms the tool is not read-only (readOnlyHint=false) and not idempotent. 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.

    Conciseness5/5

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

    The description is three sentences: first states purpose, second adds crucial behavioral detail about the signing secret, third states a prerequisite. Every sentence is valuable and front-loaded, with no redundancy.

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

    Completeness4/5

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

    The description covers input behavior and prerequisites well, and mentions the signing secret in the response. However, without an output schema, it could further describe the full response structure (e.g., webhook ID, status) to fully inform the agent.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the baseline is 3. The description repeats the schema's parameter descriptions almost verbatim for url and events, adding no new semantic meaning. The behavioral hint about the signing secret is valuable but not about parameters.

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

    Purpose5/5

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

    The description clearly states it creates a webhook subscription for HTTP POST notifications, and specifies example events like event.created, proposal.confirmed. It effectively distinguishes from sibling tools like delete_webhook and list_webhooks by focusing on creation.

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

    Usage Guidelines4/5

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

    The description explains the purpose (receiving notifications) and includes a prerequisite ('Requires an org-level API key'). However, it does not explicitly state when not to use this tool or suggest alternatives, though the context of creation is clear among siblings.

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

  • Behavior5/5

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

    Adds significant value beyond annotations: reveals soft delete nature, event unavailability, availability impact, and permission restriction. Annotations already indicate destructive and idempotent; description enriches with specific 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.

    Conciseness5/5

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

    Two sentences, no unnecessary words, front-loaded with key information. Highly efficient.

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

    Completeness4/5

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

    Covers core delete behavior, consequences, and permission constraint. Lacks error scenarios or what happens if calendar doesn't exist, but for a simple tool with no output schema, this is mostly complete.

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

    Parameters3/5

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

    Schema coverage is 100% with a clear description for calendar_id. The tool description does not add extra semantics beyond what the schema provides, so baseline 3 is appropriate.

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

    Purpose5/5

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

    The description clearly states it deletes a calendar, specifies soft delete, explains consequences (events no longer returned, availability stops), and mentions permission nuance. Distinguishes from sibling delete tools by targeting calendar resource.

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

    Usage Guidelines4/5

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

    The description implies use when needing to remove a calendar, with soft delete behavior noted. Does not explicitly state when not to use or mention alternatives, but the context of a delete operation is clear enough.

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

  • Behavior5/5

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

    Adds significant behavioral details beyond annotations: specifies exact event types (mutating operations and auth-lifecycle), ordering (newest first), retention clamping, and auth requirements. 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.

    Conciseness5/5

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

    Two sentences, front-loaded with the core purpose. Every sentence is informative without redundancy.

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

    Completeness4/5

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

    Covers key requirements and behavior (retention, key type) but does not mention pagination or return format. With no output schema, a brief note on pagination would improve completeness.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the baseline is 3. The description does not add extra meaning to parameters beyond what the schema already provides, though it mentions overall retention clamping.

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

    Purpose5/5

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

    Clearly states the tool lists audit-log entries for mutating operations and auth-lifecycle events, newest first, for the calling org. No sibling tool does this, making it distinct and unambiguous.

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

    Usage Guidelines4/5

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

    Explicitly states the tool requires an org-level API key and that agent-scoped keys cannot read the audit log, providing clear context for when to use. While no alternatives are given, none exist among siblings.

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

  • Behavior4/5

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

    Annotations declare readOnlyHint, idempotentHint, and destructiveHint. The description adds authentication requirements and mentions the return type (usage and plan limits), providing additional behavioral context without contradicting annotations.

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

    Conciseness5/5

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

    The description is a single sentence that efficiently conveys the tool's purpose, scope, and authentication requirements. Every piece of information is relevant, with no wasted words.

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

    Completeness4/5

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

    The tool has no output schema, but the description sufficiently indicates it returns usage and plan limits. For a read-only tool with no parameters, the description is fairly complete, though lacking detail on output format.

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

    Parameters4/5

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

    The input schema has zero parameters with 100% schema description coverage. The description doesn't need to add parameter info, meeting the baseline for no-parameter tools.

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

    Purpose5/5

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

    The description explicitly states 'Get the calling org's current-period usage and plan limits' and lists specific metrics, clearly defining the tool's purpose. It distinguishes itself from siblings that operate on individual resources.

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

    Usage Guidelines4/5

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

    The description provides clear context: it retrieves org-wide usage and requires an org-level API key. It warns that agent-scoped keys cannot use this tool, offering usage guidance, though it does not explicitly name alternative tools.

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

  • Behavior5/5

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

    Annotations already mark the tool as read-only and non-destructive. The description adds valuable behavioral context: agent-scoped keys see only pages on their own agent's calendars. This goes beyond annotations and clarifies scope constraints.

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

    Conciseness5/5

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

    Two sentences: first states the core purpose, second adds a crucial nuance. No wasted words, front-loaded with key information.

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

    Completeness4/5

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

    The tool is simple with pagination parameters fully described by the schema. However, since there is no output schema, the description could mention the return format (e.g., list of booking page objects). Still, given the minimal complexity, it is fairly complete.

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

    Parameters3/5

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

    The input schema has 100% description coverage for both limit and offset. The description does not add any additional meaning beyond what the schema already provides, so baseline score of 3 is appropriate.

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

    Purpose5/5

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

    Description clearly states the tool lists booking pages in the org, using a specific verb and resource. It also adds nuance about agent-scoped key behavior, which distinguishes it from siblings like get_booking_page (single) and create_booking_page.

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

    Usage Guidelines4/5

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

    The description provides clear context about agent-scoped key visibility but does not explicitly state when not to use the tool or mention alternatives like get_booking_page for a single page. Usage is implied but lacks explicit exclusions.

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

  • Behavior4/5

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

    Annotations provide no readOnlyHint, destructiveHint, etc. Description adds important behavioral context: requires org-level API key, Pro plan only, and auto-resolution when all participants respond. This 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.

    Conciseness5/5

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

    Three sentences, front-loaded with main action. No wasted words; each sentence adds essential information.

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

    Completeness4/5

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

    Describes return behavior (auto-resolution), auth requirements, and plan restrictions. Lacks details on error responses, but given complexity and no output schema, it is adequately complete.

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

    Parameters4/5

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

    Schema coverage is 100%, so parameters are well-documented. Description adds value by explaining the conditional relationship: 'accept requires slot id, counter suggests alternative slots.' This clarifies usage beyond schema.

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

    Purpose5/5

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

    Description clearly states the action ('Submit a response'), the resource ('proposal'), and the specific response types (accept/decline/counter). It distinguishes from siblings like resolve_proposal by noting auto-resolution behavior.

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

    Usage Guidelines4/5

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

    Description explains when to use the tool (to respond on behalf of a participant) and mentions auto-resolution, implying no need for a separate resolve call. It does not explicitly exclude alternatives but provides sufficient context.

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

  • Behavior4/5

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

    Annotations already declare the tool is not read-only, idempotent, and not destructive. The description adds useful behavioral context: partial updates, restrictions on holds and external iCal events, and calendar_id resolution. However, it does not describe the response/return value, which is relevant given no output schema.

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

    Conciseness4/5

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

    The description is concise with 5 sentences, front-loading the core action. It is well-structured but could be slightly improved by grouping related information. No unnecessary content.

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

    Completeness3/5

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

    Given 11 parameters and no output schema, the description covers key usage scenarios and constraints but misses details on the 'recurrence_rule' parameter and does not describe the response format. Slightly incomplete for a complex tool.

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

    Parameters4/5

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

    Schema coverage is 100%, so the baseline is 3. The description adds meaning by explaining partial update semantics, calendar_id optional behavior, and constraints on holds and external events. However, it mentions 'location' which is not in the schema, potentially causing confusion. Overall, it adds value beyond the schema.

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

    Purpose5/5

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

    The description clearly states the tool's purpose: 'Reschedule or edit an event' and lists specific fields that can be changed. It differentiates from siblings by noting that holds cannot be edited via this tool and should use confirm_event/release_event instead, and that external iCal events are read-only.

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

    Usage Guidelines5/5

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

    The description provides explicit guidance: 'Use this to move an appointment to a new time or update its details.' It also tells when not to use (holds, external iCal) and suggests alternative tools. Additionally, it advises to 'Provide only the fields you want to change,' indicating partial update semantics.

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

  • Behavior5/5

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

    Beyond the annotations (readOnlyHint=false, etc.), the description explains the booking flow: returns a booking_url, confirmed event creation on the calendar, webhook firing with booking_page_id, and that existing events always block slots. This adds significant behavioral context not covered by annotations.

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

    Conciseness5/5

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

    The description is three sentences, clearly front-loaded with the purpose. Every sentence adds essential information (what it creates, what it returns, how it works, a key constraint). No unnecessary words.

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

    Completeness5/5

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

    Given the complexity (10 parameters, no output schema, no nested objects), the description covers the core functionality, output, and critical constraint. The schema covers parameter details, so the description is complete for the tool's purpose.

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

    Parameters3/5

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

    Schema coverage is 100%, so baseline is 3. The description adds some context about availability_constraints and the overall behavior, but does not add meaning to individual parameters beyond what the schema already provides. The return value is explained, which helps, but for parameter-specific semantics it is adequate.

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

    Purpose5/5

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

    The description starts with a clear verb and resource: 'Create a public booking page... for a calendar.' It distinguishes itself from related tools like create_event (creates single event) and create_proposal (scheduling proposals) by specifying it creates a hosted scheduling link. The return value (booking_url) is also mentioned.

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

    Usage Guidelines4/5

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

    The description states when to use the tool: to create a booking page for a calendar. It also provides context about availability_constraints and how existing events block slots. However, it does not explicitly mention when not to use it or provide alternatives, though sibling context makes this clear enough.

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

  • Behavior5/5

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

    Beyond the annotations (which show this is a non-read, non-destructive, non-idempotent mutation), the description adds critical behavior: the plaintext key is returned exactly once and cannot be retrieved later. This is essential for the agent to handle the response correctly. 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.

    Conciseness5/5

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

    The description is three concise sentences with no wasted words. Each sentence adds value: purpose, usage context, and critical behavioral warning. Front-loaded with the key fact about the prefix and scoping.

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

    Completeness5/5

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

    The description covers all necessary context: what the tool does, when to use it, prerequisites, behavior of the return value (plaintext key once), and that it cannot be retrieved later. With no output schema, the description adequately explains the return behavior. The sibling tools provide additional context for lifecycle management.

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

    Parameters3/5

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

    Both parameters (label and agent_id) are fully documented in the input schema with descriptions and constraints. The description does not add any additional semantic meaning beyond what the schema provides. Schema coverage is 100%, so baseline 3 is appropriate.

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

    Purpose5/5

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

    The description clearly states the tool creates an agent-scoped API key with a specific prefix (chr_ak_*). It highlights the key can only act on behalf of a single agent, which distinguishes it from other key-related tools like list_scoped_keys and revoke_scoped_key.

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

    Usage Guidelines4/5

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

    The description explicitly tells when to use this tool (self-provision or rotate per-agent credentials) and includes a crucial prerequisite (requires an org-level API key). It lacks explicit when-not-to-use guidance, but the sibling tools cover alternate operations like revocation and listing.

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

  • Behavior4/5

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

    Annotations already indicate read-only and non-destructive. Description adds context: works for both internal and externally synced iCal events, calendar resolution behavior, which goes beyond annotations.

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

    Conciseness5/5

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

    Two sentences, no fluff, well-structured with purpose first then auxiliary info about calendar_id. Every sentence adds value.

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

    Completeness5/5

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

    Given no output schema, description adequately explains what fields are returned, supports both event types, and addresses calendar_id optionality. Complete for a read-only retrieval tool.

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

    Parameters4/5

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

    Schema coverage is 100% with descriptions. Description adds meaning: event_id is the identifier to retrieve, calendar_id optional with behavioral note on fast failure for cross-calendar typos.

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

    Purpose5/5

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

    Description clearly states 'Retrieve a single event by ID' and lists included fields (title, times, status, location, reminders, metadata). Differentiates from sibling tools like list_events (which retrieves multiple) and other get_* tools.

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

    Usage Guidelines4/5

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

    Provides guidance on calendar_id: optional with fallback resolution, use to fail fast on typos. Does not explicitly compare to list_events for filtering, but context is clear for single-event retrieval.

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

  • Behavior4/5

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

    Annotations already indicate destructive and idempotent behavior. Description adds that it frees a slot for other agents, beyond annotation details. No contradiction.

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

    Conciseness5/5

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

    Two sentences, no superfluous words, front-loaded with action and condition.

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

    Completeness5/5

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

    For a simple mutation with one parameter and no output schema, the description covers all essential context: action, precondition, effect, and idempotency.

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

    Parameters4/5

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

    Schema has 100% description coverage for the single parameter. Description adds the requirement that event must be held, which is implied but clarifies the parameter's context.

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

    Purpose5/5

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

    Description clearly states the action (release held event), the condition (status='hold'), and the effect (frees slot). Distinguishes from siblings like confirm_event or cancel_event.

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

    Usage Guidelines4/5

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

    States explicit condition (status='hold') and timing (before hold_expires_at). Does not explicitly mention when not to use or compare to alternatives, but condition serves as clear usage guide.

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

  • Behavior5/5

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

    Discloses key behavior beyond annotations: picks highest-scoring slot accepted by most participants, creates confirmed event, and cancels if all responses are 'decline'. No contradiction with annotations (idempotentHint=true, destructiveHint=false).

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

    Conciseness5/5

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

    Four sentences, each adding value. Front-loaded with core purpose. No unnecessary words or fluff.

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

    Completeness5/5

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

    Given the single required parameter and no output schema, the description covers behavioral outcomes, constraints, and prerequisites fully. The tool is simple but the description is complete.

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

    Parameters3/5

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

    Only one parameter (proposal_id) with 100% schema coverage; description does not add additional semantics beyond the schema's 'Proposal to resolve'. Baseline 3 is appropriate.

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

    Purpose5/5

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

    The description explicitly states the verb 'Force-resolve' and the resource 'open proposal', and it distinguishes from siblings like 'respond_to_proposal' by specifying it uses collected responses without waiting for all participants.

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

    Usage Guidelines4/5

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

    Provides clear context: 'Use when you want to close out a proposal without waiting for every participant.' Also mentions requirements: 'Requires an org-level API key. Pro plan only.' Lacks explicit when-not-to-use or alternative tools, but the context is sufficient.

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

  • Behavior5/5

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

    The description adds valuable behavioral details beyond annotations: revocation is permanent, cannot be undone, and takes effect within about a minute. This complements the destructiveHint and idempotentHint annotations.

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

    Conciseness5/5

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

    The description consists of two efficient sentences with no extraneous text. The first sentence states the primary action, and the second provides crucial caveats and prerequisites.

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

    Completeness5/5

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

    Given a single parameter, no output schema, and clear annotations, the description is complete. It covers the action, effect, timing, and authentication requirement.

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

    Parameters3/5

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

    The input schema covers the single parameter key_id with a description ('ID of the scoped key to revoke'). The description does not add additional semantic information beyond what the schema provides, so a baseline score of 3 is appropriate.

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

    Purpose5/5

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

    The description clearly states the action 'Revoke', the resource 'agent-scoped API key', and the method 'by ID'. It effectively distinguishes this tool from related tools like create_scoped_key and list_scoped_keys.

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

    Usage Guidelines4/5

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

    The description mentions a prerequisite ('Requires an org-level API key') and the permanent nature of revocation, providing clear context for when to use. While it doesn't explicitly state when not to use, the irreversibility is strongly implied.

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

  • Behavior5/5

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

    Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds detailed behavioral context about what exactly is returned (current event, next, past, upcoming, agent status), which goes beyond annotations.

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

    Conciseness5/5

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

    Two efficient sentences: first lists what the tool returns, second provides the use case. No superfluous text, front-loaded with purpose.

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

    Completeness5/5

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

    For a read-only context tool with one parameter and no output schema, the description fully explains the returned data and use case. No gaps remain.

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

    Parameters3/5

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

    Schema description coverage is 100% for the single parameter calendar_id with a basic description. The tool description does not add further parameter semantics, but baseline is 3 as schema already covers it adequately.

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

    Purpose5/5

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

    The description clearly states the tool retrieves a calendar's temporal context including current event, next event, past events, upcoming window, and agent status. It uses a specific verb 'Get' and resource 'calendar's temporal context', and distinguishes from siblings by noting it avoids multiple list_events queries.

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

    Usage Guidelines5/5

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

    Explicitly tells when to use the tool: 'to answer what is this agent doing right now?' and mentions the alternative (multiple list_events queries) indicating 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.

  • Behavior5/5

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

    The description adds value beyond the annotations by stating that it lists only live keys, returns metadata but never the plaintext secret, and requires an org-level API key. This goes beyond the readOnlyHint and idempotentHint annotations.

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

    Conciseness5/5

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

    The description is two sentences, front-loaded with the main action and scope, and contains no redundant information.

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

    Completeness5/5

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

    For a simple listing tool with no parameters and no output schema, the description covers purpose, scope, output details, and requirements, making it fully informative.

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

    Parameters4/5

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

    There are no parameters (schema coverage 100%). The description appropriately provides context about the tool's function without needing to explain parameters.

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

    Purpose5/5

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

    The description clearly states the verb 'List', the resource 'live (non-revoked) agent-scoped API keys', and the scope 'for this org'. It distinguishes from sibling tools like create_scoped_key and revoke_scoped_key by focusing on listing non-revoked keys.

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

    Usage Guidelines4/5

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

    The description specifies a prerequisite ('Requires an org-level API key') and explains what is returned. It does not explicitly state when not to use this tool, but the context makes it clear that it is for listing, not creating or revoking.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

chronary-mcp MCP server

Copy to your README.md:

Score Badge

chronary-mcp MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Chronary/chronary-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server