Skip to main content
Glama
ho-ju
by ho-ju

Server Quality Checklist

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

  • Disambiguation4/5

    Each tool targets a distinct step in the movie-booking flow: recommendations, showtimes, seat maps, booking, payment, and now-showing lists. The only slight overlap is between get_recommendations and get_now_showing, but their purposes (personalized suggestions vs. current listings) are clear enough.

    Naming Consistency4/5

    All tools use a consistent verb_noun pattern (get_, book_, process_), which is predictable. Minor deviation: 'process_payment' uses a generic verb compared to the more specific 'get_' and 'book_' verbs, but it still fits the pattern.

    Tool Count5/5

    Six tools is well-scoped for a movie booking domain, covering the essential user journey from discovery to payment without unnecessary bloat. Each tool serves a clear purpose in the workflow.

    Completeness4/5

    The surface covers the core booking lifecycle: discover movies, check showtimes, view seats, book, and pay. A minor gap is the lack of a cancellation or refund tool, but the simulated payment and booking flow is otherwise complete.

  • Average 3.4/5 across 6 of 6 tools scored. Lowest: 2.6/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?

    No annotations are provided, so the description carries the full burden. It says 'simulated' which hints at non-real payment, but it does not disclose what happens on success/failure, whether it mutates state (e.g., marks booking as paid), or any side effects. This is insufficient for a mutation tool.

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

    Conciseness4/5

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

    The description is a single sentence, concise and front-loaded. It is not verbose, but it is under-specified rather than concise in a helpful way. Still, it earns a 4 for brevity and structure.

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

    Completeness2/5

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

    Given the tool has an output schema and three required parameters, the description is too thin. It does not explain the payment flow, what the output represents, or any error conditions. The 'simulated' aspect is mentioned but not elaborated. The description is not complete enough for an agent to use 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 100%, so the schema already documents all three parameters. The description adds no extra meaning beyond 'simulated payment transaction,' which does not clarify parameter relationships or constraints. Baseline 3 is appropriate.

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

    Purpose3/5

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

    The description states the tool 'Handles simulated payment transaction,' which identifies the action (process payment) and resource (transaction), but it is vague about the specific scope (e.g., what happens after payment, whether it confirms booking). It does not distinguish from siblings, though siblings are mostly read-oriented, so the purpose is somewhat clear.

    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. It does not mention that it should be used after book_seats, nor any prerequisites or sequencing. The description implies usage for payment but lacks explicit context or exclusions.

    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 disclose side effects, but it only says 'Reserves' without detailing behaviors like availability checks, error handling, idempotency, or any impact on payment. This is a significant transparency gap for a mutating action.

    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 wasted words, front-loaded with the core action. It is appropriately short, though it could be slightly more informative without losing conciseness.

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

    Completeness2/5

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

    Given the tool's complexity (a booking action with three required parameters and an output schema), the description lacks essential context about workflow integration (e.g., payment linkage), success/failure semantics, and expected usage flow. It does not sufficiently support an agent's decision-making.

    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 each parameter has a clear description, so the baseline is 3. The tool description adds no additional meaning beyond what the schema already provides, neither enhancing nor detracting from parameter understanding.

    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 (reserves) and the resource (selected seats), which is specific enough. However, it does not mention the showtime context or differentiate from sibling tools like process_payment, so it lacks explicit 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 guidance is provided on when to use this tool, prerequisites, or how it fits into a larger workflow. There is no mention of alternatives or exclusions, so an agent has no contextual cues for timing.

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

  • Behavior2/5

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

    No annotations are provided, so the description bears the full burden of behavioral disclosure. It indicates a read-only fetch, but it does not disclose data scope, matching behavior, failure modes, or output conventions. This is minimal behavioral 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 with no filler, front-loading the verb and object. 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, complete parameter schema, and presence of an output schema, the description covers the essential operation sufficiently. It could be improved with sibling differentiation, but it is not incomplete for this simple lookup 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 has 100% coverage with descriptions for all three parameters (movie_id, date, location), so the schema already does the heavy lifting. The description adds no additional parameter-level meaning beyond what is already structured.

    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 ('Fetches') and identifies the resource ('available showtimes') and scope ('for a specific movie and location'). It distinguishes the tool from siblings like get_seat_map and book_seats, though it omits the date dimension that is a required parameter.

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

    Usage 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 get_now_showing or get_recommendations. Usage context is only implied by the verb and resource, with no exclusions or alternative conditions stated.

    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 and 'Displays' suggests a read-only operation, which is helpful. However, it does not explicitly state safety guarantees, authentication needs, or failure behavior, leaving some behavioral ambiguity.

    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, tightly written sentence with a clear verb and object. It avoids filler and places the key scope ('specific showtime') up front.

    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 one-parameter read tool with an output schema, the description is mostly complete: it states the input, resource, and displayed data. It loses a point because it does not guide usage relative to sibling tools, though the output schema covers return details.

    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 showtime_id with an example ('st001'), and the description adds no meaning beyond referencing 'a specific showtime.' Since schema coverage is 100%, the baseline score is appropriate.

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

    Purpose5/5

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

    Description uses a specific verb ('Displays') and resource ('available and reserved seats for a specific showtime'), making the tool's function unmistakable. It also distinguishes itself from siblings like get_showtimes (which lists showtimes) and book_seats (which modifies seat availability).

    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 seat availability for a chosen showtime, but it does not explicitly state when to use it versus alternatives or when not to use it. It provides enough context for basic selection but lacks explicit usage boundaries.

    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. It states what it does but does not disclose any limitations (e.g., data freshness, geographic coverage), error conditions, or performance characteristics. For a simple read-only lookup, this may be acceptable, but it adds nothing beyond the obvious.

    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, compact sentence with no filler. 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?

    Given the tool has an output schema, the description does not need to detail return values. The parameter is fully documented, and the tool's purpose is clear. It lacks only subtle context like timezone handling or data update frequency, but it's adequate for this simple listing operation.

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

    Parameters3/5

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

    Schema coverage is 100% and the parameter 'location' already has a clear description with an example. The tool description does not add additional semantics beyond what the schema provides. Baseline 3 applies because the schema covers everything.

    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 returns a list of currently showing movies for a given city or ZIP. The verb 'returns' and resource 'movies currently showing' are specific, and the scope differentiates it from siblings like get_showtimes (which focuses on showtimes) and get_recommendations (recommendations).

    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 implicitly indicates this is for listing movies in a location, contrasting with siblings like get_showtimes or get_seat_map. However, it lacks explicit 'when to use' vs 'when not to use' guidance. The context is clear enough for an agent to infer usage.

    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 of behavioral disclosure. It states that the tool 'suggests movies,' implying a read-only operation, but it does not elaborate on behavior such as handling of no parameters, output format, or any limitations. The description is minimal and does not add rich 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, complete sentence that is front-loaded and directly conveys the core function. There is no redundant or filler content, earning every word. It is appropriately concise for a simple tool.

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

    Completeness4/5

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

    The tool has three optional parameters and an output schema, so the description does not need to specify return values. The description adequately covers the tool's primary purpose and inputs, and the output schema likely details the response structure. However, it leaves some behavioral nuances (e.g., what happens if all params are null) implied, though this is minor given the simplicity of the tool and presence of output schema.

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

    Parameters3/5

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

    The input schema provides 100% coverage with descriptions and examples for each parameter (mood, genre, time_preference). The tool description merely echoes these parameter names without adding new meaning. Since schema coverage is high, the baseline of 3 is appropriate; the description does not enhance the understanding beyond the schema definitions.

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

    Purpose5/5

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

    The description clearly states the tool's purpose: 'Suggests movies based on mood, genre, or time preferences.' It uses a specific verb ('suggests') and resource ('movies'), and the mention of mood, genre, and time preferences distinguishes it from sibling tools like get_now_showing and get_showtimes which focus on current listings or specific showtimes.

    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 for when to use the tool: when the user has mood, genre, or time preferences for movie recommendations. It does not explicitly mention alternatives or exclusions, but the sibling tool names (get_showtimes, get_seat_map, book_seats, process_payment, get_now_showing) imply distinct use cases, and the description's focus on recommendations is sufficient to guide basic usage.

    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

amc-mcp-hoju MCP server

Copy to your README.md:

Score Badge

amc-mcp-hoju 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/ho-ju/amc-mcp-hoju'

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