Docs · static mirror — the interactive version loads with JavaScript.

Kilo Code

Configure Runstack MCP in Kilo Code — VS Code Settings → MCP or kilo.jsonc mcp key with local/remote transports.

Source: https://runstack.engineer/docs/mcp-kilocode

kilocode

Kilo Code is a VS Code AI agent (also CLI). Connect it to Runstack's MCP tools at https://app.runstack.engineer/mcp with Authorization: Bearer rnsk_…. Get a key at API Keys.

Config locations

Kilo Code stores MCP servers under the top-level mcp key (not mcpServers) in kilo.jsonc:

  • Global: ~/.config/kilo/kilo.jsonc — all projects
  • Workspace: kilo.jsonc at project root, or .kilo/kilo.jsonc (cleaner) — project-specific
  • Legacy VS Code fallback: .kilocode/mcp.json / mcp_settings.json (migrated by wizard: .roo/mcp.json → .kilocode/mcp.json → kilo.jsonc)

Project-level wins over global. Use kilo.jsonc (JSON with comments, //) for human edits.

Add via UI

VS Code extension: Settings → MCP → Add Server:

  • Local (stdio): enter npx + args ["-y", "@rnsk/mcp"] + env RUNSTACK_API_KEY
  • Remote (HTTP): enter URL https://app.runstack.engineer/mcp + header Authorization: Bearer rnsk_YOUR_API_KEY

Or via Agent Behaviour → MCP Servers tab.

Manual JSON

Remote (Streamable HTTP) — recommended

// kilo.jsonc
{
  "mcp": {
    "runstack": {
      "type": "remote",
      "url": "https://app.runstack.engineer/mcp",
      "headers": {
        "Authorization": "Bearer rnsk_YOUR_API_KEY"
      },
      "enabled": true,
      "timeout": 15000
    }
  }
}

Set oauth: false if the server does automatic OAuth and you use Bearer keys:

"oauth": false

Kilo tries StreamableHTTP first, falls back to SSE automatically.

Local (stdio) — via @rnsk/mcp

{
  "mcp": {
    "runstack": {
      "type": "local",
      "command": ["npx", "-y", "@rnsk/mcp"],
      "environment": {
        "RUNSTACK_API_KEY": "rnsk_YOUR_API_KEY"
      },
      "enabled": true,
      "timeout": 10000
    }
  }
}

Windows UI: use cmd with args ["/c", "npx", "-y", "@rnsk/mcp"]; macOS/Linux: npx directly.

Permissions

MCP tools appear as {server}_{tool} (e.g. runstack_search_tools). Auto-approve via Approve Always in the Permission Dock or in kilo.jsonc:

{
  "permission": {
    "runstack_search_tools": "allow",
    "runstack_*": "allow"
  }
}

Verify

Settings → MCP shows runstack green/active. In chat: “Use Runstack to search for Slack tools”. search_tools → check_authentication → initiate_connection (OAuth link) → execute_tool should chain correctly.

Troubleshooting: needs_auth → click OAuth notification; failed → check command/URL; timeout → increase timeout ms.

Related