mcp-neovim-server

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-Sitzung
  • nvim://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:

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

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.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

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.

  1. Merkmale
    1. API
      1. Ressourcen
      2. Werkzeuge
    2. Einschränkungen
      1. Konfiguration
        1. Umgebungsvariablen
      2. Verwendung mit Claude Desktop
        1. Lizenz

          Related MCP Servers

          • A
            security
            A
            license
            A
            quality
            A line-oriented text file editor. Optimized for LLM tools with efficient partial file access to minimize token usage.
            Last updated -
            6
            92
            Python
            MIT License
            • Apple
            • Linux
          • -
            security
            A
            license
            -
            quality
            Facilitates 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 -
            2
            21
            31
            TypeScript
            MIT License
          • -
            security
            A
            license
            -
            quality
            A 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,261
            2
            TypeScript
            MIT License
          • -
            security
            F
            license
            -
            quality
            A utility toolkit that enhances Claude's code interaction capabilities by providing seamless tools for Java code analysis, manipulation, and testing workflows.
            Last updated -
            2
            TypeScript

          View all related MCP servers

          ID: s0fywdwp87