Skip to main content
Glama
codemcp

agentic-knowledge

by codemcp

Server Quality Checklist

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

  • Disambiguation4/5

    Each tool targets a distinct action (search, list, init), but search_docs also lists available docsets, creating a minor overlap with list_docsets. Despite this, the tools are clearly differentiated by their core purposes.

    Naming Consistency5/5

    All tool names follow the verb_noun snake_case pattern: search_docs, list_docsets, init_docset. This is consistent and predictable.

    Tool Count5/5

    Three tools is within the ideal 3-15 range, and each tool serves a necessary function without redundancy. The count is well-scoped for the server's documentation search purpose.

    Completeness5/5

    The set covers the complete lifecycle: init_docset for setup, list_docsets for discovery, and search_docs for querying. No obvious gaps exist for the intended use case.

  • Average 4.2/5 across 3 of 3 tools scored. Lowest: 3.6/5.

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

    • 0 of 1 community issues answered or closed in the last 6 months
    • 24 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is failing
  • 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?

    With no annotations, the description carries the full burden. It mentions 'downloading and preparing' but does not disclose side effects, network requirements, or behavior if the docset already exists. The force parameter implies overwriting, but the prose does not explain consequences or safety.

    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 and front-loaded, with a clear main sentence followed by a useful list of available docsets. The emoji formatting is slightly extra but not wasteful.

    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 tool is relatively simple, but the description lacks important edge-case information such as what happens if the docset is already initialized, return values, or potential long-running behavior. Given no output schema, more detail would improve 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?

    Schema coverage is 100%, so the baseline is 3. The description lists available docset values, but this is redundant with the enum in the schema. It adds no additional meaning about the force parameter or how parameters interact.

    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 'Initialize a docset by downloading and preparing its content sources,' using a specific verb and resource. It is distinct from sibling tools like search_docs and list_docsets, which are about querying and listing.

    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 an explicit usage condition: 'Run this when a docset is configured but not yet initialized.' However, it does not mention when not to use it or alternatives, such as using list_docsets to check initialization status.

    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 the burden of disclosing behavioral traits. It implies a read-only list operation and mentions 'additional metadata' but does not specify what 'detailed information' includes, nor does it address potential prerequisites (e.g., whether docsets need to be initialized via init_docset) or return structure. This leaves key behavioral aspects undisclosed, but the simple nature of listing with no params mitigates the 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 concise, consisting of two sentences. The first sentence states the core function, and the second sentence provides a relevant usage note about search_docs. Every sentence earns its place with no redundancy or filler.

    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?

    While the tool is simple (0 params, no output schema), the description is vague about what 'detailed information' includes. An agent would need to invoke the tool to discover the exact metadata, which is a gap since the description is the only source of return-value information. The note about search_docs helps clarify positioning, but the lack of detail about the output makes it incomplete for an agent deciding if this tool meets its needs.

    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, so the schema is empty. The description does not need to explain parameters, and with no parameters, there is nothing to clarify. According to the rubric, 0 params yields a baseline of 4, which is appropriate here—the description adds no parameter semantics, but none are required.

    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 the resource 'all available documentation sets (docsets)' with 'detailed information' as the purpose. It distinguishes from the sibling tool search_docs by explicitly noting that it provides additional metadata, making its unique role clear.

    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 provides explicit guidance on when to use this tool versus the search_docs sibling: 'The search_docs tool already shows available docsets in its description, so this tool is mainly for getting additional metadata.' This tells the agent when to choose list_docsets over the alternative, effectively serving as a clear usage directive.

    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?

    Since no annotations are provided, the description carries the full burden. It discloses the return format (file path, line number, matched content, context lines), the regex nature of the pattern with examples and warnings, and the available docsets. This goes beyond a simple generic description.

    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 front-loaded: it starts with the purpose, then lists available docsets. The regex explanation is detailed but necessary to prevent misuse, and every sentence adds value without redundancy.

    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?

    With no output schema, the description explains return values (file path, line number, matched content, context lines). It also covers docset enumeration and regex nuances. For a search tool with 3 parameters, this is complete enough for an agent to invoke correctly.

    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 already covers all parameters with descriptions (100% coverage), so the baseline is 3. The description adds extra value for the 'pattern' parameter by giving example regexes and warning that spaces are literal and to use '|' for alternatives, which is not fully captured in 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 tool's purpose with a specific verb ('Search') and resource ('documentation in available docsets'), and it distinguishes itself from sibling tools (list_docsets, init_docset) by focusing on searching rather than listing or initializing.

    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?

    It provides clear context: search across available docsets, lists those docsets, and explains return format. It doesn't explicitly mention when not to use or alternative tools, but the context is clear enough an agent would know this is for searching docs, not for listing or initializing docsets.

    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

knowledge MCP server

Copy to your README.md:

Score Badge

knowledge 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/codemcp/knowledge'

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