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.
mcp-neovim-server exposes tools named vim_command, vim_buffer,
vim_status, vim_edit, vim_window, vim_file_open, vim_search, etc. —
all with a vim_ prefix and with no eval tool. The agent and skills
previously referenced mcp__neovim__nvim_command and
mcp__neovim__nvim_eval, which do not exist, so every drive/introspect
call would have failed to resolve.
- agents/companion.md: add the full vim_* tool reference table; note
that lua is evaluated via vim_command with :lua print(...)
- skills/editor-introspect: add a 'tools you have' section; correct
the runnable-via line
- skills/editor-act: correct the description's tool references
- 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)
Adds a Claude Code agent and three skills for collaborating with the
user's running Neovim instance via mcp-neovim-server and the official
coder/claudecode.nvim plugin:
- agents/companion.md — the nvim companion identity, prefers runtime
introspection over training-data guessing
- skills/editor-introspect — read-only queries against the live editor
- skills/editor-act — safe driving (open, jump, toggle, run); no buffer edits
- skills/claude-code-handoff — delegate buffer edits to the in-editor
Claude Code session so users get a diff to accept or reject