mcp-neovim-server no longer runs as a per-session npx stdio child.
It is now a MetaMCP namespace upstream on emmett (one persistent
process), reached over Streamable-HTTP via the mcp-session-pool:
Claude Code -> pool.localhost:12010/p/neovim/mcp
-> MetaMCP neovim namespace -> mcp-neovim-server -> nvim socket
- .mcp.json: stdio npx server -> streamable-http pool endpoint
- agents/companion.md + skills: tool names are now 3-segment
(mcp__neovim__neovim__vim_*) — the MetaMCP aggregation shape; the
surface description and unavailability runbook updated for the
three-link path (nvim socket / MetaMCP / session)
- README: connection-path diagram
Host side (servers/emmett, deployed separately): neovim added to
services.mcp-session-pool.upstreams; metamcp.nix seeds the neovim
mcp_servers row + mapping and adds nodejs to the unit PATH.
- agents/companion.md: recognise three surfaces (mcp-neovim-server RPC,
claudecode.nvim IDE-link, declarative NixVim config) and rule for
picking between MCP-RPC vs IDE-link tools (selection/diff/diagnostics
-> IDE link; everything else -> mcp__neovim__*)
- skills/claude-code-handoff: document the full :ClaudeCode* command
surface (SelectModel, Status, TreeAdd, partial-file Add with line
range) and recommend partial-file Add over whole-buffer send
- skills/editor-act: fix markdown lint issues (vim language hint on
code fences, line-length on feedkeys snippet)
- agents/companion.md: expand tools to full editor + filesystem + web set
and grant mcp__neovim__* so the agent can drive nvim directly
- skills/*: each skill's allowed-tools also gains mcp__neovim__*
- .mcp.json: ship the mcp-neovim-server config with the plugin so
installing the plugin auto-wires the editor MCP (uses default socket
/run/user/1000/nvim.sock — adjust if your uid differs)