Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a clearly distinct purpose: apply_customization saves, list_customizations lists names, read_customization reads content, and write_proposal writes a separate proposal file. No two tools are ambiguous.

    Naming Consistency4/5

    All tools follow a verb_noun pattern, but there is a minor pluralization inconsistency (list_customizations vs. singular other tools) and the noun changes from 'customization' to 'proposal'. Overall mostly consistent.

    Tool Count5/5

    With 4 tools, the count is well-scoped for the domain of managing customizations and proposals. Each tool serves a necessary function without unnecessary duplication.

    Completeness3/5

    The toolset covers create/read/update for customizations but lacks a delete tool. Additionally, there is no tool to read or list proposals, only to write them. These gaps are notable but manageable.

  • Average 3.9/5 across 4 of 4 tools scored.

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

    • No community issues in the last 6 months
    • 5 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 provided, so description carries full burden. It does not disclose overwrite behavior, error handling, permissions needed, or side effects beyond writing. Minimal behavioral disclosure.

    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?

    Description is short with an Args list. Could be more concise by integrating param descriptions into flowing text, but overall efficient and front-loaded.

    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?

    Output schema exists but not shown; description lacks key details like overwrite policy, success/failure conditions, and prerequisites. Not fully complete for a write tool.

    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?

    Schema has 0% description coverage, but the description explains both parameters: content as full markdown and workspace_path as optional path. This adds significant meaning beyond the schema's type/title.

    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 (write), the specific resource (learning_proposal.md), and the location (workspace root). It is distinct from siblings which deal with customizations.

    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 'for user review' implies use case but no explicit when-to-use vs alternatives or when-not-to-use. Siblings are about customizations, so context makes it usable but not explicit.

    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 full responsibility for behavioral disclosure. It states the tool lists files in two directories but does not clarify whether subdirectories are traversed, file formats, or that it is read-only. This leaves gaps in understanding 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?

    The description is very concise: three lines with a clear header line and an Args section. Every sentence adds value, no redundancy.

    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 simplicity (one optional parameter, list operation) and the presence of an output schema, the description covers the essential aspects. However, it could mention whether the listing is recursive, which is a minor gap.

    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 has 0% coverage (no parameter descriptions), so the description compensates by explaining the workspace_path parameter: 'Optional custom path to the workspace root. Default is CWD.' This adds meaningful context beyond the schema.

    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 'list' and resource 'customization files (rules and skills)', and specifies the scope 'in the workspace and global directories'. It distinguishes from sibling tools like apply_customization, read_customization, and write_proposal.

    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 provides the optional workspace_path argument and its default, but does not explicitly state when to use this tool versus alternatives like read_customization for viewing content. Usage context is implied but not explicitly guided.

    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 disclose behavioral traits. It only mentions 'Save' without detailing whether files are overwritten, appended, or validated. There is no information about permissions, error conditions, or side effects, leaving significant behavioral gaps 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 well-structured with a concise purpose statement, a critical usage guideline, and an enumerated parameter list. Each part serves a distinct role without redundancy, though the parameter descriptions could be slightly more terse.

    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 tool has 5 parameters, an output schema, and no annotations, the description covers purpose, usage, and parameter semantics. However, it lacks details on error handling, file overwrite behavior, and permission prerequisites, which are important for a mutation tool. It is minimally adequate but not fully comprehensive.

    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?

    With 0% schema description coverage, the description compensates by explaining the type ('rule' or 'skill'), name ('required for skills' and 'can be empty or cursor for rules'), content ('complete text content'), and the purpose of is_global and workspace_path. This adds meaning beyond the schema's basic type and default information.

    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 'Save the rules or skills customizations,' providing a specific verb and resource. It distinguishes this tool from sibling tools like list_customizations, read_customization, and write_proposal by implying it is for applying/saving, not for listing, reading, or proposing.

    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 explicitly instructs to 'Always ensure you have written a proposal and obtained user confirmation before calling this tool,' providing clear when-to-use and prerequisite conditions. This guides the agent to use write_proposal first and get confirmation, making the usage context unambiguous.

    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 provided so description carries full burden. It correctly indicates read-only behavior ('Read the contents'), but does not detail return format or potential side effects (though none expected). Adequate but not enriched.

    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?

    Main purpose sentence followed by Args bullet points. Efficiently conveys information without excess. Could be slightly more streamlined but overall well-structured.

    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 4 parameters (2 required), no enums, and output schema exists, the description covers all necessary context: parameter roles, reading semantics, and location differences. Completeness is high.

    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 description coverage is 0%, but description fully explains each parameter: type values ('rule'/'skill'), name behavior (ignored for rule, folder for skill), workspace_path as optional, and is_global as read location flag. Greatly adds value over bare schema.

    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?

    Clearly states it reads a rule or skill file, with specific verb and resource. Distinguishes from sibling tools (apply, list, write) by focusing on reading content.

    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?

    Provides clear context on when to use (to read customization files) and explains parameter behavior (name meaning for rule vs skill). Lacks explicit when-not or alternative tool mentions, but usage is well implied.

    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

andy_learn_tool MCP server

Copy to your README.md:

Score Badge

andy_learn_tool 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/timtty-sinch/andy_learn_tool'

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