Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a clearly distinct purpose: auto-fixing errors, generating summaries, running diagnostics, reading files, getting git context, learning progress, project scanning, and watching diagnostics. No overlap or ambiguity.

    Naming Consistency5/5

    All tool names use consistent snake_case with a verb_noun pattern (e.g., auto_fix, get_diagnostics, scan_project). No mixed conventions or vague names.

    Tool Count5/5

    8 tools is well-scoped for a coding assistant with pet features. Each tool serves a specific function without redundancy, covering diagnostics, file access, git, learning, and automation.

    Completeness4/5

    The tool set covers core functionalities: diagnostics, file reading, git context, learning progress, project scanning, and auto-fix. Minor gaps like user interaction or manual notes, but overall sufficient for the domain.

  • Average 3.6/5 across 8 of 8 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
  • 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

  • Behavior2/5

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

    With no annotations, the description must disclose all behavioral traits. It mentions LLM usage and aggregation of session events, but does not state whether the tool is read-only, destructive, or if it has side effects like caching. The cost of calling an LLM and potential dependencies are not addressed.

    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 clear front-loading. However, the phrase 'with pet reaction' adds some ambiguity and could be considered extraneous. Overall it is concise but not maximally efficient.

    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 description lacks details about the output format (only 'natural language summary'), does not mention caching behavior, and does not specify prerequisites like existence of session events. Given the absence of an output schema, more context is needed.

    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 both parameters described in detail. The description adds no additional meaning to the parameters, but baseline 3 is appropriate as the schema already provides sufficient semantics.

    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 that the tool generates an LLM-powered daily coding summary with a pet reaction, specifying the verb 'Generate' and the resource 'daily coding summary'. This is distinct from sibling tools which focus on fixing, diagnostics, or retrieving content.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It does not mention that it uses cached summaries by default or that it should be called after session events are collected. No exclusions or alternative tool references are given.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. It describes the output but fails to disclose behavioral traits such as authentication requirements, rate limits, or side effects. For a read-oriented tool, the transparency is lacking.

    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 that front-loads the action and lists key output components. It is concise with no filler, though the list format could be slightly clearer if broken into bullet points. Still, it earns its place.

    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?

    With no output schema, the description should fully explain return values. It lists high-level components but does not detail their structure or types. Adequate for simple use, but agents need more specifics to parse results reliably.

    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 only parameter ('days') is fully documented in the input schema with description, min, and max. The tool description adds no additional meaning beyond the schema, meeting the baseline expectation for 100% 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 ('Get') and resource ('aggregated learning progress') and lists concrete components (error patterns, language activity, skill tree progress, streaks, personalized recommendations), making the tool's purpose immediately clear and distinct from siblings like get_git_context or scan_project.

    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 guidance on when to use this tool versus alternatives (e.g., generate_daily_summary). The context is implied by the 'aggregated learning progress' focus, but there are no exclusion criteria or examples of appropriate use cases.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It mentions 'tracks error patterns over time' implying persistence or state, but does not disclose side effects, data storage, permission requirements, or whether the tool is read-only. The lack of behavioral context is a gap.

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

    Conciseness5/5

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

    The description is two sentences with no fluff. It front-loads the action (run diagnostics) and resource (project), followed by value-add (tracking patterns). Every word earns its place.

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

    Completeness3/5

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

    Given the absence of an output schema, the description does not explain what the tool returns (e.g., list of errors, summary). It mentions tracking patterns but lacks detail on output format or structure. With 3 parameters and no output schema, more context is needed for completeness.

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

    Parameters3/5

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

    The input schema has 100% description coverage, so the baseline is 3. The description does not add significant extra meaning beyond what the schema already provides for parameters (path, toolchain, command). No additional context or clarifying examples.

    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 specific verbs and resources ('Run project diagnostics') and clearly distinguishes from siblings like auto_fix and get_file_content. It explicitly mentions capturing compiler errors, lint warnings, and test failures, providing a clear purpose.

    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 when to use (to capture errors and track patterns) but lacks explicit guidance on when not to use or alternatives. No comparison to siblings like scan_project or auto_fix, leaving the agent to infer context.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It does not disclose behavioral traits such as read-only or destructive nature, authentication requirements, rate limits, or performance implications. The description implies a read operation but does not confirm.

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

    Conciseness5/5

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

    The description is two sentences long, front-loaded with the action and resource, and contains no unnecessary words. Every sentence adds value.

    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?

    With 3 parameters, no output schema, and no annotations, the description is adequate but not fully complete. It covers what the tool returns but omits potential side effects, error conditions, or performance considerations. It is minimally viable for an agent to use 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 parameters. The description adds no additional meaning beyond the parameter names and defaults. It provides a high-level context but no extra semantic detail.

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

    Purpose5/5

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

    The description clearly states the verb 'Get' and the resource 'git repository context', and lists specific items (commits, branch info, diff stats, activity patterns). This clearly differentiates it from siblings like 'get_learning_context' or 'get_diagnostics'.

    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 mentions it 'powers daily summaries', which implies usage context, but it does not explicitly state when to use this tool versus alternatives (e.g., 'generate_daily_summary'). No when-not or alternative 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?

    With no annotations, the description carries the full burden. It discloses that the tool does language detection, returns line numbers and metadata, and supports line ranges. However, it does not mention safety, authentication, or performance characteristics.

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

    Conciseness5/5

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

    The description is two sentences, front-loaded with the main action, and every word adds value. No redundancy or fluff.

    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 tool without an output schema, the description explains the key return features (language detection, line numbers, metadata) and the line-range capability. It is mostly complete, though missing usage guidance slightly lowers the score.

    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%, so the parameters are fully described in the schema. The description adds no new meaning to parameters beyond what the schema already provides, so baseline score of 3 is appropriate.

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

    Purpose5/5

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

    The description states 'Read a file's contents' with specific features like language detection and line ranges. The verb 'Read' and resource 'file's contents' are precise, and the tool is clearly distinct from siblings like auto_fix or get_diagnostics.

    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 does not provide any guidance on when to use this tool versus alternatives, nor does it mention conditions or restrictions. There is no 'when not to use' or reference to sibling tools.

    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 must fully disclose behavior. It indicates the tool scans a directory and returns a fingerprint, suggesting a read-only operation. However, it does not mention potential side effects, performance considerations (e.g., depth limits), or required permissions. The behavioral disclosure is minimal and insufficient for an unannotated 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?

    Two concise sentences efficiently convey the tool's purpose and return value. No extraneous words; every sentence serves a clear function.

    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?

    With only 2 parameters and no output schema, the description adequately explains the tool's input (path and depth) and output (project fingerprint). It could be more specific about the structure of the fingerprint, but given the low complexity, it is sufficiently complete for an agent to understand the 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?

    Schema description coverage is 100% (both 'path' and 'maxDepth' are described). The description adds no new meaning beyond what the schema already provides, 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.

    Purpose5/5

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

    The description clearly states the tool scans a project directory to detect languages, frameworks, structure, and dependencies, returning a project fingerprint. It uses a specific verb ('scan') and resource ('project directory'), effectively distinguishing it from sibling tools like 'get_file_content' or 'get_git_context'.

    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 obtaining a project overview for context-aware assistance but does not explicitly state when to use it versus alternatives like 'get_git_context' for git-specific info or 'get_file_content' for single files. No exclusions or when-not-to-use guidance is provided.

    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?

    With no annotations, the description carries the full burden. It explains the watcher behavior, actions, language support, and platform-agnostic nature. It does not disclose potential performance impacts or what happens to previous watcher state, but overall transparent.

    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 concise with a clear summary of actions and supported languages. It could be more structured (e.g., bullet points for actions), but every sentence adds value with minimal redundancy.

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

    Completeness3/5

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

    Given no output schema and sibling tools, the description adequately covers actions and supported languages but lacks details on return values, error handling, or edge cases like timeouts or concurrent watchers.

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

    Parameters3/5

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

    Input schema has 100% coverage; description adds context like 'required for start and scan' for the path parameter, but doesn't add significant meaning beyond what the schema already provides for action and file parameters.

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

    Purpose4/5

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

    The description clearly states it's a real-time diagnostic watcher for monitoring errors, listing actions like start, stop, status, scan. It differentiates from siblings like 'get_diagnostics' and 'scan_project' by focusing on persistent watching, but doesn't explicitly contrast them.

    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 explains when to use each action (start, stop, status, scan) and the required path for start and scan. However, it lacks explicit guidance on when NOT to use this tool or alternatives from siblings.

    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?

    With no annotations provided, the description carries the burden of behavioral disclosure. It reveals the tool's two-step process (pattern-based first, then AI fix) and the effects of each mode, including warnings for 'apply' ('use with care') and 'apply_all' ('Fix all auto-fixable errors'). This adds useful context beyond just the action.

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

    Conciseness5/5

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

    The description is concise and well-structured. It opens with a clear purpose, then explains the two-step process, and finishes with a bullet list of modes. Every sentence adds value without redundancy.

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

    Completeness3/5

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

    The description adequately explains the tool's behavior for fixing errors but lacks details about the return value or output format (e.g., what is returned after a simple fix vs. a complex AI fix request). Since there is no output schema, the description should compensate, but it is somewhat incomplete regarding post-action results.

    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%, so the baseline is 3. The description adds no new meaning beyond what the schema already provides: it repeats the mode values, file requirement, and line optionality. No additional parameter semantics are introduced.

    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: 'Attempt to automatically fix a coding error detected by the diagnostic watcher.' It specifies the verb 'fix' and the resource 'coding error'. The description also distinguishes from sibling tools like get_diagnostics and watch_diagnostics by focusing on the fix action rather than just viewing or monitoring.

    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 explains the two approaches (pattern-based or AI fix) and the three modes (suggest, apply, apply_all). However, it does not explicitly state when to use this tool versus alternatives like get_diagnostics or scan_project. It implies it is for errors detected by the diagnostic watcher but lacks clear when-not or exclusionary guidance.

    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

codepet-mcp-server MCP server

Copy to your README.md:

Score Badge

codepet-mcp-server 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/My-Outcasts/codepet-mcp-server'

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