Neovim MCP Server
Verbinden Sie Claude Desktop (oder einen beliebigen Model Context Protocol-Client) mit Neovim über MCP und die offizielle neovim/node-client JavaScript-Bibliothek. Dieser Server nutzt die nativen Textbearbeitungsbefehle und Workflows von Vim, die Claude bereits beherrscht, um einen einfachen Code oder eine allgemeine KI-Textassistenzschicht zu erstellen.
Merkmale
- Stellt eine Verbindung zu Ihrer NVIM-Instanz her, wenn Sie beim Starten von NVIM eine Socket-Datei verfügbar machen, beispielsweise
--listen /tmp/nvim
. - Zeigt Ihre aktuellen Puffer an
- Ruft Cursorposition, Modus und Dateinamen ab
- Führt Vim-Befehle und optional Shell-Befehle über Vim aus
- Kann Änderungen durch Einfügen oder Ersetzen vornehmen
API
Ressourcen
nvim://session
: Aktuelle Neovim-Texteditor-Sitzungnvim://buffers
: Liste aller offenen Puffer in der aktuellen Neovim-Sitzung mit Metadaten, einschließlich geändertem Status, Syntax und Fenster-IDs
Werkzeuge
- vim_buffer
- Aktueller VIM-Texteditor-Puffer mit angezeigten Zeilennummern
filename
(Zeichenfolge)- Der Dateiname wird ignoriert, es wird eine Zeichenfolge mit nummerierten Zeilen mit dem aktuellen aktiven Pufferinhalt zurückgegeben
- vim_Befehl
- Senden Sie einen Befehl an VIM zur Navigation, Spot-Bearbeitung und Zeilenlöschung
command
(Zeichenfolge)- Führt einen Vim-Befehl aus, der zuerst über
nvim.replaceTermcodes
übergeben wurde. Mehrere Befehle funktionieren, wenn sie durch Zeilenumbrüche getrennt sind. - Im Fehlerfall wird der Inhalt
'nvim:errmsg'
zurückgegeben
- vim_status
- Den Status des VIM-Editors abrufen
- Der Status enthält Cursorposition, Modus, Dateiname, visuelle Auswahl, Fensterlayout, aktuelle Registerkarte, Markierungen, Register und Arbeitsverzeichnis
- vim_edit
- Bearbeiten Sie Zeilen mit „Einfügen“, „Ersetzen“ oder „Alles ersetzen“ im VIM-Editor
- Eingabe
startLine
(Zahl),mode
("insert"
|"replace"
|"replaceAll"
),lines
(Zeichenfolge) - „insert“ fügt Zeilen bei startLine ein
- replace ersetzt Zeilen, die bei startLine beginnen
- replaceAll ersetzt den gesamten Pufferinhalt
- vim_window
- Neovim-Fenster manipulieren (teilen, teilen, schließen, navigieren)
command
(Zeichenfolge: "split", "vsplit", "only", "close", "wincmd h/j/k/l")- Ermöglicht Fensterverwaltungsvorgänge
- vim_mark
- Setzen einer Markierung an einer bestimmten Position
mark
(Zeichenfolge: a-z),line
(Zahl),column
(Zahl)- Setzt benannte Markierungen an angegebenen Positionen
- vim_register
- Inhalt eines Registers festlegen
register
(Zeichenfolge: az oder "),content
(Zeichenfolge)- Verwaltet Registerinhalte
- vim_visual
- Treffen Sie eine visuelle Auswahl
- Eingabe
startLine
(Zahl),startColumn
(Zahl),endLine
(Zahl),endColumn
(Zahl) - Erstellt visuelle Modusauswahlen
Mit diesem einfachen Satz an Tools kann Claude in Ihre Neovim-Sitzung hineinschauen, um Fragen zu beantworten und Änderungen am Puffer vorzunehmen.
Einschränkungen
- Dies ist ein kurzer Proof of Concept zum Experimentieren mit dem Model Context Protocol. Die Verwendung erfolgt auf eigene Gefahr.
- Interagiert möglicherweise nicht gut mit einer benutzerdefinierten Neovim-Konfiguration!
- Die Fehlerbehandlung könnte besser sein.
- Manchmal gelingt Claude die Eingabe des Vim-Befehls nicht ganz.
Konfiguration
Umgebungsvariablen
ALLOW_SHELL_COMMANDS
: Auf „true“ setzen, um die Ausführung von Shell-Befehlen zu aktivieren (z. B.!ls
). Standardmäßig auf „false“ gesetzt, aus Sicherheitsgründen.NVIM_SOCKET_PATH
: Legen Sie den Pfad Ihres Neovim-Sockets fest. Der Standardwert ist „/tmp/nvim“, wenn nicht anders angegeben.
Verwendung mit Claude Desktop
Fügen Sie dies zu Ihrer claude_desktop_config.json
hinzu:
Lizenz
Dieser MCP-Server ist unter der MIT-Lizenz lizenziert. Das bedeutet, dass Sie die Software unter den Bedingungen der MIT-Lizenz frei verwenden, ändern und verbreiten dürfen. Weitere Informationen finden Sie in der LICENSE-Datei im Projekt-Repository.
local-only server
The server can only run on the client's local machine because it depends on local resources.
Nutzt die nativen Textbearbeitungsbefehle und Arbeitsabläufe von Vim, die Claude bereits versteht, um eine leichtgewichtige Code-Unterstützungsebene zu erstellen.
Related MCP Servers
- -securityAlicense-qualityFacilitates integration with the Cursor code editor by enabling real-time code indexing, analysis, and bi-directional communication with Claude, supporting concurrent sessions and automatic reconnection.Last updated -22131TypeScriptMIT License
- AsecurityAlicenseAqualityShell and file edit capabilities tightly coupled to provide a powerful coding experience. You can work with different modes: architect and code-writer for separate plan and implementation phase. You can get it to invoke any cli command, e.g., compiling, type checking, linting, github cli, pythonLast updated -6520PythonApache 2.0
- -securityAlicense-qualityA comprehensive code analysis and management tool that integrates with Claude Desktop to analyze code at project and file levels, helping adapt changes to projects intelligently.Last updated -29PythonMIT License
- -securityFlicense-qualityA utility toolkit that enhances Claude's code interaction capabilities by providing seamless tools for Java code analysis, manipulation, and testing workflows.Last updated -2TypeScript