@trishchuk/kimi-mcp-server
v0.2.0
Published
MCP server for Moonshot AI Kimi Code CLI integration
Downloads
121
Maintainers
Readme
Kimi MCP Server
MCP server (stdio) that bridges Claude / Cursor / any MCP client to Moonshot AI's Kimi Code CLI.
Architecture mirrors @trishchuk/codex-mcp-tool — same patterns, adapted to Kimi's flag surface (--print, --quiet, -r, --continue, --add-dir, --mcp-config-file, --config).
Why
Kimi K2.6 (April 2026) is a 1T-parameter MoE open-weight model with native agent-swarm orchestration, 262k context, and SWE-Bench Pro on par with GPT-5.5. Kimi Code CLI is the reference agent harness. This server lets MCP-aware editors call Kimi as a sub-agent without leaving their primary interface.
Install
npm install -g @trishchuk/kimi-mcp-serverYou also need Kimi Code CLI:
curl -LsSf https://code.kimi.com/install.sh | bash
# OR
uv tool install --python 3.13 kimi-cliThen run kimi once and use /login to authenticate via the Kimi Code platform — or set MOONSHOT_API_KEY.
Configure (Claude Desktop / Cursor / Claude Code)
Minimal — working directory is auto-detected from PWD / INIT_CWD / process.cwd(), just like codex-mcp-tool:
{
"mcpServers": {
"kimi": {
"command": "kimi-mcp"
}
}
}Pin a specific project root only if your client launches the server from somewhere unrelated:
{
"mcpServers": {
"kimi": {
"command": "kimi-mcp",
"env": { "KIMI_MCP_CWD": "/absolute/path/to/your/project" }
}
}
}You can also override per call via the workingDir argument on ask-kimi, or let the server infer it from @path/to/file references in the prompt — same priority chain as codex-mcp-tool: workingDir arg → KIMI_MCP_CWD → PWD → INIT_CWD → @path inference → process.cwd().
Tools
| Tool | What it does |
| --------------------------- | -------------------------------------------------------------------------------------------------- |
| ask-kimi | Main entry — file analysis (@path), session resume, MCP passthrough |
| brainstorm | Structured ideation (divergent / convergent / SCAMPER / design-thinking / lateral / auto) |
| batch-kimi | Sequential or parallel atomic tasks with priority, stop-on-error, structured report |
| review-changes | Code review of working tree / branch diff / specific commit (collects git diff and prompts Kimi) |
| list-sessions | List, delete, or clear active conversation sessions |
| health | Diagnose Kimi CLI installation, auth, and session state |
| ping / Help / version | Smoke tests + help passthrough |
ask-kimi highlights
prompt— supports@path/to/fileto drop file context (Kimi reads via working dir).model— overridesdefault_modelat runtime via--config. Known:kimi-for-coding,kimi-k2-6,kimi-k2-thinking-turbo,kimi-k2-5,kimi-latest.thinking— toggles thinking mode (writesdefault_thinkinginto runtime config).outputFormat—text(default) orstream-json(JSONL of assistant + tool messages, parsed transparently).responseMode—clean(default; final assistant text only) orfull(tool calls + stderr log + final).sessionId— workspace-isolated session ID (md5 of repo:head:path). The server tracks the native Kimi session ID returned by the CLI and replays it viakimi -r <id>.continueLatest— sets--continue(resume the most recent session in the cwd).mcpConfigFile— passes--mcp-config-fileso Kimi can talk to other MCP servers from inside this process.addDirs— repeats--add-dirfor multi-root projects.yolo/afk— approval shortcuts (print mode auto-approves anyway, but useful for documentation/logging).
CLI compatibility
| Feature | Kimi CLI |
| ----------------------- | --------------------------------------------------------------------------------------------- |
| Print / non-interactive | --print (required for MCP); --quiet = --print --output-format text --final-message-only |
| JSON streaming | --output-format=stream-json, --input-format=stream-json |
| Sessions | --continue, --session <id>, -r <id> |
| Configuration | --config-file <path>, --config '<json/toml>' |
| Workspace | spawn cwd + --add-dir <path> (no --cd flag) |
| MCP passthrough | --mcp-config-file or kimi mcp add |
| Exit codes | 0 ok, 1 fatal, 75 retryable transient |
Environment
| Var | Default | Purpose |
| --------------------- | -------------- | ---------------------------------------------- |
| KIMI_MCP_CWD | — | Override working directory for every tool call |
| KIMI_SESSION_TTL_MS | 86400000 (24h) | Session expiration |
| KIMI_MAX_SESSIONS | 50 | Max concurrent sessions |
| MOONSHOT_API_KEY | — | Forwarded to Kimi CLI for unattended auth |
Development
npm install
npm run build # tsc → dist/
npm run lint # tsc --noEmit
node dist/index.js # smoke run on stdioLicense
MIT — Taras Trishchuk
