
bigcodegen/mcp-neovim-server
Developer toolsЭта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал
Управление Neovim с помощью протокола Model Context Protocol (MCP) и официальной JavaScript-библиотеки neovim/node-client
Обзор
Подключите Claude Desktop (или любой клиент Model Context Protocol) к Neovim с помощью MCP и официальной JavaScript-библиотеки neovim/node-client. Этот сервер использует встроенные команды и рабочие процессы Vim, которые Claude уже понимает, чтобы создать лёгкий код или универсальный AI-слой помощи тексту. - Подключается к вашему экземпляру nvim, если вы открываете файл сокета, например --listen /tmp/nvim, при запуске nvim - Просматривает текущие буферы и управляет переключением буферов - Получает местоположение курсора, режим, имя файла, метки, регистры и визуальные выборы - Выполняет vim и опционально shell-команды через vim - Может вносить правки с помощью режимов insert, replace или replaceAll - Поиск и замена с поддержкой regex - Глобальный поиск grep с интеграцией quickfix по всему проекту - Комплексное управление окнами - Мониторинг состояния и диагностика соединений - nvim://session: Текущая сессия текстового редактора Neovim - nvim://buffers: Список всех открытых буферов в текущем Neovim...
Обзор (машинный перевод)
Подключите Claude Desktop (или любой клиент Model Context Protocol) к Neovim с помощью MCP и официальной JavaScript-библиотеки neovim/node-client. Этот сервер использует встроенные команды и рабочие процессы Vim, которые Claude уже понимает, чтобы создать лёгкий код или универсальный AI-слой помощи тексту.
Особенности
- Подключается к вашему экземпляру nvim, если вы открываете сокетный файл, например
--listen /tmp/nvim, при запуске nvim - Просматривает текущие буферы и управляет их переключением
- Получает расположение курсора, режим, имя файла, отметки, регистры и визуальные выборы
- Выполняет команды vim и, по желанию, команды shell через vim
- Может вносить правки с помощью режимов вставки, замены или замены всех
- Функциональность поиска и замены с поддержкой регулярных выражений
- Поиск grep по всему проекту с интеграцией быстрого исправления
- Комплексное управление окнами
- Мониторинг состояния и диагностика соединений
API
Ресурсы
nvim://session: Текущая сессия текстового редактора Neovimnvim://buffers: Список всех открытых буферов в текущей сессии Neovim с метаданными, включая изменённый статус, синтаксис и идентификаторы окон
Инструменты
Основные инструменты
- vim_buffer
Эта страница переведена автоматически. Технические детали смотрите в оригинале.
README
Показан фрагмент оригинального README. Открыть оригинал.
Neovim MCP Server
Connect Claude Desktop (or any Model Context Protocol client) to Neovim using MCP and the official neovim/node-client JavaScript library. This server leverages Vim’s native text editing commands and workflows, which Claude already understands, to create a lightweight code or general purpose AI text assistance layer.
Features
- Connects to your nvim instance if you expose a socket file, for example
--listen /tmp/nvim, when starting nvim - Views your current buffers and manages buffer switching
- Gets cursor location, mode, file name, marks, registers, and visual selections
- Runs vim commands and optionally shell commands through vim
- Can make edits using insert, replace, or replaceAll modes
- Search and replace functionality with regex support
- Project-wide grep search with quickfix integration
- Comprehensive window management
- Health monitoring and connection diagnostics
API
Resources
nvim://session: Current neovim text editor sessionnvim://buffers: List of all open buffers in the current Neovim session with metadata including modified status, syntax, and window IDs
Tools
Core Tools
- vim_buffer
- Get buffer contents with line numbers (supports filename parameter)
- Input
filename(string, optional) - Get specific buffer by filename - Returns numbered lines with buffer content
- vim_command
- Send a command to VIM for navigation, spot editing, and line deletion
- Input
command(string) - Runs vim commands with
nvim.replaceTermcodes. Multiple commands work with newlines - Shell commands supported with
!prefix whenALLOW_SHELL_COMMANDS=true - On error,
'nvim:errmsg'contents are returned
- vim_status
- Get comprehensive Neovim status
- Returns cursor position, mode, filename, visual selection with enhanced detection, window layout, current tab, marks, registers, working directory, LSP client info, and plugin detection
- Enhanced visual selection reporting: detects visual mode type (character/line/block), provides accurate selection text, start/end positions, and last visual selection marks
- vim_edit
- Edit lines using insert, replace, or replaceAll modes
- Input
startLine(number),mode("insert"|"replace"|"replaceAll"),lines(string) - insert: insert lines at startLine
- replace: replace lines starting at startLine
- replaceAll: replace entire buffer contents
- vim_window
- Manipulate Neovim windows (split, vsplit, close, navigate)
- Input
command(string: “split”, “vsplit”, “only”, “close”, “wincmd h/j/k/l”)
- vim_mark
- Set named marks at specific positions
- Input
mark(string: a-z),line(number),column(number)
- vim_register
- Set content of registers
Установка
npx -y mcp-neovim-serverКонфигурация
{
"mcpServers": {
"MCP Neovim Server": {
"command": "npx",
"args": [
"-y",
"mcp-neovim-server"
],
"env": {
"ALLOW_SHELL_COMMANDS": "true",
"NVIM_SOCKET_PATH": "/tmp/nvim"
}
}
}
}