nvim-ui-mcp
Provides tools for AI agents to see, act on, and verify the real rendered Neovim UI, including launching/attaching instances, observing the screen (cursor, mode, floats), sending keystrokes and commands, and waiting for screen conditions.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@nvim-ui-mcplaunch a clean Neovim, type 'hello world', and verify it appears on screen"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
nvim-ui-mcp
Playwright for Neovim agents.
An MCP server that lets AI agents see, act on, and verify the real, rendered Neovim UI — not just buffer text and API state.
Table of Contents
Related MCP server: visual-ui-debug-agent-mcp
Requirements
Installation
npm install -g nvim-ui-mcpMCP Client Configuration
claude mcp add nvim-ui -- npx -y nvim-ui-mcp{
"mcpServers": {
"nvim-ui": {
"command": "npx",
"args": ["-y", "nvim-ui-mcp"]
}
}
}Tools
Exactly 8 tools — deliberately not a generic nvim_* API wrapper.
Usage
The loop is observe → act → wait → observe:
// 1. Start an isolated instance
nvim_launch { "clean": true, "rows": 24, "cols": 80 }
// → { "sessionId": "nvim-1", ... }
// 2. Look at the real screen
nvim_observe { "sessionId": "nvim-1" }
// → { "screen": "…24 rows of text…", "cursor": {...}, "mode": {...} }
// 3. Act
nvim_input { "sessionId": "nvim-1", "keys": "ihello world<Esc>" }
// 4. Synchronize before looking again — see Gotchas below
nvim_wait { "sessionId": "nvim-1", "condition": "contains", "text": "hello world" }
// 5. Verify, cheaply
nvim_observe_diff { "sessionId": "nvim-1" }
// → { "changed": true, "rowChanges": [{ "row": 0, "after": "hello world…" }] }
nvim_close { "sessionId": "nvim-1" }Gotchas
nvim_input and nvim_command return as soon as Neovim accepts the request — not when the
screen has repainted. Observing immediately races the redraw.
contains / not-contains test current screen content, so they work whether the redraw lands
before or after the wait started. redraw, screen-change, and idle are edge-triggered and can
miss a repaint that already happened — use idle only when you cannot predict the resulting text.
Neovim composites floats into a single grid, so popup and float content is already in the
rendered text. The floats array from nvim_observe reports each float's row, col, width,
and height — how you tell a completion popup from buffer text at the same coordinates.
Attach Mode
nvim --listen /tmp/nvim.socknvim_attach { "address": "/tmp/nvim.sock" }The instance belongs to you, so nvim_close refuses it. Neovim sizes the screen to the smallest
attached UI, so requesting a size can shrink your own view.
Development
npm install
npm test # unit + integration, needs a real nvim binary
npm run typecheck
npm run lint
npm run buildSee DESIGN.md for the architecture, the UI event pipeline, and the known gaps.
License
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityDmaintenanceAn MCP server that lets AI agents launch, interact with, and inspect Textual TUI applications headlessly.124MIT
- AlicenseCqualityBmaintenanceAn MCP server that enables AI agents to autonomously test, debug, and analyze web interfaces visually using Playwright, with 30 tools for screenshots, workflows, performance, and visual comparison.301280ISC
- Flicense-qualityDmaintenanceAn MCP server that enables AI agents to control Neovim instances running in tmux sessions.
- AlicenseAqualityBmaintenanceMake Neovim feel like Cursor. This MCP server gives an agent full control over the Neovim session it is running inside, including buffers, windows, diagnostics, LSP language intelligence, and terminals.23MIT
Related MCP Connectors
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
SEO MCP server: crawl your site, find AI-visibility gaps, and ship the fix from your coding agent.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/kjoonha/nvim-ui-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server