Prerequisites
Before connecting any IDE you need ko installed and authenticated.
Install Knockout:
$ curl -fsSL https://knockout.fightclub.pro/install.sh | sh
Log in:
$ ko auth login ✓ Logged in as you@example.com
Confirm it works:
$ ko mcp show
Add this to your IDE's MCP configuration:
{
"knockout": {
"command": "ko",
"args": ["mcp-serve"]
}
}ko binary must be on your PATH so the IDE can spawn it. Run which ko to confirm.VS Code
VS Code added native MCP support in version 1.99. No extension needed, just a config file.
Open (or create) .vscode/mcp.json in your workspace root.
Add the Knockout server:
{
"servers": {
"knockout": {
"type": "stdio",
"command": "ko",
"args": ["mcp-serve"]
}
}
}Open the Command Palette (⇧⌘P) and run MCP: List Servers. Knockout should appear with a green dot.
Use Knockout from Copilot Chat by typing @knockout or switching to Agent mode and selecting the Knockout tools.
mcp.json file:Linux:
~/.config/Code/User/mcp.jsonmacOS:
~/Library/Application Support/Code/User/mcp.jsonWindows:
%APPDATA%\Code\User\mcp.jsonThis is a dedicated file, NOT a
mcp.servers block inside settings.json.Cursor
Cursor supports MCP servers via a global config file or per-project.
Create or edit ~/.cursor/mcp.json (global) or .cursor/mcp.json in your project (per-project):
{
"knockout": {
"command": "ko",
"args": ["mcp-serve"]
}
}Open Cursor Settings → Features → MCP and confirm Knockout appears in the server list.
In any chat window, use Agent mode. Cursor will automatically offer the knockout_prompt, knockout_session, and knockout_status tools.
mcp.json.Windsurf
Windsurf uses a global MCP config shared across all workspaces.
Create or edit ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"knockout": {
"command": "ko",
"args": ["mcp-serve"]
}
}
}Open Windsurf Settings → Cascade → MCP Servers. Hit Refresh. Knockout will appear with its three tools listed.
In any Cascade conversation, the Knockout tools are available automatically. Cascade picks them up when the task matches.
JetBrains (IntelliJ / WebStorm / PyCharm…)
JetBrains IDEs support MCP through the built-in AI Assistant (2024.3+). No separate plugin required.
Open Settings (or Preferences on macOS) → Tools → AI Assistant → Model Context Protocol (MCP).
Click + Add and fill in:
Click OK then Apply. The Knockout server starts automatically when you open the AI Assistant chat.
Open the AI Assistant panel (View → Tool Windows → AI Assistant) and start a conversation. Type /knockout_prompt or let AI Assistant pick the right tool.
Help → Check for Updates if the MCP settings panel is missing.Claude Desktop
Claude Desktop supports local MCP servers natively. No extension needed.
Edit the Claude Desktop config file for your OS:
Add the mcpServers block:
{
"mcpServers": {
"knockout": {
"command": "ko",
"args": ["mcp-serve"]
}
}
}Quit and relaunch Claude Desktop. A hammer icon appears in the message composer. Click it to see the Knockout tools.
Any MCP client
Knockout uses the standard stdio transport with JSON-RPC 2.0 over line-delimited newlines. If your editor supports MCP, the config is always the same shape:
{
"knockout": {
"command": "ko",
"args": ["mcp-serve"],
"env": {}
}
}Knockout declares protocol version 2024-11-05 and exposes three tools:
The server sends notifications/progress during long-running tool calls when the client supplies a progressToken in _meta. Each notification carries a message field with the current status (session started, tool calls, token chunks, warnings).
Working directory
By default, Knockout starts the agent in whatever directory the ko mcp-serve process was launched from. Most IDEs launch it from the workspace root, which is usually what you want.
If your IDE launches from a different path, or you want to pin a specific project, pass workingDirectory explicitly when calling knockout_prompt:
// Example tool call from your IDE's AI chat
knockout_prompt({
prompt: "Add an OpenAPI spec for the /users endpoint",
workingDirectory: "/home/you/projects/my-api",
effort: "medium"
})The agent reads and writes files relative to that path, so it knows exactly which project it is in without you having to repeat the context in every prompt.
workingDirectory must be an absolute path. The agent will not traverse above it.Troubleshooting
The IDE spawns ko from a clean environment that may not inherit your shell PATH. Use the full path instead:
$ which ko /usr/local/bin/ko
Then set "command": "/usr/local/bin/ko" in your MCP config.
Run ko auth login in a terminal, then restart the MCP server in your IDE. Credentials are stored in ~/.ko/credentials.json and read at startup.
The default effort is medium (5 min timeout). For large tasks pass effort: "high" (15 min). Check your wallet balance with knockout_status. A drained wallet aborts sessions immediately.
Some IDEs cache the tool list. Force a refresh:
VS Code: Command Palette → MCP: Restart Server → knockout Cursor/Windsurf: Quit the IDE fully and relaunch
ko mcp-serve writes structured logs to stderr. Most IDEs surface these in a dedicated output panel:
Run ko auth status to confirm you are logged in and the vault is unlocked, then open an issue at the support repo with the stderr output attached.