Review-Code
Server Quality Checklist
Latest release: v1.0.0
- Disambiguation4/5
The tools have distinct purposes: parse_review_score extracts scores from text, while the other three build prompts for different code review contexts (overall code, Git diff, single file). However, review_code, review_diff, and review_file could be confused as they all build LLM prompts for review, differing only in input scope. Descriptions clarify this, but the overlap in function is notable.
Naming Consistency5/5All tool names follow a consistent verb_noun pattern with snake_case: parse_review_score, review_code, review_diff, review_file. The naming is predictable and readable, with no deviations in style or convention across the set.
Tool Count5/5With 4 tools, the count is well-scoped for a code review server. Each tool serves a clear purpose: one for parsing scores and three for building review prompts across different contexts. This is neither too thin nor too heavy for the domain.
Completeness3/5The server covers parsing scores and building prompts for various review types, but there are notable gaps. It lacks tools for executing reviews (e.g., calling an LLM), managing review workflows, or handling feedback beyond scores. This limits agents to only prompt construction and score extraction, missing core review operations.
Average 2.7/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
This repository is licensed under Apache 2.0.
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?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool builds prompts for code review and scoring without directly calling the LLM, which implies it's a read-only or preparatory operation. However, it lacks details on permissions, rate limits, output format, or any side effects. For a tool with 3 parameters and no annotations, this is insufficient behavioral context.
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, efficient sentence in Chinese that clearly states the tool's function and a key constraint (not directly calling LLM). It is front-loaded with the main purpose and has no wasted words, making it appropriately concise for the complexity level.
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?
Given the tool has 3 parameters, no annotations, no output schema, and 0% schema description coverage, the description is incomplete. It explains the high-level purpose but misses critical details like parameter meanings, behavioral traits, and output expectations. For a tool that likely generates structured prompts, more context is needed to guide effective use.
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 schema provides no parameter descriptions. The tool description does not mention any parameters ('code', 'style', 'commitMessage') or their meanings. With 3 parameters and no information in either the schema or description, the agent has no semantic guidance beyond the parameter names. This fails to compensate for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose3/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool '构建用于代码整体审查与打分的 LLM 提示词(不直接调用 LLM)' which translates to 'Builds LLM prompts for overall code review and scoring (does not directly call LLM)'. This provides a clear verb ('builds') and resource ('LLM prompts'), but it's somewhat vague about the exact nature of the prompts and doesn't distinguish from siblings like 'review_diff' or 'review_file'. The purpose is understandable but lacks specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 like 'review_diff' or 'review_file'. It mentions that it does not directly call the LLM, which hints at a preparatory step, but there's no explicit when-to-use or when-not-to-use context. Usage is implied rather than stated, leaving gaps for the agent to infer.
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 of behavioral disclosure. It states the tool builds prompts for review and scoring, but doesn't describe what the prompts look like, how they're structured, or any behavioral traits (e.g., whether it's idempotent, requires specific inputs, or has side effects). The mention of '不直接调用 LLM' hints at a non-execution role, but this is insufficient for a tool with 3 parameters and no annotation coverage.
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 extremely concise—a single sentence in Chinese that efficiently states the purpose and a key constraint ('不直接调用 LLM'). It's front-loaded with the main action and wastes no words. Every part of the sentence earns its place by clarifying the tool's role.
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?
Given the complexity (3 parameters, 0% schema coverage, no annotations, no output schema), the description is incomplete. It explains the high-level purpose but fails to address parameter meanings, behavioral details, or output expectations. For a tool that likely generates structured prompts, more context is needed to guide effective use.
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%, meaning none of the 3 parameters ('diff', 'style', 'commitMessage') are documented in the schema. The description adds no information about these parameters—it doesn't explain what 'diff' should contain, what 'style' refers to, or how 'commitMessage' is used. With 0% coverage and no compensation in the description, this is a significant gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '构建用于 Git diff 变更审查与打分的 LLM 提示词' (builds LLM prompts for Git diff change review and scoring). It specifies the verb ('构建' - build), resource ('LLM 提示词' - LLM prompts), and scope ('Git diff 变更审查与打分' - Git diff change review and scoring). However, it doesn't explicitly differentiate from sibling tools like 'review_code' or 'review_file', which likely have overlapping purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal guidance: it mentions '不直接调用 LLM' (does not directly call LLM), which implies this tool generates prompts rather than executing them. However, it offers no explicit when-to-use instructions, no alternatives (e.g., when to use 'review_code' instead), and no prerequisites. The context is vague, leaving the agent to infer usage scenarios.
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 of behavioral disclosure. It states the tool builds prompts and does not directly call LLM, which clarifies it's a preparatory step rather than an execution tool. However, it lacks details on permissions, rate limits, error handling, or what the output looks like, which are critical for a tool with 4 parameters and no output schema.
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, efficient sentence that front-loads the core purpose without unnecessary details. It wastes no words, though it could benefit from slightly more structure to improve clarity.
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?
Given the complexity (4 parameters, 0% schema coverage, no annotations, no output schema), the description is incomplete. It doesn't explain parameter roles, output format, or behavioral constraints, making it inadequate for an agent to use the tool effectively without additional context or trial-and-error.
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 undocumented parameters. It mentions 'single-file review and scoring' but doesn't explain what filePath, content, style, or commitMessage mean or how they relate to prompt building. This leaves key parameter semantics unclear, failing to add meaningful value beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '构建用于单文件审查与打分的 LLM 提示词(不直接调用 LLM)' which translates to 'Build LLM prompts for single-file review and scoring (does not directly call LLM)'. This specifies the verb ('build'), resource ('LLM prompts'), and scope ('single-file review and scoring'), though it doesn't explicitly differentiate from sibling tools like review_code or review_diff.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 mentions 'single-file review and scoring' but doesn't specify scenarios, prerequisites, or exclusions compared to siblings like review_code or parse_review_score, leaving the agent to infer usage 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?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions parsing and extracting scores in a specific format, but doesn't describe what happens if the format isn't found (e.g., returns null, error), whether it handles multiple scores, or the output structure. This leaves key behavioral traits unspecified for a tool with mutation-like parsing.
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 extremely concise—a single sentence in Chinese that directly states the tool's function. It's front-loaded with the core action and format, with zero wasted words, making it efficient and easy to parse.
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?
Given the complexity (parsing task with no annotations, 0% schema coverage, and no output schema), the description is incomplete. It doesn't explain the return values, error handling, or edge cases, which are critical for a parsing tool. The lack of output schema means the description should cover return behavior, but it doesn't.
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. It implies the parameter 'reviewText' is the input text to parse, but doesn't explain its expected content (e.g., Chinese text, length limits) or provide examples. With 1 parameter undocumented in the schema, the description adds minimal semantic value beyond the parameter name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: parsing scores from review text, specifically extracting scores in the format '总分:XX分'. It uses specific verbs ('解析', '提取') and identifies the resource (review text). However, it doesn't explicitly differentiate from sibling tools like review_code, review_diff, or review_file, which might handle different aspects of reviews.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 doesn't mention sibling tools or specify contexts where this parsing is appropriate (e.g., for text reviews vs. code reviews). There's no information on prerequisites or exclusions, leaving usage unclear.
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/xiaobenyang-com/1777316659306499'
If you have feedback or need assistance with the MCP directory API, please join our Discord server