Odel
Kimi MCP Server

Kimi MCP Server

Local
@x51xxx1TypeScriptMITUpdated 3mo ago

MCP server bridging AI assistants to Moonshot AI Kimi Code CLI for code analysis and review

Kimi MCP Server

License: MIT

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-server

You also need Kimi Code CLI:

curl -LsSf https://code.kimi.com/install.sh | bash
# OR
uv tool install --python 3.13 kimi-cli

Then 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_CWDPWDINIT_CWD@path inference → process.cwd().

Tools

ToolWhat it does
ask-kimiMain entry — file analysis (@path), session resume, MCP passthrough
brainstormStructured ideation (divergent / convergent / SCAMPER / design-thinking / lateral / auto)
batch-kimiSequential or parallel atomic tasks with priority, stop-on-error, structured report
review-changesCode review of working tree / branch diff / specific commit (collects git diff and prompts Kimi)
list-sessionsList, delete, or clear active conversation sessions
healthDiagnose Kimi CLI installation, auth, and session state
ping / Help / versionSmoke tests + help passthrough

ask-kimi highlights

  • prompt — supports @path/to/file to drop file context (Kimi reads via working dir).
  • model — overrides default_model at runtime via --config. Known: kimi-for-coding, kimi-k2-6, kimi-k2-thinking-turbo, kimi-k2-5, kimi-latest.
  • thinking — toggles thinking mode (writes default_thinking into runtime config).
  • outputFormattext (default) or stream-json (JSONL of assistant + tool messages, parsed transparently).
  • responseModeclean (default; final assistant text only) or full (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 via kimi -r <id>.
  • continueLatest — sets --continue (resume the most recent session in the cwd).
  • mcpConfigFile — passes --mcp-config-file so Kimi can talk to other MCP servers from inside this process.
  • addDirs — repeats --add-dir for multi-root projects.
  • yolo / afk — approval shortcuts (print mode auto-approves anyway, but useful for documentation/logging).

CLI compatibility

FeatureKimi 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>'
Workspacespawn cwd + --add-dir <path> (no --cd flag)
MCP passthrough--mcp-config-file or kimi mcp add
Exit codes0 ok, 1 fatal, 75 retryable transient

Environment

VarDefaultPurpose
KIMI_MCP_CWDOverride working directory for every tool call
KIMI_SESSION_TTL_MS86400000 (24h)Session expiration
KIMI_MAX_SESSIONS50Max concurrent sessions
MOONSHOT_API_KEYForwarded 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 stdio

License

MIT — Taras Trishchuk