Skip to main content
Glama
Simonsms

TiDB RAG MCP Server

by Simonsms

Server Quality Checklist

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

  • Disambiguation5/5

    The four tools have clear, non-overlapping purposes: paginated listing, single-item retrieval by ID, keyword search, and vector similarity search. Even though list and search both return multiple entries, one is for browsing and the other requires a query, so an agent can reliably distinguish them.

    Naming Consistency4/5

    Three tools follow a consistent tidb_verb_noun pattern: tidb_list_knowledge, tidb_get_knowledge, and tidb_search_knowledge. tidb_vector_search breaks the verb-first convention somewhat, but the shared prefix and parallel structure keep the naming readable.

    Tool Count5/5

    Four tools is a well-scoped size for a read-focused knowledge base server. Each tool earns its place by covering a distinct retrieval need without unnecessary redundancy.

    Completeness2/5

    List, get, and keyword search form a functional read path, but the only semantic retrieval tool is explicitly a placeholder that always returns a not-implemented message. For a server claiming RAG capabilities, the missing working vector search and the lack of knowledge-entry management operations are significant gaps.

  • Average 3.8/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
    • 0 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?

    The annotations already cover safety traits (readOnlyHint, idempotentHint, non-destructive), so the description's added value is appropriate: it explains that results match title/content, documents the markdown/json response formats, and details pagination semantics like has_more and next_offset. This goes beyond the structured annotations without contradicting them.

    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 organized with clear sections: purpose, args, returns, and examples. It is longer than minimal, but the extended return-shape documentation is justified because there is no output schema. The only minor redundancy is the second sentence partially restating the first.

    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 that there is no output schema, the detailed JSON return structure and pagination fields are essential and are fully provided. Examples cover simple search, category filtering, and pagination. The definition is complete enough for an agent to invoke the tool correctly; cross-tool routing is absent but is already scored separately under usage guidelines.

    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 Args section largely restates the schema: query length, limit range, default values, category filtering, and response_format enum. The examples add usage context but not new parameter-level meaning, so the description neither hurts nor significantly supplements the schema.

    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 opening sentence names a specific verb and resource: 'Search knowledge entries by keyword in TiDB RAG knowledge base.' It further clarifies that matching occurs in title or content, which conveys a lexical-scope distinction from siblings. However, it never explicitly names or contrasts sibling tools such as tidb_vector_search, so differentiation is implicit rather than stated.

    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?

    There is no explicit when-to-use or when-not-to-use guidance. The description does not mention alternatives like tidb_list_knowledge for browsing, tidb_get_knowledge for single entries, or tidb_vector_search for semantic search. The keyword-scoped phrasing implies one usage context, but no exclusions or routing rules are 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?

    Annotations already declare readOnly, idempotent, and non-destructive behavior. The description adds useful behavioral context beyond annotations by documenting pagination semantics, response_format options, and the JSON return contract including has_more and next_offset. It does not specify ordering or entry field shapes, but the annotation coverage lowers that burden.

    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-organized with Summary, Args, Returns, and Examples sections, and the key purpose is front-loaded. There is minor redundancy: the second sentence largely restates the first ('List knowledge entries... with pagination' vs 'retrieves knowledge entries... supporting... pagination'), which costs a little efficiency.

    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-only, paginated list tool with no output schema, the description covers all parameters, defaults, pagination mechanics, JSON return shape, and includes examples. It omits markdown output shape and ordering semantics, but these are minor given the annotations and schema coverage.

    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 four parameters fully. The description repeats parameter defaults and adds practical examples, but it does not add substantive semantic meaning beyond what the schema provides.

    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 specific verb and resource: 'List knowledge entries from TiDB RAG knowledge base with pagination' and adds category filtering. It is clear and distinct in practice, but it never explicitly references sibling tools like tidb_get_knowledge or tidb_search_knowledge to explain how listing differs from getting or searching.

    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 for paginated browsing and category filtering, which gives some context. However, it provides no explicit when-to-use or when-not-to-use guidance and does not mention alternative tools or conditions that would route an agent to search or vector_search instead.

    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?

    Beyond the readOnly and idempotent annotations, the description discloses the most important runtime behavior: this is a placeholder and will return a not-implemented message. This is critical information that the annotations alone could not convey. There is no contradiction between the description and annotations.

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

    Conciseness3/5

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

    The core message is concise and the placeholder warning is front-loaded, which is helpful. However, the Args and Returns sections largely duplicate the input schema without adding new information, so not every sentence truly 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?

    Between the schema, annotations, and description, a caller knows the parameters, safety profile, intended behavior, and the fact that the tool is currently non-functional. The main gaps are the lack of sibling-tool alternatives and the absence of a more concrete return format, but these are minor for a placeholder 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?

    The input schema already describes all four parameters with types, defaults, ranges, and required status, so schema coverage is 100%. The description's Args section merely repeats that information and adds no additional semantic nuance. A baseline of 3 is appropriate when the schema carries the parameter documentation burden.

    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 opens with a specific verb and resource: 'Search knowledge entries by vector similarity in TiDB', which clearly conveys the intended function. The placeholder note adds important context without obscuring the purpose. However, it does not explicitly differentiate this tool from the sibling tidb_search_knowledge tool.

    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 placeholder warning gives an explicit reason not to call this tool now: 'Currently returns a not-implemented message.' That provides some usage guidance. But it never states when to use this tool versus the sibling list/get/search tools, nor does it recommend an alternative.

    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?

    Annotations already declare read-only, idempotent, and non-destructive behavior. The description adds useful behavioral context by disclosing the response_format options, the exact JSON return shape, and concrete examples, which go beyond the annotations without contradicting them.

    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-organized into purpose, arguments, return format, and examples, and the key purpose is front-loaded. There is slight redundancy between the first two sentences, but overall every remaining sentence earns its place.

    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 simple two-parameter read tool with no output schema, the description is complete: it states the ID requirement, the response_format behavior, the JSON return structure, and usage examples. No critical information needed to call the tool correctly is missing.

    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 both parameters. The description adds only mild value by giving an example ID format ('kb-001') and a concise usage example, but it largely restates what the schema already provides.

    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?

    States a specific verb ('Get'), resource ('single knowledge entry by ID from TiDB RAG knowledge base'), and emphasizes retrieval of 'full content'. It is clearly distinct from siblings like list, search, and vector search, which do not fetch by exact ID.

    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 cases where the caller already knows the knowledge entry ID, but it does not explicitly contrast with siblings (list/search/vector) or state when to use an alternative. The usage context is clear but not enforced with exclusions.

    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

readKnowledgeMcp MCP server

Copy to your README.md:

Score Badge

readKnowledgeMcp 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/Simonsms/readKnowledgeMcp'

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