mcp-server-nvimlisten

kayaozkur/mcp-server-nvimlisten

3.3

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.

Tools
  1. neovim-connect

    Send commands to specific Neovim instances.

  2. neovim-open-file

    Open files in Neovim with optional line navigation.

  3. terminal-execute

    Execute commands in the visible terminal.

  4. get-nvim-config

    Retrieve Neovim configuration files.

  5. 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 instances
  • neovim-open-file: Open files in Neovim with optional line navigation
Terminal & Environment Tools
  • terminal-execute: Execute commands in the visible terminal
  • command-palette: Open interactive command palette with fzf
  • project-switcher: Navigate between projects interactively
  • start-environment: Launch the development environment
Configuration Management
  • get-nvim-config: Retrieve Neovim configuration files
  • set-nvim-config: Update Neovim configuration
Plugin Management
  • list-plugins: List installed plugins with status
  • manage-plugin: Install, update, or remove plugins
Orchestra Functions
  • run-orchestra: Start multi-instance orchestration
  • broadcast-message: Send messages to all instances
Session & Keybinding Management
  • manage-session: Create and restore Neovim sessions
  • get-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

  1. Install the server: npm install -g @mcp/server-nvimlisten
  2. Configure Claude Code (add to MCP settings)
  3. Start the environment:
    await use_mcp_tool("nvimlisten", "start-environment", {
      "layout": "enhanced"
    });
    
  4. 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 execution
  • claude-command-palette.sh: Interactive command selection
  • claude-project-switcher.sh: Project navigation
  • claude-dev-aliases.sh: Useful shell aliases
  • start-claude-dev-enhanced.sh: Environment launcher
  • ultimate-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:

  1. Fork the repository
  2. Create a feature branch
  3. Add tests for new functionality
  4. Submit a pull request

License

MIT

Acknowledgments

This project combines the best features of:

  • mcp-server-nvimlisten - Enhanced development environment
  • mcp-server-nvim - Advanced Neovim control and orchestration

Special thanks to the Neovim and MCP communities for making this integration possible.