BM

bigcodegen/mcp-neovim-server

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

324 stars 27 forks Качество 61 Тренд 19MIT

Управление 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: Текущая сессия текстового редактора Neovim
  • nvim://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 session
  • nvim://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 when ALLOW_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
Открыть полный README на GitHub

Установка

npx -y mcp-neovim-server
Новичок в MCP? Начните с руководства на mcpskill.org →

Конфигурация

{ "mcpServers": { "MCP Neovim Server": { "command": "npx", "args": [ "-y", "mcp-neovim-server" ], "env": { "ALLOW_SHELL_COMMANDS": "true", "NVIM_SOCKET_PATH": "/tmp/nvim" } } } }