Skip to main content
Glama
samthedataman

better_luma

Server Quality Checklist

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

  • Disambiguation3/5

    Most tools target distinct actions, but some overlap exists: list_events and scrape_city both collect events, get_event_guests and scrape_city both collect attendees, and list_my_luma_events overlaps with verify_luma_host in checking host status. The descriptions reduce ambiguity but the boundaries are not always crisp.

    Naming Consistency4/5

    The naming pattern is mostly consistent verb_noun snake_case, e.g. list_events, get_event, search_events, verify_luma_host. The lone 'health' tool breaks the pattern by not using a verb, though it is still understandable.

    Tool Count5/5

    Ten tools is a well-scoped count for an event aggregation/read-only API. Each tool covers a distinct aspect of the domain without unnecessary bloat or obvious redundancy.

    Completeness4/5

    The toolset covers the core read-only workflow: event types, cities, event listing/search/detail, guests, city scraping, and authenticated user event queries. Minor gaps exist such as no explicit platform-list tool or direct attendee export beyond guests, but agents can mostly accomplish the intended tasks.

  • Average 3.6/5 across 9 of 10 tools scored.

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

    • No community issues in the last 6 months
    • 1 commit 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

  • Behavior3/5

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

    The annotations already declare the tool read-only, idempotent, and non-destructive. The description adds a small behavioral note about external platform access permissions, which goes beyond the annotations. However, it does not explain failure behavior, authentication requirements, or data-sensitivity implications.

    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 sentence with no wasted words. It front-loads the core action and resource. The qualifier about platform permission is somewhat vague but does not make the description bloated.

    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?

    There is no output schema and the description does not mention return shape, pagination, or what fields a guest entry contains. The 'when the platform permits access' caveat lacks specifics about error handling or denial outcomes. An agent has enough to attempt a call but not enough to anticipate the response or edge cases.

    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 documents event_id, platform, and ticket_key with descriptions, and limit has constraints. The description itself adds no parameter-level meaning. With 75% schema description coverage, the schema carries most of the parameter burden, so a baseline score of 3 is appropriate.

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

    Purpose4/5

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

    The description states a clear action and resource: 'Get an event guest list.' The title confirms the purpose. It does not explicitly compare itself to sibling tools like get_event or list_events, but 'guest list' is a distinct enough resource that an agent can infer the scope.

    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 for when to use this tool versus get_event, list_events, or search_events. The phrase 'when the platform permits access' is a permission caveat, not an actionable usage guideline. There are no stated prerequisites, alternatives, or exclusions.

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

  • Behavior3/5

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

    Annotations already communicate read-only, idempotent, and non-destructive behavior. The description adds only the multi-platform scope and does not reveal behaviors like pagination defaults, per-platform parameter applicability, or whether results are aggregated across sources. This is adequate but not rich.

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

    Conciseness4/5

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

    The description is one clear, front-loaded sentence with no filler or repetition. It could still carry a bit more useful context without becoming verbose, but as written it is concise and direct.

    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 listing tool, the description is minimally viable, especially with strong schema coverage and annotations. However, it does not mention important nuances like defaulting to Luma, per-platform required parameters, or how it differs from search_events, so the complete calling picture is left mostly to the schema.

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

    Parameters3/5

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

    Schema description coverage is 86%, and parameter descriptions in the schema already explain platform, city, limit, offset, search, event_type, and include_past. The tool description adds no parameter-level meaning beyond the schema, 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.

    Purpose4/5

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

    The description states a clear action ('List events') and specifies the target resources (Luma, Posh, Partiful), which differentiates it from singular tools like get_event and get_event_guests. It does not explicitly distinguish it from search_events, but the platform-specific list framing is reasonably specific.

    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 about when to use list_events versus alternatives like search_events or get_event. The description also omits practical context such as city being required for Luma and Posh but optional for Partiful, or that this tool surfaces broad lists rather than targeted searches.

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

  • Behavior3/5

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

    Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds a meaningful behavioral detail: it collects 'visible attendees' and does 'not automatically RSVPing.' However, it does not disclose potential scraping behavior, rate limits, or platform-specific quirks beyond what the schema already covers, so additional context is limited.

    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 with no filler or redundancy. It front-loads the core action ('Collect events and visible attendees') and includes the critical side-effect constraint ('without automatically RSVPing'). Every word contributes meaningful information, making it an exemplary concise description.

    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 7 parameters across 3 platforms and no output schema, so the description needs to provide an overview of pagination, return contents, and platform differences. It does not mention return format, how limit/offset apply per platform, or how 'visible attendees' are determined. The terse description leaves substantial gaps for an agent deciding how to 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?

    Schema description coverage is 71%, so the schema already documents most parameters. The tool description itself adds no parameter-level meaning, and two parameters (limit, guest_limit) lack schema descriptions, though their names are fairly self-explanatory. The description neither compensates for the remaining gaps nor contradicts the schema, so a baseline 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 ('collect') and identifies a clear resource ('events and visible attendees'), so an agent can tell this tool gathers data. It also adds a key negative behavior ('without automatically RSVPing'), which somewhat distinguishes it from other tools. However, it does not explicitly compare against siblings like list_events or search_events, so it earns a 4 rather than 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 gives no explicit direction about when to use this tool versus alternatives. It implies a data-gathering use case but never names sibling tools like search_events or get_event_guests or explains when scrape_city is preferred. There is no guidance on when not to use it, so the agent is left to infer usage context.

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

  • Behavior3/5

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

    Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true and destructiveHint=false, so the agent knows this is a safe read. The description's 'Get details' aligns with readOnly and adds minimal new context; the 'ID or Luma URL slug' acceptance is already documented in the schema parameter description, so the description adds little beyond the annotations.

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

    Conciseness5/5

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

    A single sentence with zero wasted words, front-loading the core action and the accepted identifier format. Efficient and immediately scannable.

    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?

    Adequate for a simple two-parameter read tool with full schema coverage. However, with no output schema, the agent gets no expectation of what 'details' the call returns, and platform-specific nuance (e.g., a Luma slug only applies to the luma platform) is left implicit. Several sibling read/scrape tools exist, so a touch more routing context would help.

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

    Parameters3/5

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

    Schema description coverage is 100% — both event_id ('Event ID or Luma slug.') and platform ('Event platform.') are fully documented in the schema. The description largely repeats the event_id semantics ('event ID or Luma URL slug') without adding new meaning, so feeding and reading stay consistent but the description adds no supplementary 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 states a specific verb ('Get') and a clear resource ('details for one event'). The word 'one' signals single-item retrieval, distinguishing it from list_events and search_events without needing to open their schemas. It doesn't explicitly name siblings, but 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 Guidelines2/5

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

    No guidance on when to use this tool versus alternatives. The description doesn't name any sibling (e.g., get_event_guests for attendees, search_events for finding by criteria) or state conditions that should route the agent here instead. The agent must infer usage from the tool name and sibling list.

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

  • Behavior3/5

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

    Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the safety profile is covered. The description adds one useful behavioral detail: the check is relative to the authenticated Luma user. However, it does not disclose return shape or behavior for unknown or non-hosted events.

    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 phrasing. Every word contributes to the core meaning, and it is immediately scannable.

    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 one-parameter, read-only, idempotent check, this description is largely complete: 'Check whether' communicates a boolean intent. It would be slightly stronger with an explicit note about the return format or how to interpret a false result, but the low complexity and rich annotations make the current definition adequate.

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

    Parameters3/5

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

    Schema description coverage is 100% and the event_id parameter is already described as 'Luma event ID or slug.' The tool description adds no extra meaning beyond calling it an event, so the schema carries the semantic weight; the description neither improves nor harms 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 uses a specific verb ('Check whether') and names the exact resource and relationship: the authenticated Luma user hosting a given event. This clearly distinguishes it from siblings like get_event, which fetches event details, and list_my_luma_events, which lists the user's events.

    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 get_event or list_my_luma_events. There is no mention of prerequisites, conditions, or scenarios where it should or should not be used, leaving the agent to infer the intended use.

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

  • Behavior3/5

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

    Annotations already provide a comprehensive safety profile (readOnlyHint, idempotentHint, destructiveHint false), so the description does not need to repeat those. The description adds only the 'backend's' qualifier, which slightly frames the source but does not disclose any additional behavioral traits such as pagination, caching, or error behavior. Given the strong annotation coverage, this is an acceptable baseline, though the description could add context about the nature of the returned filters.

    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 conveys the exact purpose with no redundancy or filler. Every phrase earns its place, and it avoids restating the tool name or title. It is optimally concise for the simplicity of the operation.

    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 read-only list operation with one well-documented parameter and rich annotations, the description is nearly complete. It states the resource and platform scope, and the absence of an output schema is acceptable given the likely simple array return. A minor gap is that it does not hint at how the returned filters might be used (e.g., in search_events), but this is not essential for the agent to call the tool correctly.

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

    Parameters3/5

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

    The input schema has 100% description coverage: the single 'platform' parameter includes an enum of valid values and a description 'Event platform.' The tool description merely restates 'for one platform,' which adds no new semantic detail beyond the schema. Since the schema fully documents the parameter selection, the baseline 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 the action (list), the resource (event category filters), and the scope (for one platform). This is specific and distinct from siblings like list_events and search_events, which deal with events themselves rather than event type categories. The phrasing 'backend's event category filters' adds clarity that these are filtering options, not event records.

    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 used to retrieve event category filters for a given platform, but it does not explicitly state when to use it versus alternative tools like search_events or list_events. There is no mention of preconditions or downstream use of the returned filters, leaving an agent to infer the purpose. For a simple read-only listing tool this is adequate but not particularly instructive.

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

  • Behavior3/5

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

    Annotations already declare readOnly, idempotent, openWorld, and non-destructive behavior. The description adds the auth-ownership scoping ('authenticated user's') but does not disclose ordering, pagination, or result-shape behavior. No contradiction with annotations exists.

    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 front-loaded sentence states the verb, resource, and scope with no filler or redundancy. 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 low complexity—two optional parameters, no nested objects, no output schema—the description sufficiently conveys what the tool does and what scope it operates on. It could add minor details like default ordering or result contents, but nothing essential is missing.

    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 documents timeframe with an enum and description, while limit has constraints and a default. The tool description mostly restates the timeframe values already in the schema and adds no new meaning for limit, so its contribution beyond the schema is marginal.

    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') with a clear resource ('the authenticated user's ... Luma events') and enumerates the three scopes (managed, upcoming, past). This differentiates it from sibling tools like list_events or search_events by making the user-owned scope explicit.

    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 makes the intended context clear: it is for the authenticated user's own event collections. However, it does not explicitly name alternatives like list_events or state conditions for when not to use this tool, so the guidance remains implied rather than explicit.

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

  • Behavior3/5

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

    Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false, so the safety profile is covered. The description adds that matching happens against names/descriptions and that only one platform is queried, but it does not disclose return format or other operational 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?

    A single sentence with no filler; the core action and resource are front-loaded. Every word contributes to the meaning.

    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 adequate for basic invocation: it identifies the required query and the fact that a single platform is searched. Optional filters are documented in the schema. It does not describe the return shape, but for a simple read-only search tool 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?

    Schema description coverage is 80%, so the schema already documents most parameters. The description reinforces that 'query' searches names and descriptions, but it does not add details for 'limit' or clarify valid values for 'event_type' beyond what the schema provides.

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

    Purpose5/5

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

    States a specific verb ('Search'), a clear resource ('event names and descriptions'), and a scope ('on one platform'). This distinguishes it from siblings like list_events, get_event, and list_event_types, which imply different operations.

    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 intended use is implied by the verb 'Search', but there is no explicit guidance about when to use this tool versus list_events or get_event. No alternatives or exclusion conditions are mentioned.

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

  • Behavior3/5

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

    Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false. The description adds the scoping behavior that the result depends on the event platform, but does not disclose additional traits such as pagination, defaults, or return structure.

    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 one short sentence with no filler. The verb and object are front-loaded, making it immediately scannable.

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

    Completeness5/5

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

    For a simple read-only listing tool with one optional parameter and no nested objects, the description plus schema and annotations is sufficient to invoke it correctly. Nothing essential is missing.

    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 sole parameter 'platform' is fully documented with an enum and default. The description adds no parameter details beyond the schema, so the baseline 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 states a specific verb ('List') and resource ('cities') with a scoping qualifier ('supported by an event platform'). This clearly distinguishes it from sibling tools that operate on events, guests, or hosts.

    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 used when you need the set of cities for a given event platform, but it does not explicitly state when to prefer it over alternatives or mention exclusions. No when/when-not guidance is provided.

    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?

    The annotations already convey readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered. The description adds the 'availability check' behavior but does not disclose details such as what response the endpoint returns or how 'available' is determined. No contradiction with annotations exists.

    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 filler or redundant content. Every word contributes to the tool's purpose, making it easy for an agent to parse quickly.

    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 zero-parameter health check with extensive annotations, the description is largely complete for invocation purposes. The main gap is the absence of any statement about what a successful or failed availability check looks like in the response, especially since there is no output schema. This is minor given the tool's simplicity but prevents a perfect score.

    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%. There is no parameter behavior to document beyond the schema's empty object, so the description does not need to add parameter-level detail. The baseline for a zero-parameter tool 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 states a specific action ('Check whether... is available') and a specific resource ('Better Luma/WAP backend'). It clearly identifies this as a health-check tool and naturally distinguishes it from the sibling tools, none of which are availability checks.

    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 only implied: an agent can infer this tool is for verifying backend availability before or during other operations. No explicit guidance is given about when to prefer this over siblings, but the sibling tools are functionally distinct, so the omission is not misleading.

    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

luma-mcp MCP server

Copy to your README.md:

Score Badge

luma-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/samthedataman/luma-mcp'

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