Skip to main content
Glama

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 action: login, hotel search, hotel details, room rates, booking, reservation management, and rewards. Even similar tools like get_reservations vs get_reservation_details are clearly separate list vs detail operations.

    Naming Consistency5/5

    All tool names follow a consistent 'ihg_<verb>_<noun>' pattern using snake_case. Verbs are clear and consistent (get, search, book, cancel, modify, redeem), making the API predictable.

    Tool Count5/5

    The 12 tools are well-scoped for the IHG hotel booking and rewards domain. Each tool covers a necessary function without redundancy, and the count is within the ideal 3-15 range.

    Completeness5/5

    The tool set covers the full lifecycle: authentication, hotel search/details/rates, booking, reservation retrieval/modification/cancellation, and rewards balance/history/redemption. No obvious gaps for the intended domain.

  • Average 3.7/5 across 12 of 12 tools scored. Lowest: 2.9/5.

    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 status not available
  • 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 alone must disclose side effects. It states the tool 'initiates a points booking,' which implies a mutation, but does not clarify whether this completes a reservation, requires confirmation, or has cancellations/refund policies. Lacking any behavioral context beyond the action itself is insufficient for a booking-related 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, focused sentence that front-loads the core action ('Check points redemption options') and includes the secondary action ('initiate a points booking'). No filler or redundant information, making it exceptionally concise.

    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 involves both a read operation (checking options) and a write operation (initiating a booking), yet there is no output schema, no annotations, and no elaboration on what 'initiate' entails (e.g., booking confirmation, payment, or modification of existing reservations). The description is too thin for a tool with 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 coverage is 100% for all three parameters (hotel_id, check_in, check_out), and each has a clear description. The tool description adds no additional parameter meaning, so the baseline of 3 applies.

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

    Purpose4/5

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

    The description clearly states the tool's function with specific verbs: 'Check points redemption options' and 'initiate a points booking.' It identifies the resource (points for a hotel stay) and likely distinguishes from siblings like ihg_get_room_rates (cash rates) and ihg_book_room (general booking) by emphasizing points. However, the dual action could be slightly ambiguous, so it doesn't fully reach a 5.

    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 alternatives. It does not mention exclusions or explicitly reference sibling tools like ihg_book_room or ihg_get_room_rates. The points-specific phrasing implies usage for points bookings, but without explicit direction, it falls short.

    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 behavioral disclosure. It states what the tool does but does not disclose side effects, permissions, rate limits, error handling, or the return format beyond 'including points options.' This is a significant gap for a tool that may involve network calls or data retrieval.

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

    Conciseness5/5

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

    The description is a single sentence that conveys the core functionality without unnecessary words. It is front-loaded with the action and resource, and every word adds value. This is an example of efficient, concise writing.

    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 (3 fully described parameters, no output schema), the description covers the basic purpose but lacks context on when to use it (e.g., after searching for a hotel) and what the response structure will be. The description mentions return content ('room types, rates, points options') but does not elaborate on format or potential errors. Without annotations or an output schema, more detail would improve completeness.

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

    Parameters3/5

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

    The input schema provides full descriptions for all three parameters (hotel_id, check_in, check_out), so schema coverage is 100%. The description adds no additional meaning to the parameters themselves, only noting 'points options' as part of the output. Per the rubric, baseline 3 is appropriate when schema fully covers parameters.

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

    Purpose5/5

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

    The description clearly states the tool's function with a specific verb ('Get') and resource ('available room types and rates for a hotel on specific dates'), and adds 'including points options' to define scope. It distinguishes itself from sibling tools like 'ihg_get_hotel_details' and 'ihg_search_hotels' by focusing on rates and room types for specific dates.

    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 context (checking room rates for specific dates) but provides no explicit guidance on when to choose this tool over alternatives, nor does it mention exclusions or prerequisites. It lacks the explicit 'use this when...' guidance seen in well-documented tools, but the purpose is clear enough for basic selection.

    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. 'Get full details' is vague and does not disclose expected response format, required authentication (especially with a sibling ihg_login), or any potential errors. It is a read operation, but the lack of behavioral detail such as pagination, authorization, or return fields makes this weak.

    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, clear sentence that achieves its purpose without unnecessary words. It is front-loaded and to the point.

    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 should compensate by explaining what 'full details' means, potential prerequisites (e.g., login), and how this tool differs from listing or modifying reservations. It does not, making it incomplete for a tool that likely returns a complex reservation object.

    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, including an example. The tool description adds minimal extra value beyond 'confirmation number' being the key parameter. Baseline 3 is appropriate because the schema carries the explanatory load.

    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 function: retrieving full details for a specific reservation using a confirmation number. It uses a specific verb ('Get') and resource ('IHG reservation'), and distinguishes itself from the sibling 'ihg_get_reservations' (likely list) by focusing on a single 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 implies when to use this tool: when you have a confirmation number and need full details for a single reservation, versus listing all reservations. It does not explicitly name alternatives or exclusions, but the 'by confirmation number' phrase provides clear context.

    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 behavioral disclosure. It only says 'Modify an existing IHG reservation' without detailing side effects, whether changes are immediately applied, if pricing is recalculated, or if any prerequisites (e.g., authentication, modifiable reservation status) exist. The lack of such behavior context leaves the agent uncertain.

    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 front-loads the action and resource, with no wasteful words. It is appropriately sized and easy to parse quickly.

    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 modification tool with no output schema and no annotations, the description is too sparse. It does not mention what the tool returns (e.g., updated reservation), whether it is a partial or full update, or any prerequisites/limits. The provided schema covers parameter structure, but the description lacks behavioral and outcome context needed for a complete understanding.

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

    Parameters3/5

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

    Schema coverage is 100% with descriptive parameter fields, so the baseline is 3. The description adds marginal value by listing the same categories (dates, guests, special requests, room type) but does not explain partial-update semantics (e.g., only provided fields change) or the meaning of the 'changes' object beyond what the schema already states.

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

    Purpose5/5

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

    The description clearly states the verb 'Modify' and the resource 'existing IHG reservation', and enumerates the specific attributes that can be changed (dates, guests, special requests, room type). This distinguishes it from sibling tools like ihg_cancel_reservation or ihg_book_room, which have different actions.

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

    Usage Guidelines4/5

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

    The description provides clear context that this tool is for altering an existing reservation. It does not explicitly mention alternatives or exclusions (e.g., 'use for date/guest changes, not for cancellations'), but the action and resource are unambiguous, making it evident when to use it.

    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 full burden. 'Get' implies a read-only operation, and the listed content (amenities, policies, contact info, photos) indicates return value. Missing behavioral details include whether authentication is required, error handling, or any response format caveats.

    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?

    A single, focused sentence that immediately states the tool's purpose and key content areas. No wasted words or redundant technical details.

    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 single-parameter detail lookup, the description is adequate but leaves gaps: no mention of authentication despite a login sibling, no output schema to clarify structure, and no guidance on valid hotel_id formats beyond the schema example.

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

    Parameters3/5

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

    Schema coverage is 100% and the hotel_id parameter is already described with an example. The description adds little beyond 'specific hotel', so it does not significantly enhance parameter understanding beyond the schema.

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

    Purpose5/5

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

    The description clearly states the tool retrieves detailed information for a specific IHG hotel, listing concrete categories (amenities, policies, contact info, photos). This distinguishes it from siblings like ihg_search_hotels and ihg_get_room_rates.

    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?

    Usage context is implied: the user must already have a specific hotel_id and wants comprehensive details. However, there is no explicit guidance on prerequisites (e.g., login via ihg_login) or differentiation from alternatives like ihg_get_room_rates.

    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. It discloses the need for login and indicates the tool completes an end-to-end booking flow, but it does not state explicit side effects such as creating a confirmed reservation, charging a card, or the possibility of non-refundable bookings. 'Full booking flow' hints at these but leaves key behavioral details implicit.

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

    Conciseness5/5

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

    The description is three short, front-loaded sentences: purpose, prerequisite, and behavior. Every sentence earns its place; there is no redundant or filler content.

    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 is a high-complexity booking tool with five required parameters, a nested object, and no output schema, yet the description omits crucial return information (e.g., reservation confirmation) and side effects (e.g., card charge, cancellation policy). While the schema covers parameters, the description does not explain what happens on success or failure, making it incomplete for an agent to set expectations.

    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% and the schema itself includes clear descriptions for all parameters, including the nested guest_info and a reference to ihg_get_room_rates for room_type. The tool description adds no parameter-level detail, but because the schema covers everything, a baseline of 3 is appropriate.

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

    Purpose5/5

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

    The description uses a specific verb ('Book') and resource ('a hotel room at an IHG property'), clearly distinguishing it from sibling tools like ihg_modify_reservation or ihg_cancel_reservation. The added phrase 'Will complete the full booking flow' reinforces that this is a comprehensive booking action, not just a partial step.

    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?

    Requires login' gives a clear prerequisite, and 'Book a hotel room' establishes when to use this tool versus modifying or canceling a reservation. However, it does not explicitly mention that one should first retrieve room rates via ihg_get_room_rates or compare with other tools, though the schema references that dependency.

    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 behavioral transparency burden. It does note the 'logged-in' requirement, which is a useful prerequisite, but it does not describe error behavior, pagination, or what counts as 'recent.'

    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, clear sentence with no redundancy. It front-loads the action and scope.

    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 (no parameters, no output schema), the description is largely complete. However, it could clarify whether 'recent' has a defined time window and whether the response includes full reservation details or summaries, especially since a detail sibling exists.

    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, so the baseline score is 4. The description doesn't need to explain any 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 uses the specific verb 'Get' with the resource 'reservations' and clearly scopes to 'upcoming and recent' for the logged-in IHG account. This distinguishes it from sibling tools like ihg_get_reservation_details, which implies a single-reservation lookup.

    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 explicit guidance on when to use this tool versus alternatives such as ihg_get_reservation_details. It does not state exclusions or mention that this is the list endpoint while the sibling is the detail endpoint.

    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 that it retrieves transaction history, but does not mention authentication requirements, pagination, data format, or any constraints on the returned data. For a read operation this is somewhat acceptable, but it leaves the agent without important 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?

    The description is a single, clear sentence that directly states the tool's purpose. Every word earns its place, and there is no fluff or unnecessary detail.

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

    Completeness4/5

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

    Given the tool has no parameters and no output schema, the description is mostly sufficient. It states the resource and the type of data (earnings and redemptions), but could be slightly more complete by mentioning whether authentication is required (sibling tools include ihg_login) or noting the typical return format. Still, for a simple read operation, it covers the core.

    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 coverage is 100% (empty schema). The description adds no parameter details because there are none needed, earning the baseline score of 4 for tools with no 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 uses a specific verb and resource: 'Get IHG One Rewards points transaction history' and adds the scope '(earnings and redemptions)'. This clearly differentiates it from sibling tools like ihg_get_rewards_balance and ihg_redeem_points.

    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 tool is for viewing past reward transactions, and the parenthetical clarifies it covers both earnings and redemptions. However, it does not explicitly state when to use this over alternatives, such as saying 'if you need current balance, use ihg_get_rewards_balance instead.'

    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 burden. It discloses that it searches across IHG brands, but does not describe output structure, pagination, or whether results include availability/pricing. As a search tool, the behavior is straightforward, but some transparency 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.

    Conciseness5/5

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

    The description is two sentences, front-loaded with the core purpose, and includes a useful brand list. Every word earns its place without unnecessary detail.

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

    Completeness4/5

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

    The description is sufficient for a basic search tool, covering the main parameters. It does not explain return values, but no output schema exists and the tool's scope is narrow. Slightly more detail (e.g., result contents) could improve completeness.

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

    Parameters3/5

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

    The schema already covers all parameters (100% coverage). The description adds a summary of key criteria and brand support, but does not add deeper semantics beyond what the schema descriptions provide.

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

    Purpose5/5

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

    The description clearly states a specific action ('Search for IHG hotels') with a defined scope (location, dates, guest count). It also lists supported brands, distinguishing it from sibling tools like ihg_get_hotel_details or ihg_book_room.

    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 this tool is for finding hotels, but it does not explicitly say when to use it versus alternatives or mention any prerequisites (e.g., whether login is needed). It provides context but lacks clear exclusions or alternative references.

    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 of behavioral disclosure. It does warn about the cancellation policy, hinting at potential consequences, and notes the login requirement. However, it doesn't explicitly state that cancellation is destructive or irreversible, nor does it describe what happens after cancellation (e.g., confirmation or refund).

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

    Conciseness5/5

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

    The description is concise, with three short sentences each serving a distinct purpose: stating the action, noting the login prerequisite, and advising on policy check. There is no redundancy or unnecessary detail, earning a top score.

    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 only one parameter and no output schema, so the description should cover essential context. It includes login requirements and a policy warning, but omits expected outcomes (e.g., confirmation of cancellation, refund information). For a destructive action, more clarity about the effect would improve completeness.

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

    Parameters3/5

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

    The input schema has full coverage (100%) for the single parameter 'confirmation_number' with description 'IHG confirmation number to cancel.' The tool description adds no extra parameter semantics beyond what the schema already provides, so the baseline score of 3 applies.

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

    Purpose5/5

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

    The description clearly states 'Cancel an IHG hotel reservation' with a specific verb ('Cancel') and resource ('IHG hotel reservation'), which distinguishes it from sibling tools like ihg_modify_reservation or ihg_book_room. The purpose is unambiguous and directly actionable.

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

    Usage Guidelines4/5

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

    The description provides clear context by specifying 'Requires login' as a prerequisite and advising to 'Check cancellation policy before cancelling.' While it doesn't explicitly mention alternatives or when-not-to-use, the login and policy requirements give practical guidance on when the tool can be invoked.

    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 the description must disclose behavior. It mentions the browser session persistence, which is a key trait. However, it doesn't disclose failure modes, authentication errors, or idempotency, so it's useful but not comprehensive.

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

    Conciseness5/5

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

    Two concise sentences, front-loaded with the action, no filler.

    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 2-param login tool, the description covers purpose, prerequisite status, and session behavior. Given no annotations or output schema, it's reasonably complete, though could mention what happens on failure.

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

    Parameters3/5

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

    Input schema has descriptions for both parameters (email and password) with 100% coverage. The tool description adds no extra param semantics beyond the schema.

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

    Purpose5/5

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

    Clearly states it logs into an IHG One Rewards account, using a specific verb and resource. It also notes it's required before most other tools, distinguishing it as a prerequisite among the sibling tools.

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

    Usage Guidelines4/5

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

    Explicitly says 'Required before using most other tools' and 'Maintains a browser session for subsequent calls,' giving clear when-to-use context. It doesn't mention exceptions or alternatives, but for a login tool that's sufficient.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It indicates a read operation ('Get') and defines the user scope, but does not explicitly state that no data is modified, whether authentication is required, or how errors are handled. It adds some context but falls short of full transparency.

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

    Conciseness5/5

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

    The description is a single sentence of 15 words, directly stating the action and the resource. It is front-loaded with 'Get' and contains no filler, making it efficient and well-structured.

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

    Completeness4/5

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

    Given the simplicity of the tool (no parameters, no output schema), the description is quite complete: it states what is retrieved (balance, tier status, summary) and for whom (logged-in user). It could be more explicit about prerequisites or return format, but for this scope it is adequate.

    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, so there is nothing to explain. The description does not need to add parameter details, and with no schema properties, the description vocabulary is not needed to compensate. Baseline 4 is appropriate.

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

    Purpose5/5

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

    The description clearly states the tool retrieves IHG One Rewards points balance, tier status, and account summary for the logged-in user. It uses a specific verb 'Get' and names the exact resource, distinguishing it from sibling tools like ihg_get_rewards_history or ihg_get_hotel_details.

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

    Usage Guidelines4/5

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

    The description implies the tool is used to query the current user's rewards account by mentioning 'logged-in user', providing clear context. However, it does not explicitly state when to use this tool vs alternatives like ihg_get_rewards_history, nor does it mention exclusions. This is clear context but lacks explicit exclusions, so a 4 is appropriate.

    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

mcp-ihg MCP server

Copy to your README.md:

Score Badge

mcp-ihg 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/markswendsen-code/mcp-ihg'

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