内容
# Kimi MCP 服务器
[](LICENSE)
Kimi MCP 服务器(stdio),可将 Claude / Cursor / 任意 MCP 客户端连接到 **Moonshot AI 的 [Kimi Code CLI](https://github.com/MoonshotAI/kimi-cli)**。
架构与 [`@trishchuk/codex-mcp-tool`](https://github.com/x51xxx/codex-mcp-tool) 相似 — 相同的模式,适应于 Kimi 的标志表面( `--print`, `--quiet`, `-r`, `--continue`, `--add-dir`, `--mcp-config-file`, `--config` )。
## 为什么
Kimi K2.6(2024 年 4 月)是一个 1T 参数的 MoE 开放权重模型,具有原生代理群集编排、262k 上下文和 SWE-Bench Pro,可与 GPT-5.5 相媲美。Kimi Code CLI 是参考代理驱动程序。此服务器允许 MCP 感知编辑器在不离开其主界面情况下调用 Kimi 作为子代理。
## 安装
```sh
npm install -g @trishchuk/kimi-mcp-server
```
您还需要 Kimi Code CLI:
```sh
curl -LsSf https://code.kimi.com/install.sh | bash
# 或
uv tool install --python 3.13 kimi-cli
```
然后运行 `kimi` 一次,并使用 `/login` 通过 Kimi Code 平台进行身份验证 — 或设置 `MOONSHOT_API_KEY`。
## 配置(Claude Desktop / Cursor / Claude Code)
最简洁 — 工作目录从 `PWD` / `INIT_CWD` / `process.cwd()` 自动检测,就像 codex-mcp-tool 一样:
```json
{
"mcpServers": {
"kimi": {
"command": "kimi-mcp"
}
}
}
```
仅当您的客户端从无关位置启动服务器时,固定特定项目根目录:
```json
{
"mcpServers": {
"kimi": {
"command": "kimi-mcp",
"env": { "KIMI_MCP_CWD": "/绝对/路径/到/您的/项目" }
}
}
}
```
您还可以通过 `ask-kimi` 上的 `workingDir` 参数覆盖,或让服务器从提示中的 `@path/to/file` 引用中推断 — 与 codex-mcp-tool 相同的优先级链:`workingDir` 参数 → `KIMI_MCP_CWD` → `PWD` → `INIT_CWD` → `@path` 推断 → `process.cwd()`。
## 工具
| 工具 | 功能 |
| --- | --- |
| `ask-kimi` | 主要入口 — 文件分析( `@path` )、会话恢复、MCP 直通 |
| `brainstorm` | 结构化创意(发散 / 收敛 / SCAMPER / 设计思维 / 横向 / 自动) |
| `batch-kimi` | 顺序或并行原子任务,具有优先级、错误停止、结构化报告 |
| `review-changes` | 工作树 / 分支差异 / 特定提交的代码审查(收集 `git diff` 并提示 Kimi) |
| `list-sessions` | 列出、删除或清除活动对话会话 |
| `health` | 诊断 Kimi CLI 安装、身份验证和会话状态 |
| `ping` / `Help` / `version` | 烟雾测试 + 帮助直通 |
### `ask-kimi` 亮点
- `prompt` — 支持 `@path/to/file` 以删除文件上下文(Kimi 通过工作目录读取)。
- `model` — 在运行时通过 `--config` 覆盖 `default_model`。已知: `kimi-for-coding`, `kimi-k2-6`, `kimi-k2-thinking-turbo`, `kimi-k2-5`, `kimi-latest`。
- `thinking` — 切换思考模式(将 `default_thinking` 写入运行时配置)。
- `outputFormat` — `text`(默认)或 `stream-json`(JSONL 助手 + 工具消息,透明解析)。
- `responseMode` — `clean`(默认;仅最终助手文本)或 `full`(工具调用 + stderr 日志 + 最终)。
- `sessionId` — 工作区隔离会话 ID(md5 of repo:head:path)。服务器跟踪 CLI 返回的原生 Kimi 会话 ID,并通过 `kimi -r <id>` 重放它。
- `continueLatest` — 设置 `--continue`(恢复 cwd 中的最新会话)。
- `mcpConfigFile` — 传递 `--mcp-config-file` 以便 Kimi 可以从此过程中与其他 MCP 服务器通信。
- `addDirs` — 为多根项目重复 `--add-dir`。
- `yolo` / `afk` — 批准快捷方式(打印模式自动批准,但对于文档 / 日志很有用)。
## CLI 兼容性
| 功能 | Kimi CLI |
| --- | --- |
| 打印 / 非交互 | `--print`(MCP 需要); `--quiet` = `--print --output-format text --final-message-only` |
| JSON 流式传输 | `--output-format=stream-json`, `--input-format=stream-json` |
| 会话 | `--continue`, `--session <id>`, `-r <id>` |
| 配置 | `--config-file <path>`, `--config '<json/toml>'` |
| 工作区 | 启动 cwd + `--add-dir <path>`(无 `--cd` 标志) |
| MCP 直通 | `--mcp-config-file` 或 `kimi mcp add` |
| 退出代码 | `0` 确定, `1` 致命, `75` 可重试的瞬态 |
## 环境
| 变量 | 默认值 | 目的 |
| --- | --- | --- |
| `KIMI_MCP_CWD` | — | 覆盖每个工具调用的工作目录 |
| `KIMI_SESSION_TTL_MS` | 86400000(24 小时) | 会话过期 |
| `KIMI_MAX_SESSIONS` | 50 | 最大并发会话 |
| `MOONSHOT_API_KEY` | — | 转发到 Kimi CLI 进行无人值守身份验证 |
## 开发
```sh
npm install
npm run build # tsc → dist/
npm run lint # tsc --noEmit
node dist/index.js # stdio 上的烟雾运行
```
## License
MIT — Taras Trishchuk