Integrations
Connects to a Neovim instance to view and manipulate text buffers, run Vim commands, access editor status, manage windows, set marks and registers, and make visual selections. Allows AI to interact directly with content in the Neovim editor.
Leverages Vim's native text editing commands and workflows to enable AI assistance with code and text editing. Supports navigation, manipulation of buffers, window management, and visual selections.
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.
You must be authenticated.
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
- AsecurityAlicenseAqualityA line-oriented text file editor. Optimized for LLM tools with efficient partial file access to minimize token usage.Last updated -692PythonMIT License
- -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
- -securityAlicense-qualityA Cursor-compatible toolkit that provides intelligent coding assistance through custom AI tools for code architecture planning, screenshot analysis, code review, and file reading capabilities.Last updated -1,2612TypeScriptMIT 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