Skip to main content
Glama
84emllc
by 84emllc

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool targets a distinct resource and action: authentication (refresh_access_token, get_oauth_url, exchange_code_for_tokens), user info (get_current_user), events (list_events, get_event, cancel_event, schedule_event), invitees (list_event_invitees), organization (list_organization_memberships), event types (list_event_types), and availability (get_event_type_availability). No ambiguity between list_events and get_event; they clearly differ in scope.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern in lowercase snake_case (e.g., list_events, get_event, cancel_event, schedule_event). Verbs are specific and non-repetitive across different resources, and no mixed naming conventions are present.

    Tool Count5/5

    With 12 tools, the server is well-scoped for a Calendly integration. It covers authentication, user, events, invitees, organization memberships, event types, availability, and scheduling without feeling bloated or sparse.

    Completeness4/5

    Core workflows are covered: OAuth authentication, viewing user info, listing and getting events, listing invitees, cancelling events, listing event types, fetching availability, and scheduling. Minor gaps exist such as creating/updating event types or rescheduling events, but these are not critical for the primary scheduling use case.

  • Average 3.3/5 across 12 of 12 tools scored.

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

    • No community issues in the last 6 months
    • 0 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 passing
  • 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?

    No annotations are provided, so the description carries the full burden. It only says 'Get available time slots' without disclosing read-only status, authentication requirements, timezone handling, or what exactly is returned. This leaves the agent without clear behavioral expectations.

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

    Conciseness4/5

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

    The description is a single concise sentence that is front-loaded with the verb and object. It contains no filler, though it could benefit from a bit more context without harming its clarity.

    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?

    With no output schema and no annotations, the description must explain return values and context, but it does not. It fails to mention what the available time slots look like, whether authentication is needed, or how the optional time window affects results. Given three parameters and the scheduling-related siblings, this is under-specified.

    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 all parameters are documented with clear descriptions. The tool description adds only the overarching purpose and does not provide additional meaning about how start_time and end_time constrain the availability window.

    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 retrieves available time slots for a given event type, which distinguishes it from list_event_types and schedule_event. However, it does not explicitly differentiate it from sibling tools or mention the time-window parameters.

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

    Usage Guidelines2/5

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

    No guidance is given on when to use this tool versus alternatives. It does not mention that it is a pre-booking availability check or how it relates to list_event_types or schedule_event. Usage context is only implied by the tool name and description.

    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, the description must carry full behavioral disclosure. It does not explicitly state that this is a read-only operation, nor does it mention pagination via count, default sorting, time-range filtering, or that user_uri can override the authenticated user scope. Significant behavioral information is 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 a single concise sentence with no filler or redundancy. It is front-loaded and easy to parse, though it could have included more context without becoming verbose. Efficiency is good, but substance is thin.

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

    Completeness2/5

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

    The tool has six optional parameters and no output schema, so the description must provide orientation about capabilities and constraints. It fails to mention filtering options, pagination, time bounds, or the ability to target other users via user_uri, making it insufficient for an agent to understand the tool's full scope and invoke it 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?

    All six parameters are fully described in the schema (100% coverage), so the description need not repeat their syntax. However, it adds no extra semantics about how parameters interact, default behavior, or which combinations are valid, leaving the schema as the sole source of information.

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

    Purpose4/5

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

    The description clearly identifies the action (List) and resource (scheduled events) with a scope (for the authenticated user). It distinguishes from get_event by implying a collection operation, though it does not explicitly mention filtering by user_uri which could list events for other users.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus siblings like get_event (single event), list_event_types, or list_event_invitees. No alternatives, exclusions, or contextual cues are 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?

    With no annotations, the description must carry the full burden of behavioral disclosure. It only says 'list available event types' and does not disclose return format, pagination behavior, filtering semantics, or what determines availability, adding little beyond the tool's name.

    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, focused sentence that states the core purpose without extraneous words. It is front-loaded and every word earns its place.

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

    Completeness2/5

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

    For a tool with no annotations and no output schema, the description is minimal. It omits usage guidance, behavioral details, and explicit sibling differentiation. The schema covers parameters, but the overall context is insufficient for an agent to confidently select and invoke this tool over alternatives.

    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 three parameters (user, count, organization). The description itself provides no additional parameter-level meaning, so 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.

    Purpose4/5

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

    The description uses a specific verb ('List') and resource ('event types'), with a clarifying context ('for scheduling meetings'). It is clear, but it does not explicitly contrast with siblings like get_event_type_availability or list_events, so it stops short of full differentiation.

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

    Usage Guidelines2/5

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

    No when-to-use guidance is provided. The phrase 'for scheduling meetings' hints at context but does not explain when to choose this over list_events or get_event_type_availability, and there are no exclusions or prerequisites mentioned.

    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, the description carries the full burden, but it only restates the function without disclosing important behaviors like token rotation, expiry duration, or what the response contains. There is no mention of side effects, error conditions, or whether the old refresh token is invalidated.

    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?

    At one sentence, the description is highly concise and front-loads the core action. The slight redundancy of 'refresh' twice is minor, but overall it is appropriately sized and well-structured for a simple tool.

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

    Completeness2/5

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

    Given the absence of an output schema, the description should clarify what the tool returns or how the refresh token is consumed. It lacks this, leaving the agent uncertain about whether a new access token is returned and whether the refresh token is rotated. This is a significant gap for a token-management 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?

    The input schema fully documents the single required parameter with 100% coverage. The description's 'using refresh token' adds no semantic value beyond the schema's 'The refresh token to use', so 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.

    Purpose4/5

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

    The description clearly states the action ('Refresh access token') and the resource ('access token') using 'refresh token', making the core purpose unambiguous. It does not explicitly differentiate from sibling tools like exchange_code_for_tokens, but the distinction is implicit in the different grant type.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives such as exchange_code_for_tokens or get_oauth_url. The description only states the mechanism without any context on token lifecycle, prerequisites, or exclusion cases.

    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, the burden falls on the description to disclose side effects, but it only says 'creating an invitee'. It does not explain that this mutates external calendars, sends invitations, or has cancellation implications. The write nature is implied but not elaborated.

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

    Conciseness5/5

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

    The description is a single, front-loaded sentence with zero filler. Every word contributes to the core purpose, making it highly concise and efficiently structured.

    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?

    This tool has 15 parameters, no output schema, and no annotations, yet the description is only one sentence. It fails to mention return value (e.g., booking confirmation/URL), behavior on scheduling conflicts, or required parameter combinations. This is inadequate 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%, so the schema fully documents all 15 parameters. The description adds minimal extra value by highlighting event type and time, but doesn't clarify optional groupings or dependencies (e.g., invitee_name vs first/last name, physical location details). Baseline 3 is appropriate since the schema does the heavy lifting.

    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 states the primary action ('Schedule a meeting') and the resource created ('an invitee') for a specific event type and time. This clearly distinguishes it from sibling tools like list_events or cancel_event. However, it omits other required inputs like invitee_email and timezone, so it's not fully precise.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives such as get_event_type_availability or list_event_types. It does not mention prerequisites like OAuth authentication or checking availability before scheduling. The usage context is entirely absent.

    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, the description carries the full burden of behavioral disclosure. It only states the action 'Cancel' but does not mention whether cancellation is reversible, what happens to invitees, or if special authorization is required. This is a significant gap for a mutating 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, front-loaded sentence that states the action with zero wasted words. It is appropriately sized for the tool's simplicity, though brevity sacrifices behavioral detail.

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

    Completeness2/5

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

    The tool has no output schema and no annotations, so the description must explain side effects and results. It does not mention what happens on successful cancellation, error conditions, or cascading effects such as notifications to invitees. The description is inadequate for a tool with mutating 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?

    Schema description coverage is 100%, with both event_uuid and reason having descriptions. The tool description adds no additional parameter semantics, so the baseline of 3 applies since the schema does the heavy lifting.

    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 and resource: 'Cancel a specific event'. It clearly distinguishes this tool from siblings like schedule_event (create), get_event (read), and list_events (list). The word 'specific' implies targeting by identifier, which aligns with the required event_uuid parameter.

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

    Usage Guidelines2/5

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

    No guidance is provided about when to use this tool versus alternatives, nor any prerequisites such as checking event status or permissions. It does not state whether it should only be used for upcoming events or if get_event should be called first to confirm details.

    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 the full burden of behavioral disclosure. It only states 'Get details' without explicitly confirming the read-only nature, auth requirements, error behavior (e.g., if the event is not found), or what constitutes 'details'. This is a minimal but not fully transparent 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?

    The description is a single, front-loaded sentence with no redundant words. It states the core action and resource efficiently, earning its place without any fluff.

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

    Completeness3/5

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

    For a simple getter with one parameter and no output schema, the description is minimally adequate. However, it does not explain what 'details' includes or any expected return format, which could leave the agent uncertain. Given the low complexity, this is a passable but not complete description.

    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 single parameter (event_uuid), so the baseline is 3. The description adds no extra parameter-specific semantics beyond the schema, but given the schema fully documents the parameter, this is acceptable.

    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 'Get details of a specific event' uses a specific verb ('Get') and resource ('details of a specific event'), clearly distinguishing it from sibling tools like list_events (which lists multiple events) and cancel_event (which cancels an event). It precisely communicates 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 Guidelines2/5

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

    The description gives no guidance on when to use this tool versus alternatives such as list_events or list_event_invitees. There is no mention of scenarios where this tool is preferred, nor any exclusions, leaving the agent to infer usage purely from the tool 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 alone must convey behavioral traits. It only states 'List invitees' without disclosing pagination limits, filtering behavior, permissions, or the fact that it is a read-only operation. The description adds no safety or side-effect context beyond what the schema already implies.

    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, direct sentence: 'List invitees for a specific event.' It is concise, front-loaded with the action verb, and contains no unnecessary words. Every word contributes to the purpose, making it highly efficient.

    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 four parameters and no output schema or annotations, the description provides minimal context. It does not mention that the tool supports filtering, pagination, or default counts (though these are in the schema). It also fails to hint at use cases or prerequisites, leaving the agent under-informed for a tool of this complexity.

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

    Parameters3/5

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

    The input schema covers all four parameters with descriptive text, achieving 100% coverage. The description adds no extra meaning beyond pointing to 'a specific event,' which aligns with the required event_uuid parameter. Since the schema already documents parameters well, the description does not need to compensate further, earning a 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 action ('List') and the resource ('invitees for a specific event'). It distinguishes the tool from siblings like list_events (which lists events) and get_event (which retrieves a single event). The verb+resource combination 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 Guidelines3/5

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

    The description implies use when a user needs invitees for a particular event, but provides no explicit when-to-use guidance or mention of alternatives. Sibling tools suggest distinct purposes (e.g., list_events for event lists), but the description does not address when this tool is preferred over others. Usage context is only implied.

    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 of disclosing behavioral traits. It only states the action without mentioning safety, side effects, permission requirements, or whether it is a read-only operation. For a tool that generates a URL, the description should explicitly note that it makes no data changes and ideally mention any network calls.

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

    Conciseness5/5

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

    The description is a single, front-loaded sentence that directly states the tool's purpose. It is efficiently concise with no redundant or filler 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?

    For a simple tool with two parameters and no output schema, the description is adequate but lacks context about the OAuth flow. It does not explain that this is typically the first step in the OAuth process or describe the return value in detail (though the name implies the returned URL). The siblings show interaction with token exchange, but the description does not indicate how this tool fits.

    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 both parameters have detailed descriptions in the input schema. The tool description itself adds no extra meaning about parameters, but since the schema already covers them, 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 'Generate' and the resource 'OAuth authorization URL', explicitly for user authentication. It distinguishes the tool from OAuth-related siblings like exchange_code_for_tokens and refresh_access_token, which handle later steps in the flow.

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

    Usage Guidelines3/5

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

    The usage is implied by the function name and description, but no explicit guidance is given on when to use this tool vs alternatives like exchange_code_for_tokens. There is no mention of the OAuth flow sequence or performance considerations, leaving room for ambiguity.

    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 responsibility for behavioral disclosure. It only states that the tool exchanges a code for tokens, but does not mention that the authorization code is typically single-use, that this is a security-sensitive OAuth step, or any side effects or prerequisites. This is a significant gap for a token-related operation.

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

    Conciseness5/5

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

    The description is a single, concise sentence that immediately states the tool's purpose. It is front-loaded and contains no filler or unnecessary repetition, making it efficient and easy to parse.

    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 two-parameter tool with a clear purpose, the description is mostly complete: it names the output (access and refresh tokens) and the core action. However, without an output schema or annotations, a brief note on the one-time nature of the code or success/failure behavior would improve completeness, but the current level is adequate for a simple OAuth exchange.

    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 already provides complete descriptions for both parameters (code and redirect_uri), with 100% coverage. The description adds no additional semantic meaning beyond what the schema already defines, so it meets the baseline but does not enhance parameter understanding.

    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 specific action: exchange an authorization code for tokens, using the verb 'Exchange' and identifying both inputs (authorization code) and outputs (access and refresh tokens). It is distinct from the sibling tool 'refresh_access_token' and the other related 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 description implies the use case (after obtaining an authorization code, before using tokens) but does not explicitly state when to use this tool versus alternatives like refresh_access_token or get_oauth_url. No explicit exclusions or alternative guidance is provided, but the context and function name make the primary use 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 the behavioral burden. It implies a read-only operation and implicitly requires authentication, but it does not disclose details such as pagination behavior, result ordering, or any permissions beyond authentication.

    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 immediately states the action and resource. No filler or 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?

    For a straightforward list operation with optional filters and no output schema, the description sufficiently conveys the tool's core purpose. It could be enhanced by indicating the return shape, but the absence of that is not a significant gap given the 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?

    All four parameters are fully described in the schema (100% coverage), so the description need not add semantic details. It does not, but the baseline of 3 is appropriate since the schema already explains each parameter's purpose.

    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 ('List') and a distinct resource ('organization memberships') clearly scoped to the authenticated user. It differentiates well from sibling tools targeting events, auth tokens, and user profile data.

    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 phrase 'for the authenticated user' establishes clear context, indicating this tool is appropriate for retrieving the current user's memberships. It does not explicitly exclude alternatives, but no competing membership tools exist among siblings.

    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 provided, the description carries the full burden. The verb 'Get' implies a read-only operation, and 'authenticated' hints at auth requirements, but no additional behavioral details (e.g., error cases, return shape) are disclosed.

    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 concise sentence that is front-loaded and contains no unnecessary words.

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

    Completeness5/5

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

    Given the tool's simplicity (zero parameters, no output schema, low complexity), the description adequately covers what it does and implies the authentication context. No additional detail is 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?

    The tool has zero parameters, and the schema is empty. The baseline for zero parameters is 4, and the description does not need to provide parameter-level 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 'Get the current authenticated user information' with a specific verb and resource. It distinguishes itself from sibling tools which focus on OAuth flows, events, and memberships.

    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: when you need the current authenticated user's information. However, it does not explicitly state when to use this over alternatives or mention any exclusions.

    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

calendly-mcp-server MCP server

Copy to your README.md:

Score Badge

calendly-mcp-server 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/84emllc/calendly-mcp-server'

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