kimi-code-mcp
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., "@kimi-code-mcpsearch the web for MCP server tutorials"
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.
kimi-code-mcp
MCP server wrapping Kimi Code CLI (kimi-k2.5) — 14 tools for filesystem, shell, web, and agent operations.
Prerequisites
Node.js >= 18
Kimi CLI installed and authenticated
Related MCP server: emcp
Usage with Claude Desktop
Add to your Claude Desktop configuration:
{
"mcpServers": {
"kimi": {
"command": "npx",
"args": ["-y", "kimi-code-mcp@latest"]
}
}
}Usage with VS Code
Install the Kimi Code MCP server in VS Code:
Or add to .vscode/mcp.json:
{
"servers": {
"kimi": {
"command": "npx",
"args": ["-y", "kimi-code-mcp@latest"]
}
}
}Tools
Tool | Description |
| Read a text file (up to 1000 lines) |
| Analyze images and videos |
| Create or overwrite a file |
| Find-and-replace edit in a file |
| Find files matching a glob pattern |
| Search for regex patterns in files |
| Execute shell commands |
| Search the web (up to 20 results) |
| Fetch and extract webpage content |
| Autonomous agent for complex tasks |
| Extended reasoning and analysis |
| Code review (bugs, security, perf, style) |
| Research with 256K context window |
| Generate or fix tests with edge cases |
Environment Variables
Variable | Description | Default |
| Absolute path to kimi binary |
|
| Enable debug logging to stderr | unset |
Development
git clone https://github.com/userfrm/kimi-code-mcp.git
cd kimi-code-mcp
npm install
npm run build
npm testLicense
MIT
Available Tools
14 toolskimi_agentC
Full autonomous agent for complex multi-step tasks.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | Task description for the agent | |
| timeout | No | Timeout in seconds (default: 300) | |
| workFolder | No | Working directory (absolute path) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. 'Full autonomous agent' hints at broad capabilities and potential side effects, but does not disclose whether it may write files, execute shell commands, or perform network calls. This lack of detail is concerning for an agent that likely takes destructive or irreversible actions.
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 extremely short, which could be seen as concise, but it under-specifies the tool to the point of being unhelpful. It lacks structure or any details that would help an agent decide when to invoke this tool. The single sentence does not 'earn its place' because it conveys almost no actionable information.
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?
This is a high-complexity autonomous agent tool with no annotations and no output schema, so the description must provide substantial context. It fails to explain the scope of tasks, safety implications, or how it relates to the underlying tools it presumably uses. The description is grossly inadequate for a tool of this magnitude.
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 already provides descriptions for all three parameters (prompt, timeout, workFolder), so schema coverage is 100%. However, the tool description adds no additional context about how these parameters interact or what constitutes a good prompt. It meets the baseline but does not enhance parameter understanding.
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 is an 'autonomous agent for complex multi-step tasks,' which gives a general sense of purpose but lacks specificity about what actions it can perform. It does not clearly distinguish itself from the sibling tools like kimi_shell or kimi_write_file, which are concrete operations. The resource is vague ('tasks') rather than a specific verb-object pair.
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?
There is no explicit guidance on when to use this agent versus the individual sibling tools. The description does not mention situations where kimi_agent would be preferred, nor does it exclude simpler cases. It offers no context about prerequisites or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kimi_edit_fileA
Edit a file by replacing an exact string with new content.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Absolute file path to edit | |
| new_string | Yes | New string to replace with | |
| old_string | Yes | Exact string to find and replace | |
| workFolder | No | Working directory (absolute path) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It states the operation but does not address key behaviors: what happens if old_string is not found, if it appears multiple times, whether the file must exist, or if the operation is atomic. This leaves significant uncertainty for an 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?
The description is a single sentence, front-loaded with the action, and contains no unnecessary words. It is highly concise and well-structured.
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 simple edit tool with well-documented parameters, the description is adequate but not complete. It lacks information about edge cases (e.g., duplicate matches, missing file) and does not describe the return value, which is important given no output schema exists.
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 baseline is 3. The description mirrors the schema by referring to 'exact string' and 'new content' but adds no additional semantic value beyond what the parameter descriptions already provide.
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 ('Edit') and resource ('file') with a clear method ('replacing an exact string'). This distinguishes it from siblings like kimi_write_file (full file write) and kimi_read_file.
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 clearly implies when to use this tool: when you need to replace an exact string in a file. However, it does not explicitly mention alternatives or when not to use it (e.g., for creating a new file), so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kimi_fetch_urlB
Fetch and extract text content from a webpage.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL to fetch | |
| prompt | No | Extraction prompt for the webpage |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose all behavioral traits. It only mentions the basic operation, omitting details about limitations, authentication, error handling, or output format. This is a significant gap for an agent deciding to invoke it.
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, focused sentence that directly states the tool's core function. No unnecessary words, making it easy to parse and front-loaded with the essential action.
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 lack of an output schema means the description should ideally explain the return format and any caveats. It states 'extract text content' but doesn't mention that the prompt parameter is optional or how to customize extraction. For a simple tool, it's minimally adequate but leaves gaps.
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 already fully describes both parameters (url and prompt) with 100% coverage. The description adds no additional meaning beyond what's in the schema, so the baseline score of 3 applies.
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 fetches a URL and extracts text content, specifying a concrete action and resource. However, it doesn't explicitly differentiate from sibling tools like kimi_web_search or kimi_read_file, so it's clear but not explicitly distinguishing.
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 vs alternatives such as web_search for finding URLs or read_file for local content. There is no context or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kimi_globA
Find files matching a glob pattern.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Directory to search in (default: current directory) | |
| pattern | Yes | Glob pattern to match (e.g., "**/*.ts") | |
| workFolder | No | Working directory (absolute path) |
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 core function and omits any behavioral traits such as recursion behavior, hidden file handling, path format, or whether the operation is read-only. This leaves significant behavioral 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 a single concise sentence with no filler or repetition. It is front-loaded with the essential verb and resource, making it easy to parse.
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?
This is a simple tool with well-documented parameters, and the absence of an output schema is acceptable because the return type (matching file paths) is intuitive from the description. However, the lack of annotations and minimal behavioral details slightly reduce completeness compared to richer tool descriptions.
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 for all three parameters (pattern, path, workFolder), so the baseline is 3. The description adds no parameter-specific meaning beyond what the schema already provides, but it doesn't need to given the comprehensive 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 uses a specific verb ('Find') and resource ('files matching a glob pattern'), clearly conveying the tool's function. It is inherently distinct from siblings like kimi_grep (content search) and kimi_read_file (single file access), as glob matches filenames rather than file contents.
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 you need to locate files by pattern, but it provides no explicit when-to-use guidance, exclusions, or references to alternative tools. It's a simple statement without contextual direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kimi_grepB
Search for regex patterns in files using ripgrep.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Directory or file to search in (default: current directory) | |
| include | No | File pattern to include (e.g., "*.ts") | |
| pattern | Yes | Regex pattern to search for | |
| workFolder | No | Working directory (absolute path) |
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 only states the core functionality and does not mention output format, recursion behavior, respect for .gitignore, or any other behavioral traits.
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, focused sentence with no wasted words.
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?
No output schema exists and no annotations are provided, so the description should describe return values and edge cases. It does not, leaving the agent with insufficient context for correct invocation.
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?
All parameters are fully documented in the input schema, so the description adds no additional parameter semantics beyond what the schema already provides.
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 searches for regex patterns in files using ripgrep, which distinguishes it from sibling tools like kimi_glob (file name matching) and kimi_read_file (file content reading).
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 explicit guidance on when to use this tool versus alternatives like kimi_glob. Usage must be inferred from the tool's name and purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kimi_read_fileA
Read a text file. Returns file content up to 1000 lines.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Absolute file path to read | |
| limit | No | Max lines to read (default: 1000) | |
| offset | No | Line offset to start from (0-based) | |
| workFolder | No | Working directory (absolute path) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description provides one behavioral detail: returns up to 1000 lines. It doesn't disclose error handling, encoding, or non-modification explicitly, but reading inherently implies non-destructive. Still, it's quite minimal.
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?
Single sentence, no filler, front-loaded verb. Every word 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?
The description covers the core behavior but doesn't address large file handling, encoding, or error cases. Without output schema, it gives a basic return description. Overall adequate but not comprehensive.
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 fully documents all 4 parameters. The description's mention of 1000 lines is redundant with limit's default description. No additional parameter semantics are provided.
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 verb 'read' and the resource 'text file', and explicitly differentiates from sibling kimi_read_media by specifying text file. It is unambiguous and specific.
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 explicit guidance on when to use vs alternatives. The description implies usage for reading text files but doesn't name alternative tools or conditions. It's basic implied usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kimi_read_mediaB
Analyze images and videos using multimodal capabilities.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Absolute path to image or video file | |
| prompt | No | Analysis prompt for the media | |
| workFolder | No | Working directory (absolute path) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It mentions 'multimodal capabilities' but doesn't disclose whether the operation is read-only, what outputs to expect, or any limitations like supported formats or file size limits. This is a significant gap.
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 filler or redundant content. Every word adds value, making it highly concise and well-structured.
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 should provide more context about return values, typical use cases, or constraints. It doesn't, leaving the agent to infer important details about how to invoke and interpret the tool's results.
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 each parameter is already documented with descriptions. The tool description adds no additional meaning to the parameters, which aligns with 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 uses a specific verb ('Analyze') and resource ('images and videos'), clearly indicating the tool's purpose. It distinguishes from siblings like kimi_read_file by focusing on media files, though it doesn't explicitly name alternatives.
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?
Usage context is implied by the phrase 'images and videos' – it should be used for media analysis rather than text file reading. However, there is no explicit guidance on when to prefer this over other tools or any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kimi_researchD
Research and analysis with 256K context window.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | Additional context or background | |
| question | Yes | Research question or topic | |
| workFolder | No | Working directory (absolute path) |
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, but it only mentions a context window size. It fails to describe what the tool actually does when invoked, such as whether it returns a report, if it performs iterative research, or any side effects, permissions, or limitations.
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 short sentence, but it is extremely under-specified for a complex research tool. It lacks any structure or elaboration, so the brevity is not a virtue but a deficiency, obscuring the essential use and behavior.
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 apparent complexity (research with 256K context), only one required parameter, no output schema, and 13 sibling tools, the description is vastly incomplete. It omits what the tool returns, how it differs from similar tools, and any usage context, making it nearly impossible for an agent to 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?
Schema description coverage is 100% for all three parameters (question, context, workFolder), so the baseline is 3. The description does not add any additional parameter meaning beyond what the schema already provides, earning exactly the baseline score.
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 'Research and analysis with 256K context window' is vague and essentially restates the tool name. It does not specify a concrete verb+resource or differentiate from sibling tools like kimi_agent or kimi_web_search, leaving the primary purposed unclear beyond a general research/analysis capability.
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 does not mention use cases, restrictions, or preferred scenarios, leaving the agent to guess whether to choose this over kimi_agent or kimi_web_search.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kimi_reviewB
Code review analyzing bugs, security, performance, and style.
| Name | Required | Description | Default |
|---|---|---|---|
| focus | No | Review focus area (default: all) | |
| workFolder | No | Working directory (absolute path) | |
| code_or_path | Yes | Code snippet or file path to review |
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 disclosing behavioral traits. It only says 'analyzing,' which hints at a read-only operation, but it does not disclose what the tool returns, whether it modifies anything, whether it requires network access, or any other behavioral specifics. This is a significant gap for a tool that could act on code.
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 that directly states the core purpose without any filler or redundant information. Every word earns its place, making it highly concise and appropriately sized for the tool's simple function.
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 no annotations and no output schema, and the description is minimal. It does not explain what a review result looks like, whether it returns a report or modifies anything, or any constraints. For a tool that may process code, this description is incomplete and leaves too much to assumption.
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 schema already provides 100% description coverage for all three parameters, so the baseline is 3. The description adds minimal extra meaning by listing the focus areas (bugs, security, performance, style), which align with the focus enum, but it does not elaborate on parameter usage or provide any additional context beyond what the schema already states.
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 'Code review analyzing bugs, security, performance, and style' clearly states the tool's purpose with a specific verb ('review') and resource ('code'). It also enumerates specific analysis areas, making it easily distinguishable from sibling file manipulation tools like kimi_write_file and kimi_read_file.
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 review scenarios through its focus on analyzing bugs, security, etc., but it provides no explicit guidance on when to use this tool versus alternatives, nor any conditions or prerequisites. It falls into the 'implied usage' category without exclusions or alternative mentions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kimi_shellB
Execute shell commands and return output.
| Name | Required | Description | Default |
|---|---|---|---|
| command | Yes | Shell command to execute | |
| timeout | No | Timeout in seconds (default: 120) | |
| workFolder | No | Working directory (absolute path) |
TDQS
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. It fails to mention the inherently dangerous nature of shell execution, potential for system modification, or how errors are handled. Only the basic behavior of returning output is disclosed, which is insufficient for a tool of this risk.
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 filler. Every word contributes to conveying the core purpose, making it appropriately concise for a tool with a simple function.
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 no output schema, and the description only says 'return output' without explaining the format, exit code behavior, or whether stderr is captured. For a shell tool with potentially complex execution behavior, this is underspecified. The high schema coverage on parameters helps, but the lack of output/behavior detail lowers completeness.
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% for all three parameters, so the schema fully documents each parameter. The description adds no additional parameter semantics beyond what the schema already provides, which aligns with 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 uses a specific verb ('Execute') and resource ('shell commands') and clearly states the output ('return output'). It distinguishes itself from sibling tools like file operations or web search, which do not execute arbitrary shell commands.
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. There is no mention of appropriate contexts, prerequisites, or exclusions. The description only states what the tool does, not when to choose it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kimi_testC
Generate or fix comprehensive tests with edge cases.
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | Code or file path to generate tests for | |
| workFolder | No | Working directory (absolute path) | |
| instructions | No | Specific testing 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 disclosing side effects and behavior. It says 'Generate or fix' but does not mention whether files are written, if changes are reversible, or if permissions are needed, leaving significant behavioral 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 a single, concise sentence that is front-loaded with the core action ('Generate or fix') and key differentiator ('comprehensive tests with edge cases'). No unnecessary words or redundant information.
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 output schema and no annotations, this description is incomplete for effective tool invocation. It lacks information about return values, potential errors, side effects on the file system, and handling of edge cases in the test generation process itself. The concise purpose is clear, but the operational context is insufficient.
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%, and the parameter descriptions in the schema are informative enough for 'target', 'workFolder', and 'instructions'. The tool description adds little semantic detail beyond that already present, but it does clarify that 'target' refers to code/file path for test generation.
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 a specific action ('Generate or fix comprehensive tests') on a clear resource (target code), which distinguishes it from sibling file and shell tools. It conveys the core function effectively, though it does not explicitly differentiate from potential alternative test-related tools.
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?
There is no guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites. The description implies it is for test generation/fixing, but the agent receives no context about suitable scenarios or when other tools would be preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kimi_thinkA
Extended reasoning and analysis without taking actions.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | Additional context for reasoning | |
| problem | Yes | Problem or question to analyze |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses the key trait of being non-action-oriented, which is essential for safety. However, it does not describe what the analysis output looks like, whether it accesses external data, or any operational constraints, leaving some behavioral 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 a single, concise sentence that front-loads the core purpose. Every word earns its place, and there is no redundancy or filler.
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, no annotations), the description covers the essential purpose and safety distinction. It sufficiently equips an agent to understand what the tool does, though it could mention return format or problem-phrasing expectations.
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 both 'problem' and 'context' clearly described in the schema. The description adds no parameter-specific meaning, so a 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 'Extended reasoning and analysis without taking actions' clearly indicates the tool performs reasoning and analysis, and explicitly distinguishes it from sibling tools that take actions. It is specific about the core function and scope, though it lacks a precise verb like 'analyze'.
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 phrase 'without taking actions' implies use cases where pure reasoning is needed without side effects, contrasting with sibling tools that perform actions. However, it does not explicitly state when to use this tool versus alternatives, nor provide exclusions or formal guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kimi_web_searchB
Search the web and return up to 20 results.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query | |
| include_content | No | Include page content in results |
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 does disclose a key behavioral trait—the maximum result count of 20—but omits other important details such as whether the operation is read-only, requires network access, or how results are structured. This is minimal but not misleading.
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 sentence that states the core purpose and a key limitation. It is front-loaded, contains no filler, and every word contributes to the understanding. This is an example of efficient, well-structured writing.
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 simple two-parameter tool with no output schema, the description provides the essential information: it searches the web and returns a limited number of results. However, it lacks details about the output format, when to choose this over sibling tools, and any caveats about content inclusion, making it sufficient but not 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?
The input schema has 100% description coverage for both parameters ('query' and 'include_content'), so the schema already provides clear meaning. The description itself does not add parameter-level details, but this is acceptable given the high schema coverage. 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 uses a specific verb 'Search' and a clear resource 'the web', making the tool's purpose immediately apparent. It also adds a concrete result limit ('up to 20 results'), but it does not explicitly differentiate from siblings like kimi_fetch_url or kimi_research, which could also involve web-related 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 no guidance on when to use this tool versus alternatives. There is no mention of scenarios where kimi_web_search is preferred over kimi_fetch_url or kimi_research, nor any exclusions or prerequisites. The agent is left without usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kimi_write_fileA
Create or overwrite a file with specified content.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Absolute file path to write | |
| content | Yes | Content to write to the file | |
| workFolder | No | Working directory (absolute path) |
TDQS
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. It explicitly mentions overwriting, which signals destructive behavior, but it does not disclose additional context such as lack of confirmation, handling of non-existent directories, or interaction with the workFolder parameter.
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 filler or redundant information. Every word 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?
For a simple write-file operation with complete parameter schema coverage, the description sufficiently captures the core behavior. It does not explain return values or workFolder behavior, but given the tool's low complexity and the schema's coverage, no major gaps remain.
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 baseline is 3. The description adds little beyond the schema, though 'specified content' aligns with the content parameter and 'overwrite' reinforces the path parameter semantics.
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 action ('Create or overwrite') and the resource ('a file'), distinguishing it from sibling tools like kimi_read_file and kimi_edit_file. It is specific about the tool's core function.
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 about when to use this tool versus alternatives such as kimi_edit_file, nor are any exclusions or prerequisites mentioned. The description only states what it does, not when it should be chosen.
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.
14 tool updates
v1.0.0- First observed
kimi_agent - First observed
kimi_edit_file - First observed
kimi_fetch_url - First observed
kimi_glob - First observed
kimi_grep - First observed
kimi_read_file - First observed
kimi_read_media - First observed
kimi_research - First observed
kimi_review - First observed
kimi_shell - First observed
kimi_test - First observed
kimi_think - First observed
kimi_web_search - First observed
kimi_write_file
TDQS
Most tools have clearly distinct purposes: file operations (write/read/edit), search (glob/grep), web (search/fetch), and media analysis are unambiguous. Some potential overlap exists between agent, think, review, and research, but their descriptions differentiate them sufficiently for agent selection.
All tools share the consistent 'kimi_' prefix, which provides strong brand consistency. However, the suffix style varies: some are verb_noun (write_file, read_media), while others are single verbs or nouns (glob, shell, think, review). This is a minor deviation from a strict verb_noun pattern but remains predictable.
With 14 tools, the server is well within the ideal 3-15 range. Each tool covers a distinct capability area for a coding assistant, and none feel redundant or superfluous. The count feels appropriately scoped for the server's purpose.
The tool surface covers core coding needs: file manipulation, search, shell execution, web access, and specialized tasks like review, test, and research. Minor gaps exist (e.g., no explicit delete or rename file tool), but these can be handled by the agent or shell tools, so agents can work around 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
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
MCP server for progressive tool usage at any scale (see https://klavis.ai)
MCP server for agentverse documentation, generated by doc2mcp.
MCP server exposing the Backtest360 engine API as tools for AI agents.
Related MCP Servers
- AlicenseAqualityCmaintenanceMCP server that turns Kimi K2.6 Turbo into an agentic coding assistant with tools for file operations, shell commands, and code search.42MIT
- FlicenseNot gradedqualityDmaintenanceMCP server providing filesystem operations, shell execution, and web search capabilities.-
- AlicenseNot gradedqualityCmaintenanceMCP server that runs Kimi K2.7-code as an autonomous coding agent inside a bubblewrap-sandboxed git worktree, returning git diffs of changes for review.MIT
- AlicenseNot gradedqualityDmaintenanceMCP server that provides file operations and Moonshot API-powered tools (reasoning, code review, testing, research, web search, agent) for Kimi K2.5, requiring only a Moonshot API key.591MIT
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/userFRM/kimi-code-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server