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
API
Recursos
nvim://session
: Sesión actual del editor de texto neovimnvim://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
:
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.
You must be authenticated.
local-only server
The server can only run on the client's local machine because it depends on local resources.
Aprovecha los comandos de edición de texto y flujos de trabajo nativos de Vim, que Claude ya comprende, para crear una capa de asistencia de código liviana.
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,0122TypeScriptMIT 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