Knockout · IDE Integration

Connect Knockout
to your IDE

Knockout exposes the Model Context Protocol over stdio. Any MCP-compatible editor can use it as a coding backend. VS Code, Cursor, Windsurf, JetBrains, Claude Desktop and more.

// 01

Prerequisites

Before connecting any IDE you need ko installed and authenticated.

1

Install Knockout:

~
$ curl -fsSL https://knockout.fightclub.pro/install.sh | sh
2

Log in:

~
$ ko auth login
✓ Logged in as you@example.com
3

Confirm it works:

~
$ ko mcp show
Add this to your IDE's MCP configuration:

{
  "knockout": {
    "command": "ko",
    "args": ["mcp-serve"]
  }
}
// The ko binary must be on your PATH so the IDE can spawn it. Run which ko to confirm.
// 02

VS Code

VS Code added native MCP support in version 1.99. No extension needed, just a config file.

1

Open (or create) .vscode/mcp.json in your workspace root.

2

Add the Knockout server:

.vscode/mcp.json
{
  "servers": {
    "knockout": {
      "type": "stdio",
      "command": "ko",
      "args": ["mcp-serve"]
    }
  }
}
3

Open the Command Palette (⇧⌘P) and run MCP: List Servers. Knockout should appear with a green dot.

4

Use Knockout from Copilot Chat by typing @knockout or switching to Agent mode and selecting the Knockout tools.

// To enable globally (all workspaces), put the same block in the user-level mcp.json file:
Linux: ~/.config/Code/User/mcp.json
macOS: ~/Library/Application Support/Code/User/mcp.json
Windows: %APPDATA%\Code\User\mcp.json
This is a dedicated file, NOT a mcp.servers block inside settings.json.
// 03

Cursor

Cursor supports MCP servers via a global config file or per-project.

1

Create or edit ~/.cursor/mcp.json (global) or .cursor/mcp.json in your project (per-project):

~/.cursor/mcp.json
{
  "knockout": {
    "command": "ko",
    "args": ["mcp-serve"]
  }
}
2

Open Cursor Settings → FeaturesMCP and confirm Knockout appears in the server list.

3

In any chat window, use Agent mode. Cursor will automatically offer the knockout_prompt, knockout_session, and knockout_status tools.

// Cursor reads the config at startup. Restart Cursor after editing mcp.json.
// 04

Windsurf

Windsurf uses a global MCP config shared across all workspaces.

1

Create or edit ~/.codeium/windsurf/mcp_config.json:

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "knockout": {
      "command": "ko",
      "args": ["mcp-serve"]
    }
  }
}
2

Open Windsurf Settings → CascadeMCP Servers. Hit Refresh. Knockout will appear with its three tools listed.

3

In any Cascade conversation, the Knockout tools are available automatically. Cascade picks them up when the task matches.

// 05

JetBrains (IntelliJ / WebStorm / PyCharm…)

JetBrains IDEs support MCP through the built-in AI Assistant (2024.3+). No separate plugin required.

1

Open Settings (or Preferences on macOS) → ToolsAI AssistantModel Context Protocol (MCP).

2

Click + Add and fill in:

Name: knockout
Command: ko
Args: mcp-serve
3

Click OK then Apply. The Knockout server starts automatically when you open the AI Assistant chat.

4

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.

// MCP support requires JetBrains IDE 2024.3 or later and AI Assistant plugin enabled. Update via Help → Check for Updates if the MCP settings panel is missing.
// 06

Claude Desktop

Claude Desktop supports local MCP servers natively. No extension needed.

1

Edit the Claude Desktop config file for your OS:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json
2

Add the mcpServers block:

claude_desktop_config.json
{
  "mcpServers": {
    "knockout": {
      "command": "ko",
      "args": ["mcp-serve"]
    }
  }
}
3

Quit and relaunch Claude Desktop. A hammer icon appears in the message composer. Click it to see the Knockout tools.

// Claude Desktop spawns one MCP server process per app launch. The process stays alive for the whole session.
// 07

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:

knockout_prompt
Send a coding task. Streams progress while the agent works.
knockout_session
List recent sessions or resume one with a follow-up message.
knockout_status
Check auth status and wallet balance.

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).

// 08

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.
// 09

Troubleshooting

ko not found

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.

Not authenticated

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.

Tool calls time out

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.

Server appears but tools are missing

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

ko mcp-serve writes structured logs to stderr. Most IDEs surface these in a dedicated output panel:

VS Code: Output panel → MCP Server (knockout)
Cursor: Help → Toggle Developer Tools → Console
Windsurf: Help → Toggle Developer Tools → Console
JetBrains: Settings → AI Assistant → MCP → Show Logs
Still stuck?

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.