claude-code-mcp
The claude-code-mcp server provides tools for interacting with the locally installed Claude Code CLI to analyze, modify, and test code. You can:
Explain Code: Provides detailed explanations of code snippets
Review Code: Reviews code, optionally focusing on specific areas
Fix Code: Fixes bugs or issues based on provided descriptions
Edit Code: Modifies code according to specific instructions
Generate Tests: Creates tests for code, optionally specifying a framework
Simulate Command: Simulates execution of a specified command with optional input
Custom Query: Sends personalized requests with additional context
Click 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., "@claude-code-mcpexplain this Python function that calculates Fibonacci numbers"
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.
claude-code-mcp Project
⚠️ Maintenance Ended (2026-08-25)
This project is no longer maintained. No further updates, including security fixes, will be made. The repository has been archived and the npm package has been marked as deprecated. Existing installations will continue to work, but use at your own risk — dependency vulnerabilities reported after this date will not be addressed.
If you need equivalent functionality, please fork the repository or look for actively maintained alternatives.
Related MCP server: MCP Practice
[0.1.9] - 2026-03-06
Security Update
Add pnpm overrides to pin transitive dependencies to patched versions.
hono^4.12.4 (fixes serveStatic path traversal, SSE CRLF injection, Cookie attribute injection, basicAuth/bearerAuth timing)@hono/node-server>=1.19.10 (fixes authorization bypass via encoded slashes)ajv>=8.18.0 (fixes ReDoS with$dataoption)qs>=6.14.2 (fixes DoS via arrayLimit bypass)
[0.1.8] - 2026-02-05
Security Update
Update @modelcontextprotocol/sdk version.
Add zod dependency to satisfy peer dependency requirements.
Bump TypeScript version for compatibility with updated dependencies.
Overview
The claude-code-mcp project is an MCP server for Claude Code.
It calls the locally installed Claude Code command and provides the following tools: explain_code, review_code, fix_code, edit_code, test_code, simulate_command, and your_own_query. The server is implemented using Node.js and the MCP SDK, receiving JSON format requests from clients via stdio. Internally, it adopts Base64 encoding to smoothly process special characters (newlines, quotation marks, etc.) in natural language text, resulting in improved stability and flexibility. Its main roles are receiving requests, encoding input, generating and executing commands, and returning execution results in JSON format.
This project has been confirmed to work in Claude Code CLI environments (Ubuntu/WSL2, etc.).
💡 MCP Host with less capable LLM, can tame and make use of Claude power💪! With claude-code-mcp, you can also call Claude Code from Claude Desktop!! 😇😜😎 (unconfirmed)
Functions
The main roles of the server are:
Request Reception: Receive JSON format tool requests from clients (e.g.
code,context,focus_areas, etc.).Input Processing: Internally Base64 encode the received natural language text.
Tool Selection and Command Generation: Based on the tool name in the request, assemble a command string for the query using a fixed template or free format (
your_own_query).Command Execution: Use Node.js's
child_process.spawnto execute the assembled command and get the result from standard output.Result Return: Return the execution result to the client in JSON format.
Getting Started
Prerequisites
Node.js (>= v18 recommended, tested with v22.14.0)
npm (or yarn)
Claude Code command installed and auth completed. https://docs.anthropic.com/en/docs/agents-and-tools/claude-code/overview
Installation & Usage
There are several ways to use claude-code-mcp:
1. Using npx (Recommended for quick use)
You can run the server directly without installation using npx:
npx @kunihiros/claude-code-mcp2. Global Installation
Install the package globally:
npm install -g claude-code-mcpThen, you can run it as a command:
claude-code-mcp3. Local Installation (For development)
Clone the repository and install dependencies:
git clone https://github.com/KunihiroS/claude-code-mcp.git
cd claude-code-mcp/claude-code-server
npm install
npm run buildYou can then run the built script directly:
node build/index.jsConfiguration
Environment Variables:
Regardless of the installation method, you need to configure the environment variables. Create one of the following files:
Using MCP Host Settings (Recommended for
npx): Configure environment variables directly within your MCP Host's settings (see "MCP Host Configuration" below). This is the easiest way when usingnpx.Using a
.envfile: Create a.envfile in the directory where you run thenpx @kunihiros/claude-code-mcpcommand.Using a global config file: Create a
.claude-code-mcp.envfile in your home directory (~/.claude-code-mcp.env).
If using a file (.env or ~/.claude-code-mcp.env), add the following content, adjusting the CLAUDE_BIN path:
# .env or ~/.claude-code-mcp.env
CLAUDE_BIN=/path/to/your/claude/executable # REQUIRED: Set the full path to your Claude CLI
LOG_LEVEL=info # Optional: Set log level (e.g., debug, info, warn, error)MCP Host Configuration (Recommended for npx):
Add the following to your MCP Host application settings (e.g., Claude Desktop settings). This method allows you to set environment variables directly.
"claude-code-server": {
"command": "npx",
"args": [
"-y",
"@kunihiros/claude-code-mcp"
],
"env": {
"CLAUDE_BIN": "/path/to/your/claude/executable", // REQUIRED: Set the absolute path
"LOG_LEVEL": "info" // Optional: Set log level
},
"disabled": false
}(Restarting the host application might be required.)
Alternative MCP Host Configuration (Global Install / Local Dev):
If you installed the package globally or are running it locally from the cloned repository, and the claude-code-mcp command is in your system's PATH, you can use:
"claude-code-server": {
"command": "claude-code-mcp",
"disabled": false
}In this case, you must configure environment variables using a .env file or the global ~/.claude-code-mcp.env file as described above.
Environment Variables Details
This server uses the following environment variables (set via MCP Host env settings, .env, or ~/.claude-code-mcp.env):
CLAUDE_BIN: Specifies the path to the Claude CLI executable. (Required) Example:/home/linuxbrew/.linuxbrew/bin/claudeorC:\Users\YourUser\AppData\Local\bin\claude.exeLOG_LEVEL: Specifies the log level. (Optional, defaults toinfo). Possible values:debug,info,warn,error.
Available Tools
The claude-code-mcp server provides the following tools:
explain_code: Provides a detailed explanation of the given code.review_code: Reviews the given code.fix_code: Fixes bugs or issues in the given code.edit_code: Edits the given code based on instructions.test_code: Generates tests for the given code.simulate_command: Simulates the execution of a given command.your_own_query: Sends a custom query with context.
Note
Log file (
claude-code-mcp.log) location:Attempts to create in the project root first.
Falls back to the user's home directory (
~/.claude-code-mcp.log).Finally falls back to
/tmp/claude-code-mcp.log.
Log rotation is not implemented yet (be careful with log file size).
Primarily tested with Claude CLI on Ubuntu/WSL2.
License
This project is licensed under the MIT License - see below for details.
MIT License
Copyright (c) 2024 KunihiroS
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.Disclaimer
This software is provided for educational and research purposes only. This project is not officially associated with or endorsed by Anthropic. Claude is a trademark of Anthropic.
The project uses the Claude CLI as a dependency, but is an independent, community-driven effort. Users should ensure they comply with Anthropic's terms of service when using this project.
The maintainers of this project are not responsible for any misuse of the software or violations of the terms of service of any third-party APIs or services.
Available Tools
7 toolsedit_codeC
Edits the given code based on instructions.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Code to edit | |
| instructions | Yes | Editing instructions |
TDQS
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 edits code but doesn't explain how—whether it's a direct mutation, requires permissions, has side effects, or what the output looks like. For a tool that modifies code without annotations, this leaves critical behavioral traits unspecified.
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, efficient sentence that directly states the tool's function without unnecessary words. It's appropriately sized for a simple tool, though it could be more front-loaded with key details. There's no wasted language, making it concise.
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 complexity of editing code, lack of annotations, and no output schema, the description is incomplete. It doesn't cover behavioral aspects like mutation safety, error handling, or result format, which are essential for an agent to use this tool correctly. The description fails to compensate for the missing structured data.
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 has 100% description coverage, with clear documentation for both parameters ('code' and 'instructions'). The description adds no additional meaning beyond what the schema provides, such as format examples or constraints. With high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.
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 states the tool's purpose as editing code based on instructions, which is clear but vague. It specifies the verb ('edits') and resource ('code'), but doesn't distinguish it from sibling tools like 'fix_code' or 'review_code' that might also modify code. The purpose is understandable but lacks specificity about what type of editing it performs.
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 no guidance on when to use this tool versus alternatives. With siblings like 'fix_code', 'review_code', and 'explain_code', there's no indication whether this is for general code modifications, bug fixes, or something else. No prerequisites, exclusions, or comparative context are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
explain_codeC
Provides detailed explanation of the given code.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Target code | |
| context | No | Additional context |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions 'detailed explanation' but doesn't disclose behavioral traits like response format, depth of analysis, potential rate limits, or error conditions. This is inadequate for a tool with 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no wasted words. It's appropriately sized for a simple tool, though it could be more front-loaded with key details. Every sentence earns its place, but it's slightly under-specified.
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 no annotations and no output schema, the description is incomplete. It doesn't explain what the explanation includes (e.g., syntax, logic, dependencies) or the return format. For a code explanation tool with rich potential outputs, this lacks necessary context.
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 description coverage is 100%, so the schema already documents both parameters ('code' and 'context'). The description adds no meaning beyond what the schema provides, such as examples or usage tips. Baseline 3 is appropriate when schema does the heavy lifting.
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 states the tool 'provides detailed explanation of the given code,' which clearly indicates its function. However, it doesn't differentiate from siblings like 'review_code' or 'fix_code' that might also involve code analysis. The purpose is clear but lacks sibling distinction.
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?
No guidance is provided on when to use this tool versus alternatives such as 'review_code' or 'fix_code.' The description implies usage for code explanation but offers no context on prerequisites, exclusions, or comparisons to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fix_codeC
Fixes bugs or issues in the given code.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Code to fix | |
| issue_description | Yes | Description of the issue |
TDQS
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 'fixes bugs or issues' but doesn't explain how it behaves—e.g., whether it modifies code in place, returns suggestions, requires specific permissions, or has rate limits. This leaves critical operational details unclear for a mutation tool.
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, efficient sentence: 'Fixes bugs or issues in the given code.' It is front-loaded with the core purpose, has zero wasted words, and is appropriately sized for the tool's complexity.
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 complexity of a code-fixing tool with no annotations and no output schema, the description is incomplete. It lacks details on behavior, output format, error handling, or how it interacts with siblings. This makes it inadequate for an agent to use the tool effectively without additional context.
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 has 100% description coverage, with clear documentation for 'code' and 'issue_description'. The description adds no additional meaning beyond what the schema provides, such as examples or constraints. According to the rules, when schema coverage is high (>80%), the baseline score is 3, which applies here.
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: 'Fixes bugs or issues in the given code.' It specifies the verb ('fixes') and resource ('bugs or issues in the given code'), making the intent understandable. However, it doesn't explicitly differentiate from sibling tools like 'edit_code' or 'review_code', which might have overlapping purposes, preventing a perfect score.
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 no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, exclusions, or compare it to siblings such as 'edit_code' or 'test_code'. Without this context, an agent might struggle to select the appropriate tool for code-related tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
review_codeD
Reviews the given code.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Code to review | |
| focus_areas | No | Areas to focus on |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure but offers none. 'Reviews the given code' doesn't reveal whether this is a read-only analysis, whether it modifies code, what permissions might be needed, what format the review takes, or any limitations. For a tool that presumably analyzes code, this lack of behavioral context is completely inadequate.
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?
While technically concise with just 4 words, this is under-specification rather than effective conciseness. The single sentence 'Reviews the given code' fails to provide necessary information that would help an agent use the tool correctly. Every word should earn its place, but here the minimal text creates ambiguity rather than clarity.
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 complexity of code review (which could involve security, performance, style, correctness, etc.) and the presence of multiple sibling tools with overlapping functions, this description is completely inadequate. With no annotations, no output schema, and multiple similar tools available, the description fails to provide the contextual information needed to select and use this tool appropriately.
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 description coverage is 100%, so the schema already documents both parameters ('code' and 'focus_areas') adequately. The description adds no parameter information beyond what the schema provides - it doesn't explain what constitutes valid 'focus_areas' or how they affect the review. Baseline 3 is appropriate when the schema does the heavy lifting, though the description adds zero value.
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 'Reviews the given code' is a tautology that restates the tool name 'review_code' without adding meaningful specificity. It doesn't distinguish this tool from siblings like 'explain_code' or 'fix_code' - both could involve reviewing code. The description lacks a clear verb+resource combination that defines what 'reviewing' entails versus other code analysis operations.
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 absolutely no guidance about when to use this tool versus alternatives. With siblings like 'explain_code', 'fix_code', and 'test_code' available, there's no indication whether this tool is for code quality assessment, security review, performance analysis, or general explanation. The agent receives no help in selecting between these closely related code analysis tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
simulate_commandC
Simulates the execution of a given command.
| Name | Required | Description | Default |
|---|---|---|---|
| command | Yes | Command to execute | |
| input | No | Input data |
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 states the tool simulates execution but doesn't clarify what 'simulates' entails—e.g., whether it's a dry run, sandboxed execution, or mock output—nor does it address permissions, side effects, or rate limits.
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, efficient sentence with zero waste, making it appropriately sized and front-loaded. Every word contributes directly to stating 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?
Given the lack of annotations and output schema, the description is incomplete for a tool that simulates commands. It doesn't explain what the simulation returns, potential errors, or how it differs from actual execution, leaving significant gaps for agent understanding.
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 has 100% description coverage, clearly documenting both parameters. The description adds no additional meaning beyond the schema, such as examples or constraints, so it meets the baseline for high schema coverage without compensating further.
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 states the tool 'simulates the execution of a given command,' which provides a basic verb+action but lacks specificity about what type of command or simulation is involved. It doesn't differentiate from sibling tools like 'test_code' or 'your_own_query,' making it vague in context.
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?
No guidance is provided on when to use this tool versus alternatives. The description doesn't mention any context, prerequisites, or exclusions, leaving the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
test_codeC
Generates tests for the given code.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Code to test | |
| test_framework | No | Test framework to use |
TDQS
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 what the tool does ('generates tests') but doesn't explain how it behaves—e.g., whether it overwrites existing tests, requires specific permissions, handles errors, or produces structured output. This is a significant gap for a tool with 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy for an agent to parse quickly.
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 complexity of generating tests (which could involve language-specific frameworks or output formats), the lack of annotations and output schema means the description is incomplete. It doesn't address behavioral aspects, return values, or error handling, leaving gaps for the agent to navigate.
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 description coverage is 100%, so the schema already documents both parameters ('code' and 'test_framework') adequately. The description doesn't add any meaning beyond what the schema provides, such as examples or constraints, but the high schema coverage justifies the baseline score of 3.
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 with a specific verb ('generates') and resource ('tests for the given code'), making it immediately understandable. However, it doesn't differentiate from sibling tools like 'review_code' or 'fix_code', which might also involve testing-related functionality, so it doesn't reach the highest score.
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 no guidance on when to use this tool versus alternatives like 'review_code' or 'fix_code'. There's no mention of prerequisites, context, or exclusions, leaving the agent to infer usage based solely on the tool name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
your_own_queryC
Sends a custom query with context.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | Additional context | |
| query | Yes | Query text |
TDQS
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 only states the action ('sends a custom query with context') without explaining what happens after sending (e.g., response format, error handling, side effects, or rate limits). For a tool with no annotations, this is insufficient to inform the agent about its behavior.
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, efficient sentence ('Sends a custom query with context.') that is front-loaded and wastes no words. However, it could be more structured by including key details, but it earns high marks for brevity and clarity within its limited scope.
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 complexity (a query tool with no annotations and no output schema), the description is incomplete. It doesn't explain what the tool returns, how errors are handled, or the context of use (e.g., related to code or commands). With siblings like code-related tools, more context is needed to guide the agent effectively.
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 description coverage is 100%, with clear descriptions for both parameters ('query' as query text, 'context' as additional context). The description adds no additional meaning beyond the schema, such as examples or constraints. Since the schema does the heavy lifting, the baseline score of 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 states the tool 'sends a custom query with context', which provides a basic verb+resource combination. However, it's vague about what type of query this is (e.g., database query, API query, natural language query) and doesn't distinguish it from sibling tools like 'simulate_command' or 'explain_code' that might also involve queries. 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.
Does 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. With siblings like 'explain_code' and 'simulate_command', it's unclear if this tool is for general-purpose queries or specific contexts. There are no explicit when/when-not instructions or named alternatives mentioned, leaving usage ambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
7 tool updates
v1.0.0- First observed
edit_code - First observed
explain_code - First observed
fix_code - First observed
review_code - First observed
simulate_command - First observed
test_code - First observed
your_own_query
TDQS
There is significant overlap between edit_code, fix_code, and review_code, as all involve modifying or analyzing code for improvements, which could confuse an agent about which to use for specific tasks. However, explain_code, simulate_command, test_code, and your_own_query have more distinct purposes, providing some clarity.
Most tools follow a consistent verb_noun pattern (e.g., edit_code, explain_code, fix_code), which is predictable and readable. The only deviation is your_own_query, which uses a different style but doesn't severely disrupt the overall consistency.
With 7 tools, the count is well-scoped for a code-focused server, falling within the typical 3-15 range. Each tool appears to serve a specific purpose in code development and analysis, making the set appropriately sized for the domain.
The tool set covers key aspects of code interaction such as editing, explaining, fixing, reviewing, simulating, testing, and custom queries, which aligns well with a code assistant domain. Minor gaps might include operations like code generation or version control integration, but core workflows are adequately supported.
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
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Related MCP Servers
- AlicenseAqualityBmaintenanceAn MCP server that implements Claude Code-like functionality, allowing the AI to analyze codebases, modify files, execute commands, and manage projects through direct file system interactions.15303MIT
- AlicenseCqualityDmaintenanceA Model Context Protocol (MCP) server that demonstrates how to build and implement custom tools for Claude using the mcp-framework.10ISC
- AlicenseNot gradedqualityDmaintenanceA Node.js/TypeScript MCP server template with sample tools (ping and system_info) that demonstrates how to build custom tools for Claude Desktop using stdio transport.13ISC
- AlicenseAqualityBmaintenanceLocal MCP server that wraps the headless Claude Code CLI as MCP tools, providing stateless access to Claude's coding capabilities through prompt-based interactions. It enables users to execute Claude Code commands with various prompt formats and structured outputs directly from MCP clients.3MIT
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/KunihiroS/claude-code-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server