CodePeel MCP Server
OfficialClick on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@CodePeel MCP ServerReview my recent changes for bugs"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
CodePeel MCP Server
AI code review tools for Claude Code, Cline, Roo, and other MCP-compatible agents.
What it does
When you're vibe coding with an AI agent, CodePeel acts as a second opinion ā reviewing the generated code for bugs, security issues, and bad patterns before you commit.
Related MCP server: MatterAI MCP Server
Tools
Tool | Description |
| Review a diff for bugs, security issues, and best practices |
| Generate a fix for a specific code issue |
| Ask questions about code patterns, architecture, etc. |
| Check your account balance and usage |
Setup
1. Get your API token
Sign in at codepeel.com
Go to Settings ā API Tokens
Click Create Token and copy the token (starts with
cpk_)
API tokens don't expire ā they work until you revoke them.
2. Configure MCP
Add to your MCP config (.kiro/settings/mcp.json, claude_desktop_config.json, or Cline settings):
{
"mcpServers": {
"codepeel": {
"command": "npx",
"args": ["-y", "github:codepeel/mcp-server"],
"env": {
"CODEPEEL_TOKEN": "cpk_your_token_here"
}
}
}
}3. Use it
The AI agent will automatically have access to CodePeel's review tools. You can ask it to:
"Review my recent changes for bugs"
"Check this diff for security issues"
"Fix the null pointer issue in auth.ts"
"How many reviews do I have left?"
Example Usage
Review code changes
Agent: I'll review your changes using CodePeel.
[calls review_code with git diff output]
CodePeel found 3 issues:
š Potential null pointer in user.ts:45
š” Missing error handling in api.ts:23
šµ Unused import in utils.ts:1Self-review during vibe coding
The AI can review its own output before presenting it to you:
You: Build a login form with validation
Agent: [writes code, then calls review_code on its own output]
Agent: I found a potential XSS issue in my implementation. Let me fix that...
[calls fix_code, applies the fix]
Agent: Here's the login form ā I caught and fixed a security issue during generation.CLI Commands
npx -y github:codepeel/mcp-server init # Interactive editor setup
npx -y github:codepeel/mcp-server init-config # Generate .codepeel.yml
npx -y github:codepeel/mcp-server credits # Check your balance
git diff | npx -y github:codepeel/mcp-server review # Review from stdinEnvironment Variables
Variable | Required | Description |
| Yes | Your API token from Settings (starts with |
| No | API base URL (default: |
| No | Review endpoint URL (default: Firebase function) |
Troubleshooting
Error | Fix |
"Token expired" | You're using a Firebase ID token instead of an API token. Create a |
"Invalid token" | Check that your token starts with |
"No credits remaining" | Upgrade your plan or wait for credits to reset. |
License
MIT
Available Tools
4 toolsask_codepeelA
Ask CodePeel a question about code. Can analyze code patterns, explain issues, suggest improvements, or answer architecture questions. Optionally provide a diff for context.
| Name | Required | Description | Default |
|---|---|---|---|
| question | Yes | Your question about the code. | |
| diff | No | Optional diff or code context to analyze. |
TDQS
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 the tool can analyze and answer questions, which implies a read-only operation, but does not explicitly confirm non-destructiveness, rate limits, or authentication requirements. This is acceptable for a simple query tool but leaves some ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loading the primary purpose and then listing capabilities. It is efficient with no redundant wording, though it could be slightly more structured (e.g., using bullet points for capabilities). Overall, it earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 params, no output schema), the description adequately covers its purpose and optional input. It does not specify return values, but for a conversational tool this is acceptable. It is complete enough for an agent to select and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters have descriptions in the schema (100% coverage). The description adds value by emphasizing that the diff parameter is optional and for context, reinforcing its purpose beyond the schema. This extra context helps the agent understand how to use the diff effectively.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Ask CodePeel a question about code.' It lists specific capabilities like analyzing patterns, explaining issues, suggesting improvements, and answering architecture questions, which makes the tool's function distinct from siblings like fix_code (fixing) and review_code (reviewing). This provides a comprehensive and unambiguous definition.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for code-related questions but does not explicitly state when to use this tool over siblings like fix_code or review_code. It mentions an optional diff for context but lacks guidance on prerequisites or exclusion criteria, resulting in a moderately clear but incomplete directive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_creditsA
Check your CodePeel account balance, plan tier, and usage for the current billing period.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description implies a read-only operation via the word 'Check'. It doesn't disclose any side effects or required permissions, but for a zero-parameter tool, the behavioral disclosure is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It efficiently communicates the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no parameters and no output schema, the description adequately covers the tool's action and scope. It could optionally mention that it returns the information, but is otherwise complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, and schema coverage is 100%, so baseline is 4. The description adds value by specifying what data is checked (balance, plan tier, usage), which the schema does not convey.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Check' and resource 'your CodePeel account balance, plan tier, and usage', clearly distinguishing it from siblings like ask_codepeel, fix_code, and review_code.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool versus alternatives, nor does it mention when not to use it. Given the presence of siblings, this is a gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fix_codeB
Generate a fix for a specific code issue. Provide the file path, problem description, and optionally the problematic code snippet.
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | File path where the issue exists. | |
| issue | Yes | Description of the issue to fix. | |
| problemCode | No | The problematic code snippet. | |
| line | No | Line number where the issue is. | |
| severity | No | Severity of the issue. | medium |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description does not disclose behavioral traits such as whether the tool modifies files, requires authentication, or has rate limits. It only lists inputs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no wasted words. It is front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters and no output schema, the description omits return value, behavior for different severities, and how to choose between siblings. Incomplete for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description repeats parameter names without adding additional semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Generate a fix' and resource 'specific code issue'. It distinguishes from siblings like review_code and ask_codepeel by focusing on fixing rather than reviewing or asking.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when there is a code issue to fix, but does not provide when-not-to-use or alternatives. No explicit comparison with sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
review_codeA
Review code changes for bugs, security issues, and best practice violations. Pass a unified diff or file contents. Returns findings with severity, explanation, and suggested fixes.
| Name | Required | Description | Default |
|---|---|---|---|
| diff | Yes | Unified diff of code changes to review. Use `git diff` output or construct manually. | |
| repo | No | Repository name (e.g. "my-app"). Used for context. | local |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully explains behavior: it analyzes for bugs, security issues, and violations, and returns findings with severity, explanation, and fixes. It does not mention side effects or permissions, but these are not needed for a read-only analysis. Transparent enough for an AI agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first states purpose and returns, second states input format. No unnecessary words. Front-loaded with key action and result.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has only 2 parameters (1 required) and no output schema. The description explains what it returns (findings with severity, explanation, fixes). This is sufficient for an agent to use it correctly without further detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers both parameters with descriptions that match the tool description. The description adds no new information beyond what the schema provides (e.g., 'diff' is already described as unified diff). Schema description coverage is 100%, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool reviews code changes for bugs, security issues, and best practice violations. It uses a specific verb ('review') and identifies the resource ('code changes'). It distinguishes itself from sibling tools like 'fix_code' (which fixes) and 'ask_codepeel' (likely for questions).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on input format: 'Pass a unified diff or file contents.' It implies this is for reviewing changes before merging, but does not explicitly exclude other scenarios or mention when to use alternatives. Clear context with room for more precision.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose: general Q&A, credit checking, bug fixing, and code review. No overlap.
All tool names follow a consistent verb_noun pattern (ask_codepeel, check_credits, fix_code, review_code).
4 tools is appropriate for this code assistance server, covering key actions without being too many or too few.
The set covers asking questions, checking account, fixing, and reviewing code. Minor gaps like listing code might exist, but the ask tool can bridge them.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Security reviews for coding agents: diffs checked against your org policy and live infrastructure.
Risk-scan a diff, flag AI-generated-code tells, find secrets. 5 of 7 tools need no account.
Agentic code review, no signup to try: reality gates + frontier-model review, with veto.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI-powered, zero-trust code review with multiple models, supporting single files, git diffs, and multiple files, with security, performance, and architecture checks across 10+ languages.13MIT

MatterAI MCP Serverofficial
AlicenseNot gradedqualityCmaintenanceEnables code reviews, implementation planning, and pull request generation for AI agents in IDEs like Cursor and Windsurf.1MIT- AlicenseNot gradedqualityDmaintenanceEnables AI-powered code review and improvement, including analysis, refactoring suggestions, and automatic test generation, with an optional agentic loop for iterative refinement.MIT

Selvageofficial
AlicenseNot gradedqualityBmaintenanceEnables AI-powered code review of Git diffs through natural language, supporting multiple AI models and Git workflows.36Apache 2.0
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/codepeel/mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server