This Neovim MCP server, developed by Derek White (bigcodegen), integrates Claude Desktop with Neovim using the Model Context Protocol and the official neovim/node-client library. It leverages Vim's native text editing commands to create a lightweight code assistance layer, allowing AI to interact directly with Neovim sessions. The server connects to a running Nvim instance, providing tools to view and edit buffers, execute Vim commands, and retrieve editor status. By abstracting Neovim's complexities, it enables AI assistants to seamlessly work within the familiar Vim environment. This implementation is particularly useful for developers seeking AI-enhanced coding assistance within their preferred text editor, facilitating tasks such as code review, refactoring, and context-aware suggestions without leaving the Neovim ecosystem.
まだレビューはありません. 最初のレビューを投稿しましょう!
会話に参加するにはサインインしてください
Get buffer contents with line numbers. Parameters: filename (string, optional) - Get specific buffer by filename. Returns numbered lines with buffer content.
Send a command to VIM for navigation, spot editing, and line deletion. Parameters: command (string) - Runs vim commands with nvim.replaceTermcodes. Shell commands supported with '!' prefix when ALLOW_SHELL_COMMANDS=true.
Get comprehensive Neovim status. Returns cursor position, mode, filename, visual selection, window layout, current tab, marks, registers, working directory, LSP client info, and plugin detection.
Edit lines using insert, replace, or replaceAll modes. Parameters: startLine (number), mode ('insert' | 'replace' | 'replaceAll'), lines (string).
Manipulate Neovim windows (split, vsplit, close, navigate). Parameters: command (string: 'split', 'vsplit', 'only', 'close', 'wincmd h/j/k/l').
Set named marks at specific positions. Parameters: mark (string: a-z), line (number), column (number).
Set content of registers. Parameters: register (string: a-z or '), content (string).
Create visual mode selections. Parameters: startLine (number), startColumn (number), endLine (number), endColumn (number).
Switch between buffers by name or number. Parameters: identifier (string | number) - Buffer name or number.
Save current buffer or save to specific filename. Parameters: filename (string, optional) - Save to specific file.
Open files into new buffers. Parameters: filename (string) - File to open.
Search within current buffer with regex support. Parameters: pattern (string), ignoreCase (boolean, optional), wholeWord (boolean, optional).
Find and replace with advanced options. Parameters: pattern (string), replacement (string), global (boolean, optional), ignoreCase (boolean, optional), confirm (boolean, optional).
Project-wide search using vimgrep with quickfix list. Parameters: pattern (string), filePattern (string, optional) - File pattern to search.
Record, stop, and play Vim macros. Parameters: action ('record' | 'stop' | 'play'), register (string: a-z), count (number, optional).
Complete tab management. Parameters: action ('new' | 'close' | 'next' | 'prev' | 'first' | 'last' | 'list'), filename (string, optional).
Code folding operations. Parameters: action ('create' | 'open' | 'close' | 'toggle' | 'openall' | 'closeall' | 'delete'), startLine/endLine (numbers, for create).
Jump list navigation. Parameters: direction ('back' | 'forward' | 'list').
Check Neovim connection health and socket status.