MCP

kprompt mcp serve — read/plan-only Model Context Protocol tools for IDE assistants. Mutations return PlanResult JSON and never auto-apply.

kprompt mcp serve exposes kprompt to IDE assistants (Cursor, Claude Desktop, Windsurf, …) as a read/plan-only Model Context Protocol tool provider. kprompt here is an MCP tool provider, not an agent platform. Mutating prompts return a typed PlanResult and stop — the MCP surface never applies a change to the cluster. Approval stays a human action you run yourself (kprompt "…" --approve in your own terminal).

Transport

Newline-delimited JSON-RPC 2.0 over stdio. Your editor spawns kprompt mcp serve and talks to it on stdin/stdout; kprompt’s human-readable output goes to stderr, keeping stdout clean for the protocol.

kprompt mcp serve

Tools

ToolWhat it doesMutates?
kprompt.readNatural-language read against the active kubeconfig. Returns PlanResult JSON.No
kprompt.investigateMulti-hop root-cause walk for a target.No
kprompt.whyCausal analysis of why a target is failing/pending/crashing.No
kprompt.timelineChronology of what happened to a target.No
kprompt.impactReverse dependencies / blast radius for a target.No
kprompt.planCompile a mutation prompt into a typed PlanResult. Never applies. Wipe-class intents hard-deny.No
kprompt.toolsList detected integrations as JSON.No
kprompt.doctorRead-only environment health report. Never prints API keys.No

Reasoning tools need a configured LLM provider because they compile natural language into intent. They honor your kubeconfig RBAC — no cluster credentials leave your machine. kprompt.plan is the explicit mutation surface: it returns the plan an assistant can show you; applying it stays out-of-band. The MCP server exposes no approval path.

Editor configuration

Cursor

~/.cursor/mcp.json or project .cursor/mcp.json

{
  "mcpServers": {
    "kprompt": {
      "command": "kprompt",
      "args": ["mcp", "serve"]
    }
  }
}

Claude Desktop

claude_desktop_config.json

{
  "mcpServers": {
    "kprompt": {
      "command": "kprompt",
      "args": ["mcp", "serve"]
    }
  }
}

Use an absolute path to the kprompt binary if it is not on the editor’s PATH.

Safety

  • No remote auto-apply — the server never executes a mutation; --approve is not reachable over MCP
  • Hard-denies intact — wipe-class / namespace-delete intents are refused regardless of caller
  • Local trust — stdio transport is scoped to the operator who launched the editor; there is no network listener by default

Quick manual check

printf '%s\n' \
  '{"jsonrpc":"2.0","id":1,"method":"initialize"}' \
  '{"jsonrpc":"2.0","id":2,"method":"tools/list"}' \
  | kprompt mcp serve