Skip to content

IDE integrations

Korva ships first-class integrations for eight editors via the Model Context Protocol. One CLI command — korva setup — auto-configures any of them. The same Vault tools are exposed everywhere; only the config file format differs.

Updated: 2026-04-30

Korva ships first-class integrations for eight editors. Run one command:

Terminal window
korva setup --all

…and every supported editor on your machine gets wired up automatically. To pick one specifically:

Terminal window
korva setup claude-code
korva setup cursor
korva setup vscode
korva setup copilot
korva setup windsurf
korva setup codex
korva setup opencode
korva setup gemini

korva setup is idempotent — safe to run multiple times. It never duplicates entries and never overwrites unrelated keys in your config.

Coverage matrix

EditorStatusConfig file(s)Setup command
Claude Code✅ Stable.mcp.json, CLAUDE.mdkorva setup claude-code
Cursor✅ Stable.cursorrules, mcp.jsonkorva setup cursor
VS Code (with MCP)✅ Stablesettings.json (combined)korva setup vscode
GitHub Copilot✅ Stable.github/copilot-instructions.mdkorva setup copilot
Windsurf✅ Stableglobal_rules.md, mcp_config.jsonkorva setup windsurf
OpenAI Codex✅ Stable.codex-plugin.jsonkorva setup codex
OpenCode✅ Stableopencode.jsonkorva setup opencode
Gemini CLI✅ Stablegemini-extension.json, GEMINI.mdkorva setup gemini

The standard MCP config

Every IDE that supports MCP natively gets the same minimal block:

{
"mcpServers": {
"korva-vault": {
"type": "stdio",
"command": "korva-vault",
"args": ["mcp"],
"env": { "KORVA_MCP_PROFILE": "agent" }
}
}
}

korva-vault ships as a single binary — no node_modules, no Python venv, no Docker. The MCP server is the same Go process that serves HTTP on :7437.

Universal session lifecycle

Every IDE follows the same workflow:

  1. Reads BEHAVIOR.md at the repo root (four universal principles: think before coding, simplicity first, surgical changes, goal-driven execution).
  2. Calls vault_context at session start with project, prompt and file_paths.
  3. Applies returned auto_skills silently as authoritative guidance.
  4. Before architecture decisions: vault_hint (10× cheaper than vault_search).
  5. For full discovery: vault_search.
  6. After meaningful work: vault_save with a type (decision, pattern, bugfix, learning, refactor).
  7. For long outputs to memory: vault_compress with mode=full.
  8. On close: vault_session_end with a summary.

Smart Skill Auto-Loader (works in every IDE)

When vault_context receives prompt + file_paths, the Vault:

  1. Detects the active project.
  2. Queries the team DB for skills marked auto_load=1.
  3. Scores each skill: file pattern (45 %) + keywords (30 %) + project (15 %) + tags (10 %).
  4. Returns the top matches inline with full body and the matching reason.

Per-IDE differentiators

EditorWhat’s different
Claude CodeSeparate .mcp.json, detailed CLAUDE.md with the universal workflow
CursorCombines rules in .cursorrules with MCP config in mcp.json
CopilotInstructions via github.copilot.chat.codeGeneration.instructions pointing to BEHAVIOR.md and CLAUDE.md
VS CodeCombined config: Copilot + MCP + explicit korva.vault.endpoint
Windsurfglobal_rules.md + mcp_config.json
CodexSingle plugin (.codex-plugin.json) with hooks.session_start calling korva-vault hooks session-start
OpenCodeJSON Schema-validated, instructions as an array
GeminicontextFiles: ["GEMINI.md"] for auto-loading + explicit scorer formula

Common environment variables

VariableValuesPurpose
KORVA_MCP_PROFILEagent / readonly / adminPermission profile of exposed tools
KORVA_OUTPUT_MODEoff / lite / full / ultraDefault compression for vault_compress
KORVA_SESSION_TOKENautoAuto-loaded from ~/.korva/session.token if unset

Troubleshooting

If korva setup <ide> says “editor not found”, install the IDE first or pass the binary path explicitly. If the IDE picks up the config but tools never fire, the most common cause is the Vault not running:

Terminal window
korva vault start
korva doctor

See Troubleshooting for more.

Next