kayaozkur/mcp-server-nvimlisten
If you are the rightful owner of mcp-server-nvimlisten and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
A powerful Model Context Protocol (MCP) server that provides comprehensive Neovim integration for Claude Code.
neovim-connect
Send commands to specific Neovim instances.
neovim-open-file
Open files in Neovim with optional line navigation.
terminal-execute
Execute commands in the visible terminal.
get-nvim-config
Retrieve Neovim configuration files.
set-nvim-config
Update Neovim configuration.
MCP Server for Neovim Listen
A powerful Model Context Protocol (MCP) server that provides comprehensive Neovim integration for Claude Code. This server combines the functionality of both mcp-server-nvimlisten
and mcp-server-nvim
to offer advanced Neovim control, orchestration, and development environment management.
š Part of the Extended MCP Ecosystem
This server is now part of an expanded ecosystem of 16 MCP servers that work together to provide Claude with unprecedented capabilities:
- 7 New Servers Added: Enhanced time operations, HTTP requests, persistent memory, sequential thinking, ultra-fast search, web scraping, and remote function calls
- Seamless Integration: All servers work together to enable complex workflows
- Comprehensive Documentation: See and
With this expanded ecosystem, Claude can now handle everything from advanced development workflows to distributed system management, data pipelines, and intelligent automation.
Documentation
š Comprehensive Guides
- Complete documentation index
Essential Guides
- - Detailed documentation of all available MCP tools
- - Learn how to use the server effectively
- - Solutions to common issues
Quick References
- - Quick reference for all tools
- - Detailed installation instructions
- - Keyboard shortcuts
- - Common commands
Advanced Topics
- - Advanced orchestration patterns
- - Port usage and conventions
- - How to test the server
- - Claude-specific features
Features
šÆ Core Capabilities
- Multi-Instance Neovim Control: Connect to and control multiple Neovim instances running on different ports
- Terminal Integration: Execute commands in visible terminal panes using Zellij
- Interactive Tools: Command palette and project switcher with fzf integration
- Configuration Management: Read and update Neovim configurations programmatically
- Plugin Management: List, install, update, and remove Neovim plugins
- Orchestra Mode: Coordinate multiple Neovim instances for advanced workflows
- Session Management: Create, restore, and manage Neovim sessions
- Keybinding Management: View and update keybindings with documentation
š ļø Available Tools
Neovim Connection Tools
neovim-connect
: Send commands to specific Neovim instancesneovim-open-file
: Open files in Neovim with optional line navigation
Terminal & Environment Tools
terminal-execute
: Execute commands in the visible terminalcommand-palette
: Open interactive command palette with fzfproject-switcher
: Navigate between projects interactivelystart-environment
: Launch the development environment
Configuration Management
get-nvim-config
: Retrieve Neovim configuration filesset-nvim-config
: Update Neovim configuration
Plugin Management
list-plugins
: List installed plugins with statusmanage-plugin
: Install, update, or remove plugins
Orchestra Functions
run-orchestra
: Start multi-instance orchestrationbroadcast-message
: Send messages to all instances
Session & Keybinding Management
manage-session
: Create and restore Neovim sessionsget-keybindings
: View current keybindings
Installation
Prerequisites
Required:
- Node.js 18+
- Neovim 0.9+
Optional (for full functionality):
- Zellij (terminal multiplexer)
- tmux (alternative to Zellij)
- Python 3 with pynvim
- fzf (fuzzy finder)
- ripgrep (rg)
- fd (find alternative)
- lsd (ls with icons)
- atuin (shell history)
Install via npm
npm install -g @mcp/server-nvimlisten
Install from source
git clone https://github.com/yourusername/mcp-server-nvimlisten
cd mcp-server-nvimlisten
npm install
npm run build
npm link
Configuration
Add to your Claude Code MCP settings:
{
"mcpServers": {
"nvimlisten": {
"command": "mcp-server-nvimlisten",
"args": []
}
}
}
Quick Start
- Install the server:
npm install -g @mcp/server-nvimlisten
- Configure Claude Code (add to MCP settings)
- Start the environment:
await use_mcp_tool("nvimlisten", "start-environment", { "layout": "enhanced" });
- Open a file:
await use_mcp_tool("nvimlisten", "neovim-open-file", { "port": 7001, "filepath": "your-file.js" });
For detailed instructions, see the .
Usage Examples
Basic Neovim Control
// Connect to Neovim and execute a command
await use_mcp_tool("nvimlisten", "neovim-connect", {
"port": 7001,
"command": ":echo 'Hello from Claude!'<CR>"
});
// Open a file
await use_mcp_tool("nvimlisten", "neovim-open-file", {
"port": 7001,
"filepath": "/path/to/file.js",
"line": 42
});
Terminal Execution
// Execute command in visible terminal
await use_mcp_tool("nvimlisten", "terminal-execute", {
"command": "npm test"
});
Configuration Management
// Get current configuration
await use_mcp_tool("nvimlisten", "get-nvim-config", {
"configType": "plugins"
});
// Update configuration
await use_mcp_tool("nvimlisten", "set-nvim-config", {
"configType": "mappings",
"content": "-- New keybindings\nvim.keymap.set('n', '<leader>f', ':Telescope find_files<CR>')",
"backup": true
});
Orchestra Mode
// Start full orchestra with 3 instances
await use_mcp_tool("nvimlisten", "run-orchestra", {
"mode": "full",
"ports": [7777, 7778, 7779]
});
// Broadcast to all instances
await use_mcp_tool("nvimlisten", "broadcast-message", {
"message": "Syncing all instances...",
"messageType": "info"
});
Development Environment Layouts
Enhanced Layout (Default)
- 9 panes with specialized roles
- Main editor, navigator, and broadcast instances
- Integrated terminal with lsd file listing
- Interactive file explorer with fzf and preview
- Live command history and git status monitoring
Orchestra Layout
- Multiple coordinated Neovim instances
- Synchronized editing across instances
- AI-powered orchestration
Minimal Layout
- Single Neovim instance with terminal
- Lightweight for simple tasks
Shell Scripts
The server includes several powerful shell scripts:
claude-terminal-bridge.sh
: Terminal command executionclaude-command-palette.sh
: Interactive command selectionclaude-project-switcher.sh
: Project navigationclaude-dev-aliases.sh
: Useful shell aliasesstart-claude-dev-enhanced.sh
: Environment launcherultimate-orchestra.sh
: Multi-instance orchestration
Architecture
mcp-server-nvimlisten/
āāā src/
ā āāā index.ts # Main server entry
ā āāā handlers/ # Tool handlers
ā āāā config-handler.ts
ā āāā plugin-handler.ts
ā āāā orchestra-handler.ts
ā āāā keybinding-handler.ts
ā āāā session-handler.ts
āāā scripts/ # Shell scripts
āāā templates/ # Config templates
āāā package.json
Contributing
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Add tests for new functionality
- Submit a pull request
License
MIT
Acknowledgments
This project combines the best features of:
mcp-server-nvimlisten
- Enhanced development environmentmcp-server-nvim
- Advanced Neovim control and orchestration
Special thanks to the Neovim and MCP communities for making this integration possible.