Skip to main content
Glama

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.0

  • Disambiguation5/5

    Every tool targets a distinct resource and action (e.g., create_member vs create_membership, cancel_reservation vs cancel_event_registration). There is no ambiguity between tools.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern using snake_case (e.g., add_family_member, list_courts, cancel_event_registration). No deviations.

    Tool Count4/5

    29 tools cover a broad domain (members, families, memberships, courts, events, reservations, transactions, locations, health). While slightly high, each tool serves a distinct purpose and is justified.

    Completeness5/5

    The tool surface provides comprehensive CRUD and lifecycle coverage for all major resources (members, memberships, reservations, events, etc.). Obvious gaps like updating events are absent but not critical for an MCP server.

  • Average 3.8/5 across 29 of 29 tools scored. Lowest: 2.9/5.

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

    • No community issues in the last 6 months
    • 2 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is failing
  • This repository is licensed under MIT License.

  • 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.

  • Add a glama.json file to provide metadata about your server.

  • 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

  • Behavior2/5

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

    With no annotations, the description carries the full burden. It discloses it lists family accounts but omits pagination behavior (skip/take parameters present), read-only nature, authorization needs, or response structure. Key behavioral traits are missing.

    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 very concise with two sentences, front-loading the core purpose. The 'Use when' section is helpful. It could be more structured (e.g., bullet points) but avoids unnecessary text.

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

    Completeness2/5

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

    Given 3 parameters (including pagination), no annotations, and sibling tools, the description is incomplete. It lacks explanation of pagination, ordering, or how it differs from list_members. The presence of an output schema reduces the burden slightly, but behavioral gaps remain.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the description should explain parameters. It does not mention skip or take, though the example 'west location' hints at location_id. The parameter titles in the schema provide some meaning, but the description adds minimal value.

    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 it lists family accounts and defines what a family is (linked members under a primary contact). It distinguishes from get_family (singular) by implying multiple, but does not explicitly differentiate 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 Guidelines3/5

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

    The 'Use when' section provides example queries ('list all families', 'find family accounts at our west location'), implying filtering by location. However, no explicit guidance on when not to use (e.g., when a specific family is needed via get_family) or alternatives is given.

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

  • Behavior2/5

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

    No annotations are provided, so the description must disclose behavioral traits. It only says 'List events' and gives examples, with no mention of side effects, access restrictions, or whether it is purely read-only. The transparency is minimal for a listing operation.

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

    Conciseness5/5

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

    The description is extremely concise: two sentences that immediately state the purpose and provide usage examples. Every word is necessary, and it adheres to front-loading the core function.

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

    Completeness2/5

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

    Despite having an output schema, the description lacks context about default behavior, pagination (skip/take), date range logic, and how location filtering works. It is too brief for a tool with 5 optional parameters, leaving significant gaps in understanding.

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

    Parameters1/5

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

    The input schema has 5 optional parameters with zero description coverage in the schema. The tool description does not explain what any parameter does (e.g., skip, take, date filtering, location_id). The agent must infer from parameter names alone, which is insufficient for a nuanced query.

    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 'List events' and gives examples of event types (clinics, lessons, tournaments, round robins, open play), making the purpose specific and understandable. However, it does not differentiate from sibling list tools like list_courts or list_locations, but the scope is clear.

    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 provides usage examples ('Use when: "what events are happening next month?"...') which guides the agent on suitable queries. It does not mention when not to use it or suggest alternatives like get_event for single events, so it falls short of a perfect score.

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

  • Behavior2/5

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

    With no annotations provided, the description should disclose behavioral traits. It does not mention that this is a read-only operation, authentication needs, pagination details, or any other side effects. The minimal description lacks behavioral context beyond the basic purpose.

    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, no filler. However, it could be slightly longer to include necessary parameter details without becoming verbose.

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

    Completeness2/5

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

    Given the tool has 3 parameters (one required), no annotations, and an output schema, the description is incomplete. It fails to explain parameters, output type, or pagination behavior, making it insufficient for correct usage.

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

    Parameters1/5

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

    Schema description coverage is 0%, so the description must compensate. However, the description does not explain any parameters (event_id, skip, take) or their meanings. This is a critical gap for an agent to correctly invoke the tool.

    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 lists registrations for an event, which distinguishes it from sibling tools like list_members or list_events. It directly answers the purpose.

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

    Usage Guidelines4/5

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

    The description includes a concrete example ('who's signed up for the Tuesday clinic?') that indicates when to use the tool, but does not explicitly state when not to use it or compare to alternatives.

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

  • Behavior2/5

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

    No annotations are provided, and the description only states what fields can be updated. It does not disclose potential side effects, authentication requirements, idempotency, or any impact on other entities. As a mutation tool, it should explain that it modifies the membership record.

    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 very concise: two short sentences plus example queries. The purpose is front-loaded in the first sentence, and the examples are immediately useful. Every part adds value without redundancy.

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

    Completeness2/5

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

    Given the tool has 4 parameters including a required membership_id and no annotations, the description is incomplete. It lacks parameter constraints, behavioral notes, and any details about the output (though output schema exists). The minimal information may lead to incorrect usage.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the description must compensate. It mentions three of the four parameters (tier, end_date, status) but does not specify formats, allowed values, or constraints for any parameter, including the required membership_id. This leaves significant ambiguity.

    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 it updates a membership, listing specific fields (tier, end date, status). It distinguishes from siblings like create_membership and cancel_membership. However, it does not explicitly state that it modifies an existing membership, though it is implied by the examples.

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

    Usage Guidelines4/5

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

    Provides explicit example queries (e.g., 'extend membership 67890 to year-end') that effectively illustrate when to use the tool. It does not include when-not-to-use or alternatives, but the examples are sufficiently clear for typical scenarios.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It indicates the tool fetches data but does not explicitly state that it is read-only, nor does it mention any permissions, side effects, or rate limits. The behavioral disclosure is minimal.

    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 very short and front-loads the purpose. It is concise but could benefit from a bit more detail on the parameter or behavioral traits without becoming verbose.

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

    Completeness3/5

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

    Given the tool has one parameter and an output schema (not shown), the description omits parameter details and behavioral transparency. It is adequate for a simple retrieval tool but leaves gaps for an AI agent to infer.

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

    Parameters2/5

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

    The input schema has only one parameter, court_id, with no description. The description only says 'by id' and does not add any additional meaning, such as the format or source of the ID. With 0% schema description coverage, the description fails to compensate.

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

    Purpose5/5

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

    The description uses the specific verb 'Fetch' and the resource 'court by id', and clearly lists the returned fields (surface type, location, hourly rate). It distinguishes this tool from the sibling tool list_courts by implying it returns details for a single court.

    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 concrete usage example ('show court 5...'), which strongly implies when to use this tool. However, it does not explicitly state when not to use it or mention alternative tools like list_courts.

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

  • Behavior2/5

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

    No annotations provided, so description carries full burden. It lacks disclosure of behavioral traits like read-only nature, authentication needs, rate limits, or error cases. Only implies a safe read operation.

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

    Conciseness4/5

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

    The description is extremely concise with two sentences, no fluff. However, it could be structured to include parameter docs or response hints without increasing length significantly.

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

    Completeness3/5

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

    Given the tool's simplicity (one parameter, output schema exists), the description covers purpose and usage but lacks behavioral and parameter detail. Adequate but not comprehensive.

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

    Parameters2/5

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

    Schema description coverage is 0%, and the description only mentions 'by id' without specifying the parameter format, constraints, or examples beyond the single-line example. Does not compensate for the missing schema descriptions.

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

    Purpose5/5

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

    The description clearly states the verb 'Fetch' and the resource 'a single event by id', listing specific fields like description, schedule, capacity, price. It distinguishes from list_events by focusing on a single 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?

    The description includes an explicit use case example: 'Use when: "show event 4444 - when does it start, what's the cost?"', which helps the agent understand when to invoke it. However, it does not mention when not to use or alternative tools.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full responsibility for behavioral disclosure. It only states the basic operation without explaining side effects, error conditions (e.g., member already in a family), identity requirements (member must exist), or permissions. This is insufficient for a mutation tool.

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

    Conciseness5/5

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

    The description is extremely concise: three lines covering purpose, usage, and parameters. Every sentence is necessary and front-loaded with the core action. No wasted words.

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

    Completeness2/5

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

    Despite having an output schema (not shown), the description omits any mention of the return value or behavior after linking. It does not address whether the tool returns the updated family or a status. For a mutation with no annotations, more context is needed regarding success/failure indicators and side effects.

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

    Parameters3/5

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

    The description adds brief explanations for each parameter beyond the schema titles, but they are minimal. Schema description coverage is 0%, so the description compensates partially but lacks detail on allowed values or constraints (e.g., relationship options).

    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 ('Link an existing member into a family account') and specifies the primary resource (existing member, family account). It distinguishes from sibling tools like create_member and delete_member by implying the member already exists.

    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 an explicit usage example ('add Sarah to the Doe family account'), which helps the agent understand when to invoke the tool. However, it does not mention when not to use it or alternatives (e.g., if the member doesn't exist, first use create_member).

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

  • Behavior2/5

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

    No annotations are provided, and the description only says 'Cancel' without disclosing any behavioral traits such as reversibility, required permissions, side effects, or return format. The burden of transparency is not met.

    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. The first sentence states the purpose, the second provides a usage example. Every word 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 an output schema (not shown), so return values may be documented there. However, given no annotations and minimal description, the tool feels incomplete for a cancellation action—it lacks context on prerequisites or consequences.

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

    Parameters2/5

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

    Schema description coverage is 0%, and the description does not explain the meaning of event_id or registration_id beyond the schema's titles. The tool adds no additional context for the 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 'Cancel a member's event registration' which is a specific verb+resource. It directly distinguishes from sibling tools like 'register_for_event' and 'list_event_registrations'.

    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 a concrete example ('pull Sarah out of the Tuesday clinic') that implicitly tells when to use the tool. However, it does not explicitly mention when not to use it or list alternatives.

    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?

    With no annotations, the description carries full burden. It discloses that the operation preserves the historical record and keeps the audit trail, but lacks details on side effects, permissions, or what happens to associated data.

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

    Conciseness5/5

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

    Extremely concise: two sentences and a usage example. Front-loaded with the purpose, no superfluous 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?

    Given the simple nature (one parameter, output schema exists), the description is largely complete. It covers the main effect and rationale, though it could mention prerequisites like active membership.

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

    Parameters2/5

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

    The only parameter (membership_id) has no description in schema (0% coverage). The description does not add any meaning beyond the schema, such as how to obtain the ID or its format.

    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 cancels/terminates a membership and preserves the historical record. It distinguishes from outright deletion, but does not explicitly name the sibling tool delete_member.

    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 an example usage ('cancel membership 67890') and advises that it is preferable to deleting, giving context on when to use. However, it does not list when not to use or alternative tools by name.

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

  • Behavior2/5

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

    No annotations are provided, so the description must convey behavioral traits. It states that the response 'includes linked members', which adds some context beyond the schema. But it lacks details about authentication requirements, error behavior (e.g., if family_id not found), or any side effects. For a read-only tool, the bar is lower, but more transparency would be beneficial.

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

    Conciseness5/5

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

    The description is extremely concise, consisting of two short sentences. The key information is front-loaded, and there is no extraneous text. Every word contributes to understanding the tool's purpose.

    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 an output schema (not shown) and a single parameter. The description covers the core behavior (fetch by ID, include members). However, it does not mention what happens if the family is not found, or any related error conditions. Given the presence of an output schema, the description could be slightly more detailed.

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

    Parameters2/5

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

    The input schema has one parameter 'family_id' with 0% description coverage (no description in the schema). The tool description does not explain what this ID represents, how to obtain it, or any constraints (e.g., must be positive integer). The meaning is implied by the context but could be clearer.

    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 uses the verb 'Fetch' and specifies the resource 'family account by id'. It also mentions that the result includes linked members, which distinguishes it from the sibling tool 'list_families' that returns a list.

    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 concrete use-case example ('show family 555's profile - which members are linked?') that clarifies when to use the tool. However, it does not explicitly state when not to use it or provide alternatives, such as using 'list_families' for browsing.

    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?

    No annotations are provided, so the description must cover behavioral traits. It mentions filtering but does not disclose pagination behavior (skip/take), default ordering, or whether it returns all statuses or only active ones. The description is adequate but lacks important details for a listing tool.

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

    Conciseness5/5

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

    The description is a single sentence plus three examples, with no redundant information. Every part serves a purpose, making it concise and well-structured.

    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 output schema exists, return value details are not needed. However, the description lacks clarity on whether it lists all memberships or only active ones (as implied by the example 'what memberships are active?'), and does not explain pagination. This leaves gaps in understanding the full behavior.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the description must compensate. It explains member_id and location_id filters but omits skip and take parameters entirely, leaving pagination semantics unexplained. This is a significant gap for a tool with 4 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 'List memberships' and specifies optional filters by member or location, distinguishing it from sibling tools like get_membership, create_membership, and cancel_membership.

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

    Usage Guidelines4/5

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

    Provides explicit example queries ('what memberships are active?', 'show member 12345's membership history', 'list all memberships at location 1'), giving clear usage context. However, it does not mention when not to use it or alternatives like get_membership for a single record.

    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?

    No annotations provided, so description must disclose behavior. It mentions list operation and optional filters but does not specify if read-only, rate limits, or ordering. The description is minimally transparent; user must infer safety from context.

    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?

    Description is relatively concise with a short paragraph and an Args list. However, the Args section largely repeats parameter info from the schema, and could be more compact. No wasted sentences.

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

    Completeness3/5

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

    Given the tool's complexity (7 optional parameters, pagination, multiple filters) and no annotations, the description lacks information on default order, maximum page size, or behavior when no filters applied. Output schema exists but is not described. Completeness is adequate but not thorough.

    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 0%, so description must compensate. The Args section adds minimal meaning (e.g., 'skip: Paging offset', 'take: Page size (default 100)') beyond parameter names, but is not detailed enough. For 7 parameters, the descriptions are brief but functional.

    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 court reservations with optional filters, distinguishing it from sibling tools like get_reservation (single) and cancel_reservation (delete). The verb 'list' and resource 'reservations' 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?

    Provides example queries ('what reservations are on court 3 this Saturday?') and lists parameter descriptions, but does not explicitly state when not to use or compare to siblings like list_events or get_reservation. Usage guidance is implied but not exhaustive.

    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?

    Discloses that partial updates are supported and only passed fields are updated, which is key behavioral information. With no annotations, more details (e.g., authorization, side effects) would improve transparency, but the description covers the core behavior.

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

    Conciseness5/5

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

    The description is very concise at three sentences, front-loading the main purpose and immediately giving concrete usage examples. No superfluous 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 the presence of an output schema (status unknown), the description omits return value details, error handling, and prerequisites (e.g., member must exist). Sibling tools like create_member are not differentiated in terms of when to use which. Adequate but not complete.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the description must compensate. It adds general context about partial updates and gives examples for 'phone' and 'email', but does not describe individual parameters (first_name, last_name, notes, member_id). This leaves parameter meanings partially explained.

    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') and resource ('an existing member'), distinguishing it from sibling tools like create_member and delete_member. The mention of 'partial updates' adds specificity.

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

    Usage Guidelines4/5

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

    Provides explicit usage examples ('change Jane phone number', 'fix typo in member 12345 email') that help the agent understand when to use this tool. However, it does not mention when not to use it or compare with alternatives like create_member for new members.

    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?

    With no annotations, the description carries the burden. It adds that a courtesy email is sent if configured, which is useful behavioral context. However, it omits other potential side effects or permissions needed for a deletion operation.

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

    Conciseness5/5

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

    Two sentences, front-loaded with the main action. Every sentence adds value and there is no redundancy.

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

    Completeness4/5

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

    Given the tool's simplicity (one parameter, no nested objects), the description covers the core action and a behavioral note. It does not explain the output schema, but since one exists, that is acceptable. Could be more thorough but is sufficiently complete.

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

    Parameters2/5

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

    Schema coverage is 0%, so the description should compensate. It does not describe the reservation_id parameter beyond what the schema provides. However, the parameter is self-explanatory (an integer ID), so the lack is partially mitigated.

    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 'Cancel (delete) a court reservation', which is a specific verb and resource. It distinguishes the tool from siblings like create_reservation or get_reservation.

    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 concrete example 'Use when: "cancel reservation 8888"', giving clear context for invocation. It does not explicitly mention when not to use or alternatives, but the example is sufficient.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. It only states the action and parameters, omitting any discussion of side effects, permissions, validation (e.g., availability checks), or error conditions.

    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 (one-line purpose, usage pattern, then parameter list with no extraneous words). Structure is clear and easy to parse.

    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 presence of an output schema, the description does not need to cover return values. It adequately explains the basic creation operation but lacks behavioral context such as whether the reservation is immediately confirmed or if there are constraints on overlapping bookings.

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

    Parameters4/5

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

    Schema description coverage is 0%, requiring the description to fully explain parameters. It lists all six parameters with brief but helpful descriptions (e.g., ISO datetime format for start_time, purpose of additional_member_ids). Some descriptions are minimal (e.g., 'Target court id.').

    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 new court reservation' and includes a concrete usage example. It distinguishes the tool from siblings like cancel_reservation, get_reservation, and list_reservations.

    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 an explicit usage example ('Use when: ...') that clarifies the intended invocation pattern. However, it does not explicitly state when not to use this tool or compare it to alternatives.

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

  • Behavior2/5

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

    No annotations provided, and the description lacks behavioral details such as side effects, required permissions, or duplicate handling. It only states the action without additional context.

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

    Conciseness5/5

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

    Concise and well-structured: a brief statement, usage hint, and bulleted parameter list. Every sentence adds value.

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

    Completeness4/5

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

    Given the output schema exists and the tool is straightforward, the description provides enough to use it correctly. Minor gap: no mention of uniqueness or error conditions.

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

    Parameters4/5

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

    With 0% schema coverage, the description adds meaning to all parameters, e.g., 'Primary email - used for login' for email and 'Home location for multi-location clubs' for location_id.

    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 new club member' with a specific verb and resource. It distinguishes itself from siblings like add_family_member and create_membership.

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

    Usage Guidelines4/5

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

    Provides explicit usage examples like 'add Jane Doe to the club' and 'register a new member'. Does not mention when not to use, but context is clear.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries full burden. It implies read-only behavior but does not mention error handling (e.g., what happens if location_id not found), permissions, or side effects. It discloses that the response includes address, hours, and contact info, which is useful but minimal.

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

    Conciseness5/5

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

    The description is extremely concise: two brief sentences, no fluff. The first sentence states purpose, the second provides a usage example. Every word earns its place.

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

    Completeness4/5

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

    Given the tool's simplicity (single integer parameter, read-only fetch) and the presence of an output schema (reducing need to describe return format), the description is nearly complete. It could mention that a single object is returned or cover error cases, but overall it suffices.

    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 only one parameter (location_id) and 0% schema coverage, the description adds minimal value: it says 'by id' which paraphrases the parameter name. The parameter is self-explanatory, but the description could clarify that it expects the unique identifier of the location.

    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 fetches a single location by ID and lists the included details (address, hours, contact info). It distinguishes from list_locations, which presumably returns multiple locations.

    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 a concrete usage example ('show our downtown location's details') that helps the agent understand when to invoke. However, it lacks explicit guidance on when not to use this tool versus alternatives like list_locations.

    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?

    No annotations are provided, so the description must carry the full burden. It indicates a read operation fetching membership details but does not disclose error behavior (e.g., 404 for missing id) or any permissions needed. However, given the tool's simplicity, the description is adequate.

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

    Conciseness5/5

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

    The description is two sentences: the first states purpose and content, the second gives a usage example. It is front-loaded and contains no fluff, earning a high score.

    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 an output schema (not shown) which likely documents return values. The description covers purpose, content, and usage. For a simple single-parameter fetch, this is nearly complete, only missing potential details like error states.

    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 one parameter (membership_id) with no description. Schema coverage is 0%, but the description implies the parameter by saying 'by id'. For a single obvious parameter, this is acceptable, though explicit mention would improve clarity.

    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 'Fetch a single membership by id' and specifies the returned fields (tier, status, dates, billing). It distinguishes from siblings like list_memberships (list) and update_membership (modify).

    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 concrete usage example 'show membership 67890's full details', providing clear guidance on when to use the tool. While not explicitly stating when not to use, the example suffices for a simple fetch operation.

    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?

    No annotations provided, so description bears full burden. 'Fetch' implies read-only but does not explicitly state non-destructive nature, permissions, or error conditions. Acceptable for a simple get but lacks explicit safety disclosure.

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

    Conciseness5/5

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

    Extremely concise: two sentences and a use case example. No redundant information, 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 simple 1-parameter fetch tool with an output schema, the description covers purpose, fields, and usage scenario adequately. No further context needed.

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

    Parameters2/5

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

    Schema coverage is 0% with no parameter descriptions. Description mentions 'by id' and the example implicitly uses transaction_id, but does not explicitly document the parameter meaning, format, or source of the id.

    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 'Fetch' and resource 'single transaction' with explicit fields returned (amount, type, payment method, status). Distinguishes from siblings like list_transactions by being singular.

    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 a concrete use case example for when to use ('show transaction 9999 - what was it for?'), but does not explicitly state when not to use or mention alternatives like list_transactions.

    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?

    No annotations are provided, so the description bears the full burden for behavioral disclosure. It states the tool lists courts at one or all locations, but does not disclose return format, pagination, or any side effects. The presence of an output schema (context signal) somewhat mitigates the lack, but the description itself is sparse.

    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: a single sentence stating the purpose followed by two example queries. Every sentence adds value, and the structure is front-loaded with the core functionality. 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 the tool's simplicity (single optional parameter, output schema exists), the description is largely complete for an agent to understand when and how to use it. It covers the main use cases. However, it could briefly mention that the output is a list of court objects, but since the output schema exists, this 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 schema coverage is 0%, meaning the parameter description is missing from the schema. The description compensates minimally by implying the location_id parameter is optional ('one or all locations'), which adds meaning beyond the raw schema. However, it does not detail the parameter type or allowed values beyond what the schema already shows.

    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 'List courts at one or all locations,' which specifies the verb (list), resource (courts), and scope (one or all locations). It distinguishes itself from sibling tools like 'get_court' (singular) and 'list_locations' (different 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 provides explicit example use cases ('what courts do we have at location 1?', 'list all 12 courts'), indicating when to use the tool. However, it does not explicitly mention when not to use it or provide alternative tools, though the context of siblings like 'get_court' implies a singular alternative.

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

  • Behavior2/5

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

    No annotations are provided, so the description must carry full burden. It does not disclose behavioral traits such as read-only nature, pagination behavior, or potential side effects. The description implies read-only via 'list', but an agent would benefit from explicit safety information.

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

    Conciseness5/5

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

    The description is front-loaded with purpose, followed by usage examples and then parameter documentation. Every sentence is valuable and concise 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 all parameters and usage context. Although it doesn't mention the return type (list of transactions), an output schema exists, so this is acceptable. Could be more complete by noting pagination via skip/take.

    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?

    Despite 0% schema description coverage, the description provides detailed docstrings for each parameter (e.g., 'ISO date lower bound' for start_date), adding meaningful context beyond the input 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 verb 'list' and resource 'payment transactions' with specific examples ('charges, credits, refunds'), distinguishing it from sibling tools like get_transaction or list_members.

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

    Usage Guidelines4/5

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

    The description gives explicit usage examples like 'show me yesterday's revenue' and 'what did member 12345 spend this month?', providing clear context for when to use this tool, though it lacks explicit alternatives or when-not-to-use guidance.

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

  • Behavior2/5

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

    No annotations are provided, so the description bears full responsibility for behavioral disclosure. It only states the basic action, omitting important details such as idempotency, error conditions (e.g., duplicate registration), or the response format. This lack of transparency is a significant gap.

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

    Conciseness5/5

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

    The description is extremely concise: three sentences plus the parameter list. It front-loads the purpose and usage example, with every sentence adding value. No unnecessary content.

    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 registration tool with 3 parameters and an output schema (not described), the description covers the essential usage. It lacks details about the return value or error handling, but given the tool's straightforward nature and sibling context, it is mostly complete.

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

    Parameters4/5

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

    With 0% schema description coverage, the description compensates by listing and describing each parameter: 'Target event id,' 'Member to register,' and 'Optional notes (partner name, skill level, etc.).' While not exhaustive, this adds sufficient meaning beyond the schema's type and name.

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

    Purpose5/5

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

    The description clearly states the tool's action: 'Register a member for an event.' It provides a concrete usage example ('sign Sarah up for the Tuesday clinic'), which reinforces the purpose. The tool is distinct from siblings like cancel_event_registration and list_event_registrations.

    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 includes a 'Use when' clause with an example, giving clear context for when to invoke this tool. However, it does not mention when not to use it or provide alternatives, which would improve 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?

    No annotations are provided, so the description carries the full burden. It correctly indicates a read operation, but does not mention idempotency, error behavior, or that it returns data without side effects. The example implies a successful lookup.

    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 short sentences that front-load the purpose and include a clear usage example. 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 has a single parameter and an output schema (not shown), the description covers the main return fields (player list, court, time, cost). It is mostly complete, though it could mention error cases (e.g., invalid ID) or idempotency.

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

    Parameters2/5

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

    Schema description coverage is 0% (no parameter descriptions in schema). The description only says 'by id' without adding details about the reservation_id parameter's format, range, or source. The example shows a numeric value, but this is insufficient to compensate for the lack of schema descriptions.

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

    Purpose5/5

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

    The description explicitly states the tool fetches a single reservation by ID and lists the return fields (player list, court, time, cost). This clearly distinguishes it from sibling tools like list_reservations that return multiple reservations.

    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 concrete example of when to use the tool ('show reservation 8888 - who booked it?'). However, it does not explicitly state when not to use it or mention alternatives such as list_reservations for multiple reservations.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. It does not disclose behavioral traits such as read-only nature, permissions, or side effects. The lack of transparency is a gap, though listing operations are generally safe.

    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 short, focused sentences with no wasted words. The key information (what it lists and when to use) is front-loaded.

    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 no-parameter list tool with an output schema, the description is sufficient. It explains what records are returned (locations, potentially 1 for single-location clubs). No need for return value details.

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

    Parameters4/5

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

    The tool has zero parameters, and schema coverage is 100%. Per guidelines, baseline is 4; no additional param information is needed, and the description adds no confusion.

    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 'List the club's locations (sites / branches).' The verb 'list' and resource 'locations' are specific, and the sibling 'get_location' distinguishes it as the plural listing tool.

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

    Usage Guidelines4/5

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

    Provides an explicit usage example 'Use when: "list all our club locations"' and notes behavior for single-location clubs. However, no exclusions or alternatives are given beyond sibling names.

    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?

    No annotations provided. Description discloses that it creates a membership, with defaults and optional parameters. However, it does not specify permissions, whether it can replace existing memberships, or effect on other data. The presence of an output schema mitigates some transparency gaps.

    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?

    Concise, well-structured: one-line purpose, usage example, then bullet list for arguments with clear descriptions. No redundant 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?

    Covers all 5 parameters and their semantics with usage context. Missing details about return value (likely covered by output schema) and preconditions. Sufficient for a typical creation tool.

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

    Parameters5/5

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

    Schema description coverage is 0%, so description fully compensates. Each parameter is explained with examples and context: tier names are config-dependent, start_date defaults to today, end_date open-ended if omitted, location_id only for multi-location clubs.

    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 'Assign a membership tier to a member', a specific verb+resource. It distinguishes from sibling tools like cancel_membership and update_membership.

    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 an explicit usage example 'give Jane a Gold membership starting today' and explains each parameter's purpose. Missing explicit when-not-to-use or alternatives, but the example implies typical usage.

    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 highlights the key behavioral trait of irreversibility ('often irreversible'). However, the qualifier 'often' introduces slight ambiguity. With no annotations, the description adequately conveys the main risk but could be more precise.

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

    Conciseness5/5

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

    Three sentences with no redundancy. Front-loads purpose, then caution, then alternative. Every sentence adds value.

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

    Completeness4/5

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

    Given the tool's simplicity (1 parameter, deletion action), the description covers purpose, caution, and alternative. However, it lacks details on what exactly is deleted (e.g., associated data) and the output schema is available but not described. Still sufficient for an agent to use 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 0%, so the description must compensate. It provides an example usage ('delete member 12345') which clarifies the member_id parameter, but no explicit description of the parameter's source or format. For a single self-explanatory parameter, this is adequate but minimal.

    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 'Remove a member from the club' with a specific verb and resource. It distinguishes from siblings like cancel_membership by indicating the alternative. The purpose is unambiguous.

    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 advises caution due to irreversibility and suggests an alternative: cancel_membership. This provides clear when-to-use and when-not-to-use guidance.

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

  • Behavior4/5

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

    No annotations provided, so description carries full burden. It states it returns the full record including family, membership, contact info, and account status. Does not mention failure cases or permissions, but sufficient for a read operation.

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

    Conciseness5/5

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

    Two sentences, front-loaded with purpose, followed by usage examples and return summary. No superfluous content.

    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?

    Tool has 1 parameter and an output schema; description covers what it does, when to use, and what it returns. No further details needed.

    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 one parameter, member_id, which is self-explanatory. Description adds 'by id', confirming its role. Schema coverage is 0%, but the parameter is obvious and description compensates.

    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 fetches a single member's full profile by id, with a specific verb and resource. It distinguishes from siblings like list_members, create_member, update_member, and delete_member.

    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?

    Includes explicit usage examples like 'show member 12345's profile' and 'what membership tier does Sarah have?'. Does not explicitly state when not to use, but context is clear.

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

  • Behavior4/5

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

    Describes paging (skip, take), search filter (q), and location filter, implying read-only behavior. No annotations exist, so description carries full burden; fairly transparent but lacks mention of ordering or inactive member 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?

    Concise, well-structured with headings and bullet points. Every sentence adds value without redundancy.

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

    Completeness4/5

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

    Covers main usage and parameters; output schema handles return values. Omits ordering details but acceptable for a list tool. Could mention result limits or behavior for invalid queries.

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

    Parameters5/5

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

    All four parameters are described with clear purpose and defaults, compensating for 0% schema coverage. Provides context like paging offset, page size, substring matching, and location filtering.

    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 'List club members' with specific verb and resource, and distinguishes from sibling tools like get_member (single) and create_member (mutate) via examples.

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

    Usage Guidelines4/5

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

    Provides explicit 'Use when:' section with example user intents. Implicitly differentiates from get_member for single lookups, but does not explicitly state when not to use.

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

  • Behavior4/5

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

    Describes the main behavior (verify credentials, return locations) and mentions required config. No annotations provided, so description carries burden. Could be more explicit about error responses, but overall clear.

    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 purpose and usage. No wasted words.

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

    Completeness5/5

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

    Given the simplicity of a health check and presence of an output schema, the description covers the essential purpose and usage completely.

    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?

    Tool has zero parameters; baseline score is 4. Description adds no param info because none exist.

    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?

    States 'Verify credentials work' and 'Returns location list as a smoke test', clearly identifying the tool as a health check. Distinct from sibling CRUD tools.

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

    Usage Guidelines5/5

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

    Explicitly defines when to use ('is my CourtReserve API key valid?'), notes that failure implies all other tools fail, and lists prerequisites (environment variables, plan level).

    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

courtreserve-mcp MCP server

Copy to your README.md:

Score Badge

courtreserve-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/sanjibani/courtreserve-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server