Skip to main content
Glama

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.

Related MCP Servers

  • A
    security
    A
    license
    A
    quality
    Shell 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, python
    Last updated -
    6
    618
    Apache 2.0
    • Apple
    • Linux
  • -
    security
    A
    license
    -
    quality
    A 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 -
    39
    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 -
    4
  • A
    security
    A
    license
    A
    quality
    Allows Claude to execute terminal commands on your computer and perform file system operations including surgical code editing with diff-based replacements.
    Last updated -
    19
    20,610
    6
    MIT License
    • Apple
    • Linux

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bigcodegen/mcp-neovim-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server