Skip to main content
Glama

Servidor MCP de Neovim

Una prueba de concepto de integración entre Claude Desktop (o cualquier cliente) y Neovim mediante el Protocolo de Contexto de Modelo (MCP) y la biblioteca JavaScript oficial de neovim/node-client. Este servidor aprovecha los comandos y flujos de trabajo de edición de texto nativos de Vim, que Claude ya comprende, para crear un código ligero o una capa de asistencia de texto de IA de propósito general.

Características

  • Se conecta a su instancia nvim si expone un archivo de socket, por ejemplo --listen /tmp/nvim , al iniciar nvim

  • Visualiza tus buffers actuales

  • Obtiene la ubicación del cursor, el modo y el nombre del archivo.

  • Ejecuta comandos vim y, opcionalmente, comandos de shell a través de vim

  • Puede realizar ediciones utilizando insertar o reemplazar

Related MCP server: MCP Code Analyzer

API

Recursos

  • nvim://session : Sesión actual del editor de texto neovim

  • nvim://buffers : lista de todos los buffers abiertos en la sesión actual de Neovim con metadatos que incluyen estado modificado, sintaxis e identificaciones de ventana

Herramientas

  • búfer de vim

    • Buffer del editor de texto VIM actual con números de línea mostrados

    • filename de entrada (cadena)

    • Se ignora el nombre del archivo y se devuelve una cadena de líneas numeradas con el contenido del búfer activo actual

  • comando vim

    • Envíe un comando a VIM para navegación, edición puntual y eliminación de líneas

    • command de entrada (cadena)

    • Ejecuta un comando de VIM que primero se pasa por nvim.replaceTermcodes . Varios comandos funcionarán si se separan con saltos de línea.

    • En caso de error, se devuelve el contenido 'nvim:errmsg'

  • estado de vim

    • Obtener el estado del editor VIM

    • El estado contiene la posición del cursor, el modo, el nombre del archivo, la selección visual, el diseño de la ventana, la pestaña actual, las marcas, los registros y el directorio de trabajo.

  • vim_edit

    • Editar líneas usando insertar, reemplazar o reemplazar todo en el editor de VIM

    • Entrada startLine (número), mode ( "insert" | "replace" | "replaceAll" ), lines (cadena)

    • Insertar insertará líneas en la línea de inicio

    • replace reemplazará las líneas comenzando en startLine

    • replaceAll reemplazará todo el contenido del buffer

  • ventana_vim

    • Manipular ventanas de Neovim (dividir, vsplit, cerrar, navegar)

    • command de entrada (cadena: "split", "vsplit", "only", "close", "wincmd h/j/k/l")

    • Permite operaciones de gestión de ventanas

  • marca_vim

    • Establecer una marca en una posición específica

    • mark de entrada (cadena: az), line (número), column (número)

    • Establece marcas con nombre en posiciones específicas

  • registro_vim

    • Establecer el contenido de un registro

    • register de entrada (cadena: az o "), content (cadena)

    • Gestiona el contenido del registro

  • vim_visual

    • Hacer una selección visual

    • Entrada startLine (número), startColumn (número), endLine (número), endColumn (número)

    • Crea selecciones de modo visual

Con este sencillo conjunto de herramientas, Claude puede examinar su sesión de neovim para responder preguntas y realizar modificaciones en el buffer.

Limitaciones

  • Esta es una prueba de concepto rápida para experimentar con el Protocolo de Contexto de Modelo. Úselo bajo su propia responsabilidad.

  • ¡Puede que no interactúe bien con una configuración de neovim personalizada!

  • El manejo de errores podría ser mejor.

  • A veces Claude no obtiene la entrada del comando vim correctamente.

Configuración

Variables de entorno

  • ALLOW_SHELL_COMMANDS : Establézcalo como 'true' para habilitar la ejecución de comandos de shell (p. ej. !ls ). El valor predeterminado es 'false' por seguridad.

  • NVIM_SOCKET_PATH : Establezca la ruta de su socket de Neovim. El valor predeterminado es '/tmp/nvim' si no se especifica.

Uso con Claude Desktop

Agregue esto a su claude_desktop_config.json :

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

Licencia

Este servidor MCP cuenta con la licencia MIT. Esto significa que puede usar, modificar y distribuir el software libremente, sujeto a los términos y condiciones de la licencia MIT. Para más detalles, consulte el archivo de LICENCIA en el repositorio del proyecto.

Latest Blog Posts

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