Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    The three tools are clearly distinct: xenia_report provides aggregated views, xenia_calls provides individual call details, and xenia_trace provides a recovery trace. Each tool addresses a different level of analysis, with no overlapping purposes.

    Naming Consistency5/5

    All tool names follow a consistent 'xenia_' prefix followed by a noun (report, calls, trace), forming a predictable pattern. The naming is uniform and intuitive.

    Tool Count5/5

    With only 3 tools, the set is well-scoped for an observability server. Each tool earns its place, and the xenia_report tool consolidates multiple views without unnecessary fragmentation, keeping the surface focused.

    Completeness5/5

    The tool set covers the full observability workflow: aggregated reports (xenia_report), per-call inspection (xenia_calls), and detailed action tracing (xenia_trace). There are no obvious gaps, as the three tools enable a complete drill-down from summary to individual action.

  • Average 4.6/5 across 3 of 3 tools scored. Lowest: 3.9/5.

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

    • No community issues in the last 6 months
    • 3 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
  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • 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

  • Behavior4/5

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

    With no annotations, the description carries the burden of explaining behavior. It discloses that the tool returns a session-specific series of actions, includes the task/outcome, and omits cross-session threading. It does not explicitly mention read-only nature or error cases, but it provides substantial behavioral context.

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

    Conciseness2/5

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

    The description is verbose and meandering, with four complex sentences and several asides. It is not front-loaded and requires careful reading to extract the core functionality. While every sentence adds some context, the lack of brevity and unclear structure hurt usability for an AI agent.

    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 complexity, the description covers key contextual elements: session scope, recovery semantics, and full argument retrieval. It lacks an explicit return format or error handling details, but for a single-parameter tool with no output schema, it provides sufficient context to understand expected behavior.

    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 a clear description of action_id ('The action to trace'). The tool description adds extra nuance (e.g., accepts any ID, not just failed ones) but does not fundamentally change parameter understanding, matching the baseline for high schema coverage.

    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 communicates that the tool returns a trace of an action's context (task, outcome, and intervening actions) and distinguishes itself from xenia_calls by offering full argument details. However, it lacks a direct imperative verb like 'trace' and is more descriptive than concise, which slightly muddles the core purpose.

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

    Usage Guidelines5/5

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

    It explicitly contrasts with xenia_calls, noting that xenia_trace is the way to read full arguments, and clarifies that it accepts any action ID, not just failures. It also explains the session-based limitation and when a recovery series is absent, providing clear when-to-use and when-not-to-use guidance.

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

  • Behavior5/5

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

    With no annotations provided, the description fully carries the disclosure burden. It exposes default ordering, the deliberate 120-character 'detail' truncation, the fact that rows are whole shell commands that can exceed reply ceilings, and that unanswered calls sort last. This is rich behavioral context beyond any annotation-level hints.

    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?

    Five sentences front-load the purpose and then pack actionable behaviors without filler. Metaphorical phrasing like 'a 'tools' row reporting a 33KB maximum...' earns its place by encoding how rows behave, and the length is appropriate given 13 parameters and no annotations.

    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 high-complexity, 13-param tool with no output schema, the description covers the drill-down workflow, row contents, sorting defaults, truncation caveat, and sibling handoffs. It even describes the return fields ('action id, time, tool, status, duration, reply size and a short command'), making it self-sufficient for correct invocation.

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

    Parameters5/5

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

    Schema covers 100% of parameters, so baseline is 3, but the description adds significant practical semantics: 'signature' and 'tool' come from report rows, 'limit' is intentionally small and raising it backfires on truncated replies, 'order' defaults to bytes with unanswered calls last, and the returned 'action_id' is meant for xenia_trace. These nuances go well beyond schema descriptions.

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

    Purpose5/5

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

    The description opens by answering exactly what the tool surfaces ('Individual calls') and frames it as the drill-down complement to xenia_report, explicitly distinguishing it from sibling xenia_trace by describing the thin row fields and where to go for full commands. This is a specific verb+resource with clear sibling differentiation.

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

    Usage Guidelines5/5

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

    It explicitly tells the agent when to use it: after a xenia_report row, pass 'signature' or 'tool' from that row to drill in, then hand the returned 'action_id' to xenia_trace. It also warns against raising 'limit' on truncated replies, directing the user to filter instead—clear context with exclusions and alternatives.

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

  • Behavior5/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, and it is exceptionally transparent. It discloses that outcomes are derived from calls rather than agent claims ('overstated'), how 'recovered' is computed, how refusals are split into rule-based vs user-declined, and that rows come back under 'rows'. It also explains error behavior for non-applicable parameters.

    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 long but appropriately sized for a tool with 22 parameters and six views. It is well-structured: it front-loads the view taxonomy, then describes return shape and cross-view parameter behavior. Each sentence carries dense, purposeful information without fluff.

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

    Completeness5/5

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

    Given the absence of annotations and an output schema, this description is unusually complete. It covers all six views, per-view fields and defaults, the return envelope, error semantics for inapplicable parameters, and the drill-down path to xenia_calls. No significant gaps were identified.

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

    Parameters5/5

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

    Schema coverage is 100%, but the description adds substantial meaning beyond the schema: it explains why to prefer 'repeated_bytes' over 'repeated_ms', what 'unchanged' means for disk writes, which order columns are relevant per view, and how 'within_minutes' can count honest re-runs. It also connects 'goal_id' back to full instruction text.

    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 defines the tool as a report on 'how coding agents have been getting on' and enumerates six distinct views, each with a concise one-line purpose. It also distinguishes itself from its siblings by instructing that a row's 'signature' should be passed to xenia_calls for individual calls behind the row.

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

    Usage Guidelines5/5

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

    The description gives explicit usage guidance: 'Start here' for the tasks view, 'Ask this rather than totalling rows yourself' for the tools view, and it calls the failures view 'the most actionable row here'. It also warns that passing a parameter to a view that does not read it is an error, which prevents misuse.

    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

xenia MCP server

Copy to your README.md:

Score Badge

xenia 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/iondrive-co/xenia'

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