Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool maps to a distinct resource and action: fleet runtime, Slack write/read, GitHub status, and pod health. There is no meaningful overlap between the status-style tools and the Slack communication tools.

    Naming Consistency4/5

    All names follow snake_case and use a domain prefix like slack_net, github_repos, or pod_health. The minor inconsistency is that some names use verbs (say, read) while others use nouns (brief, status), but the pattern remains predictable.

    Tool Count5/5

    Five tools is a well-scoped count for an ops/coordination server. Each tool serves a clear purpose without redundancy or bloat.

    Completeness4/5

    The set covers the core monitoring and communication workflows well: fleet status, pod health, repository state, and Slack messaging. It lacks deeper mutation or diagnostic capabilities, but these are not clearly required by the stated purpose.

  • Average 3.8/5 across 5 of 5 tools scored.

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

    • No community issues in the last 6 months
    • 9 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is failing
  • 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

  • Behavior3/5

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

    With no annotations, the description carries the behavioral burden. It signals a non-mutating read of recent data, which is helpful, but it does not mention ordering, pagination, auth requirements, or behavior when no messages exist. These gaps are acceptable for a simple read tool but not fully transparent.

    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?

    One sentence with no filler, placing the action and scope first. It is immediately parseable and every word contributes to meaning.

    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 tool with one optional parameter and no output schema, the description states the source and return topics but leaves the exact result shape, ordering, and how the limit applies unspecified. It is minimally adequate with room for more detail.

    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 single optional limit parameter is fully documented in the schema. The description adds no parameter-level explanation, so it earns the baseline score of 3.

    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 verb ('Read'), a resource ('Slack-Net'), and specific content types (fleet messages, status reports, receipts). It is easy to distinguish from the write-oriented sibling slack_net_say by name and wording, though it does not explicitly contrast with siblings.

    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 a read/receive use case, but it does not explicitly say when to prefer this tool over slack_net_say or other siblings, nor does it state exclusions or prerequisites. Usage context is inferred from 'read' rather than explained.

    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?

    There are no annotations, so the description carries the behavioral burden. 'Query' implies read-only retrieval, and the listed resources indicate what data may be returned. Still, the meaning of 'active', output shape, pagination, and any access requirements are not disclosed.

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

    Conciseness5/5

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

    The description is one focused sentence with no filler or repetition. It front-loads the action and scope, 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 simple tool with one optional parameter and no output schema, the description provides sufficient scope and resource coverage. It lacks only minor details like the exact meaning of 'active' and the precise return format, but these are not critical for invocation.

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

    Parameters3/5

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

    The input schema fully documents the single optional 'repo' parameter, so the description does not need to add much. It adds no extra nuance beyond the schema, 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.

    Purpose5/5

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

    The description uses a specific verb, 'Query', and identifies the exact resource categories: active repositories, branches, and recent commits within the jbptechLLC GitHub organization. This clearly differentiates it from sibling tools focused on fleet, Slack, and pod health.

    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?

    No explicit alternatives or when-not-to-use guidance is provided. However, the GitHub organization scope and unrelated sibling names imply the tool is for GitHub status queries, so the usage context is reasonably inferable but not 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, the description carries the behavioral disclosure burden. It does clearly expose the side effect—posting to a specific Slack channel—and that is the core behavior. But it does not mention what happens to the message, response behavior, or any constraints around structured receipts.

    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 entire description is one tight, front-loaded sentence with no filler. It packs the action, target, and payload type into very few words, and 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?

    For a simple three-parameter post tool with all parameters documented in the schema, this description is mostly complete: it names the exact channel and the intended use. It falls just short of 5 because it does not explain the structure of a 'fleet receipt' nor give guidance on the `event` parameter.

    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 baseline is 3. The description reinforces that `text` carries message/receipt content and names the default channel, but it does not clarify `event` semantics or what makes a message a 'structured fleet receipt' beyond what the schema already says.

    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 ('Post'), a concrete destination ('JBP Tech Slack-Net (#ai-work C0BSRE6QBU0)'), and an intended payload type ('fleet receipt or message'). This clearly distinguishes it from siblings like slack_net_read, which is the read counterpart.

    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 is implied rather than explicit: the description suggests this tool is for posting receipts/messages into Slack-Net, and the sibling name slack_net_read implies the read/write split. However, it does not explicitly say when to choose this tool over alternatives or when not 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 must carry behavioral context. 'Get' clearly signals a read-only operation and 'live' indicates current runtime state, but it does not describe output format, data freshness guarantees, or other possible side effects. Minimal but not misleading.

    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 action and scope immediately, with the agent list in parentheses. Every word contributes; there is no filler or repetition of schema content.

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

    Completeness3/5

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

    For a no-argument read tool, the description is enough to select and invoke it, but because there is no output schema, the agent cannot know what 'comprehensive live runtime brief' will contain or how it is structured. This is a real gap, though not severe.

    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 100% schema coverage, so there are no parameter semantics to clarify. The description's fleet and agent list helps scope the returned brief, earning the zero-parameter baseline of 4.

    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 a comprehensive live runtime brief' of the JBP Tech multi-agent fleet, and names the five agents. This clearly distinguishes it from sibling tools like github_repos_status and pod_health_status.

    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 phrase 'live runtime brief of the multi-agent fleet' implies it is for fleet-level status and health checks, but the description never explicitly says when to prefer it over siblings or when not to use it. No alternatives are mentioned.

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

  • Behavior4/5

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

    The verb 'Inspect' conveys a read-only, non-destructive operation, and the description names the exact scope (Pod 1, Pod 2) and data types (metrics, uptime, container status). Though no annotations exist, this is sufficient behavioral context for a simple status 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?

    One tightly written sentence that front-loads the action and resource while including the pod identifiers. Every part adds value.

    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 tool with one optional parameter and no output schema, the description covers the object, scope, and data types. It doesn't document output format, which is acceptable given the absence of an output schema.

    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 schema's pod parameter is an enum with no description (0% coverage). The description adds real-world mapping by naming Pod 1 (rant-cast-ops) and Pod 2 (autocommerce-studio-ops), giving meaning to the enum values. 'All' remains implicit but self-explanatory.

    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?

    States a specific verb ('Inspect') and resource ('live health metrics, uptime, and container status') for named pods, making its object concrete. However, it does not explicitly distinguish itself from the sibling fleet_runtime_brief, which could also cover runtime status.

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

    Usage Guidelines3/5

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

    The description implies usage when pod health details are needed, but provides no explicit when-to-use guidance, exclusions, or pointers to sibling tools. With a sibling like fleet_runtime_brief, such differentiation would help.

    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

ms-copilot-mcp MCP server

Copy to your README.md:

Score Badge

ms-copilot-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/jbptechLLC/ms-copilot-mcp'

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