Skip to main content
One command — binary first (brew install supernovae-st/tap/nika · other paths):
nika wire zed

What it writes

~/.config/zed/settings.json — on every platform, macOS included (Zed’s deliberate upstream choice). The entry lands under context_servers, the shape from zed.dev/docs/ai/mcp:
{ "context_servers": { "nika": { "command": "nika", "args": ["mcp"], "env": {} } } }
Zed’s settings.json is JSONC — the default file ships with comments, and comments would be destroyed by a rewrite. nika wire zed only rewrites a file it can round-trip losslessly; if yours carries comments it prints the exact snippet (✋ manual) and leaves the file byte-identical. Paste the "nika" entry into context_servers yourself.

Verify

Zed’s agent panel lists nika among its context servers, with the eight nika_* tools (the oracle’s contract). The repo side comes from nika initAGENTS.md plus the $schema modeline for validation and completion. Then prove the loop end-to-end: integrate in 10 minutes.