sql-template-mcp
Server Quality Checklist
Latest release: v0.1.0
- Disambiguation4/5
The tools are mostly distinct: save/get/search/list/update/delete/record cover different CRUD and search operations. However, search_sql_template and semantic_search_sql_template overlap in purpose (both retrieve templates), though the descriptions clarify the semantic variant is for natural language queries. This slight overlap prevents a perfect score.
Naming Consistency5/5All tool names follow a consistent verb_noun pattern: save_sql_template, get_sql_template, search_sql_template, semantic_search_sql_template, list_sql_templates, update_sql_template, delete_sql_template, record_template_usage. The pattern is uniform and predictable, with clear verbs and the domain noun 'sql_template' (or plural in list).
Tool Count5/5With 8 tools, the server is well-scoped for a template management system. Each tool serves a distinct function: CRUD operations, two search modes, and usage tracking. This is within the ideal 3-15 range and feels complete without being bloated.
Completeness5/5The tool surface covers the full lifecycle of SQL templates: create (save), read (get, search, list), update, delete, and usage tracking. The two search modes (keyword and semantic) address different retrieval needs. No obvious gaps exist for the stated purpose of managing a template library.
Average 4/5 across 8 of 8 tools scored. Lowest: 3/5.
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
- Last stable release on
- 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.jsonto 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 of behavioral disclosure, but it does not mention side effects, idempotency, return values, or error behavior. The only added context is the cleanup purpose, which is more about usage than behavior. This is insufficient for a mutating operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the action and includes a useful contextual note. It is appropriately sized for the tool's simplicity, though it might have earned a 5 with a bit more behavioral detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the tool is simple with one parameter and an output schema exists, the lack of annotations and minimal description makes it incomplete for a mutation operation. There is no mention of idempotency, error handling, or what happens to related data, which is expected for a delete operation with no other context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description provides no information about the template_id parameter or any additional arguments. The description fails to compensate for the low schema coverage, leaving the agent with no semantic guidance beyond the parameter name itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Delete specified template' provides a clear verb+resource, and the parenthetical 'clean up incorrect/expired templates' adds a specific use case that distinguishes it from sibling tools like update or search. This meets the 5-point criterion of specific verb+resource with differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical 'cleaning up incorrect/expired templates' gives a contextual hint about when to use this tool, but it is not explicit about when not to use it or how it differs from alternatives like update_sql_template. It provides light context without explicit exclusions or named alternatives.
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 carry the full behavioral burden. It explains the intended content of execution_flow and example_case, but does not disclose whether omitted fields are preserved or reset, what happens if the template does not exist, required permissions, or response/error 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded: the first sentence states the core action, and the bullet points add only the field-specific guidance that is most likely to need explanation. No redundant or filler content is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness1/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 14 parameters, no annotations, and zero schema descriptions, this description is severely incomplete. It covers only two fields in detail and leaves critical update semantics—partial vs. full replacement, validation, error cases, and permissions—entirely unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for 14 parameters. It adds meaningful detail for only execution_flow and example_case, while the remaining 12 parameters (e.g., title, category, verified, placeholders) receive no semantic explanation beyond their schema names and defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('更新' / update) and a concrete resource ('已有模板的字段' / fields of existing templates), with examples of what can be updated. This clearly differentiates it from sibling tools like get, search, list, delete, and save.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The text implies the tool is for existing templates via '已有模板', but it does not explicitly state when to use this tool versus save_sql_template or when not to use it. There are no named alternatives or exclusion conditions.
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 provided, the description carries the transparency burden. It states the tool returns 'complete content,' which gives some behavioral detail but does not disclose error handling, authentication needs, or pagination. Adequate for a simple retrieval but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
A single concise sentence that is front-loaded with the key action and scope. No wasted words or redundant details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get-by-id tool with one parameter and an output schema, the description covers the essential purpose and parameter role. It does not mention alternative usage scenarios, but the tool's simplicity makes the description reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description explicitly references 'by id,' which maps the template_id parameter to its role as the identifier. Since there is only one self-explanatory parameter, this minimal compensation is sufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (get), resource (single template), and scope (by id and complete content). This distinguishes it from sibling tools like search_sql_template and list_sql_templates which serve different retrieval purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'by id'—the agent can infer this tool is for when a specific template_id is known. However, it does not explicitly mention when to use alternatives like search_sql_template or list_sql_templates, so guidance is minimal.
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 are provided, so the description carries the burden. It mentions filters and the overview purpose but does not disclose pagination behavior, result size, or any read-only guarantee. For a simple list tool, this is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with zero filler. It conveys the core purpose and filters efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists, return format details are unnecessary. The description covers filtering and usage context. It could mention the limit parameter or pagination, but the tool is simple enough that the description is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does 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 filter capabilities for category, doc_type, and verified_only. It does not mention limit, but that is a standard pagination parameter; overall it adds meaningful context beyond the schema titles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists templates from the library with optional filters by category, document type, and verification status. It distinguishes itself from sibling tools like get_sql_template (single retrieval) and search_sql_template (search), making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes '用于总览' (for overview), which gives a mild usage hint, but it does not explicitly state when to choose this over search or semantic_search, nor does it provide exclusions. This is implied rather than explicit.
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?
无注解,描述承担全部行为披露责任。描述说明了保存到模板库的操作,但未提及是否有权限要求、是否可能覆盖现有模板、写入后如何验证等。提供了一些内部指导(如何生成执行流),但缺少副作用和前置条件信息。
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
虽然描述较长,但每个参数都配有清晰说明和示例,结构化良好,关键信息靠前。有些内容可更精简,但整体信息密度高,未过度冗余。
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
描述覆盖了所有 16 个参数的逐一解释,包括默认值、示例和关系(如 execution_flow 的语法),并说明了返回值概要和用途。对于创建型工具,上下文足够完整。
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
输入 schema 没有提供任何描述(schema coverage 0%),描述承担了全部参数解释职责。每个参数都有详细含义、示例值和推荐填写场合,远超 schema 提供的信息,完全补偿了 schema 的不足。
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
描述明确说明工具用途:将生成的 SQL 步骤沉淀为模板并存入模板库(Supabase)。动词“沉淀”+宾语“模板”+存储位置,清晰区分于兄弟工具(get/search/list/update/delete 等)。
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
描述包含详细的使用指导,如数据修复类模板强烈建议填写 execution_flow,并指导大模型分步调用 execute_sql。但未明确说明何时使用此工具 vs 兄弟工具(如 update_sql_template 或 list_sql_templates),也未说明替代方案。使用指南隐含在参数说明中,但缺少显式对比。
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 disclosing side effects. It clearly states that calling this tool increments the usage count and refreshes the last-used timestamp, which is essential behavioral information for a mutating 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences. The first sentence front-loads the core behavior and side effect; the second provides the invocation context and business rationale. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool, the description covers what it does, when to call it, and why it matters. An output schema exists, so not explaining return values is acceptable. It could mention error cases or idempotency, but these are not critical for basic invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has only one required parameter, template_id, with no description, and schema coverage is 0%. The description does mention '某模板' (a template), which indirectly ties to the parameter, but it does not explain the parameter's source or constraints. Given the self-explanatory parameter name, this is adequate but not exceptional.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: recording a template usage by incrementing the usage count and refreshing the last-used timestamp. This specific behavior distinguishes it from sibling CRUD/search tools like get_sql_template or update_sql_template.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says to call this tool after a skill-reuse template generates final SQL, giving a clear invocation context. It does not explicitly list exclusions or alternative tools, but the context is strong enough for correct selection.
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?
With no annotations provided, the description carries the full burden and does so well. It discloses the hybrid retrieval mechanism, fallback behavior without NVIDIA_API_KEY, sorting criteria (similarity/usage count), and return format (Markdown list with SQL, verification status, and similarity scores). This is rich behavioral context beyond what structured fields provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear purpose statement, retrieval behavior summary, and a bulleted parameter list. It is appropriately sized for a tool with six parameters and zero schema coverage; 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/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (6 parameters, hybrid retrieval, fallback logic) and the lack of annotations, the description is complete. It covers when to use it, how retrieval works, all parameter semantics, and the return format. The presence of sibling tools does not create gaps because the description clearly positions this as the hybrid search entry point.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does. It explains all six parameters with concrete examples (e.g., keyword examples like 「把询价单退回到报价中」), enumerates doc_type and category options, and clarifies use_semantic's default and fallback behavior. This adds substantial meaning beyond the bare input schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves reusable SQL templates from a template library and should be called before generating SQL. It distinguishes itself by specifying a hybrid retrieval approach (semantic vector + keyword fuzzy matching), which differentiates it from siblings like semantic_search_sql_template and list_sql_templates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear usage context: call before generating SQL to form a closed loop. It also explains the automatic fallback when NVIDIA_API_KEY is not configured. However, it does not explicitly name alternative tools or state when not to use this tool versus its siblings.
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?
With no annotations, the description carries the full burden and does a thorough job: it discloses the underlying match_sql_templates RPC, pgvector cosine distance, the NVIDIA_API_KEY requirement, the degradation behavior when the key is missing or the call fails, and the sorted Markdown return format. This goes well beyond a generic search 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured: a one-sentence purpose, a short implementation/prerequisite note, a clean parameter list with human explanations, and a one-line return summary. Every element earns its place; no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given six parameters, no annotations, and only an empty schema description, this tool's description is complete: it covers purpose, computational model, configuration prerequisite, failure behavior, parameter semantics, and return format. The presence of an output schema further reduces the need to explain return structure, but the description adds the useful Markdown/similarity-score detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description compensates fully by explaining all six parameters: query with concrete business examples, permitted doc_type/category values, verified_only filtering, threshold range with default, and limit. This adds substantial meaning beyond the raw input schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Description opens with a specific verb+resource: '用语义向量召回模板' and states it suits natural-language/paraphrased queries such as '把询价单退回到报价中状态'. This semantic-search scope clearly distinguishes it from sibling tools like search_sql_template.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear usage context: use for natural language/口语化 descriptions and semantic similarity, and it lists the prerequisite NVIDIA_API_KEY plus fallback behavior. It does not explicitly name alternatives or say 'do not use for exact keyword matching', but the suitability framing is enough.
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
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/nichuan/sql-template-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server