Vim MCP
概要
作者による説明(英語の原文)
Connect Claude Code to Vim/Neovim - query state, execute commands, search help, record macros
PopNx MCPの3つの柱
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
- 利用者の声iレビューはまだありませんレビューは今後のステップで、アカウント機能と一緒に始まります
- 私たちの基本チェックi2項目中1項目に合格公開情報からチェック。コードはまだスキャンしていません
- 利用状況iとても新しい↓ 43/週 · ★ 3
できること
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
- 接続方法: パソコンで動く
- トランスポート: stdio
- カテゴリ: 検索・AIの記憶
インストール
使っているAIアプリを選んで、設定をコピーしてください。
インストールの前に
- 基本チェック:2項目中1項目に合格 不合格
- あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
- レジストリには、入力が必要なキーは載っていません。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"vim": {
"command": "npx",
"args": [
"-y",
"vim-mcp"
]
}
}
}ターミナルでこれを実行します
claude mcp add vim -- npx -y vim-mcpまたは、設定を自分でコピーする
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"vim": {
"command": "npx",
"args": [
"-y",
"vim-mcp"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
または、設定を自分でコピーする
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"vim": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"vim-mcp"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
使えるアプリ
このサーバーのつなぎ方と、各アプリの公式ドキュメントに基づきます。2026年11月10日に確認。
パソコン上で動かせるアプリ
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
できること
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
基本チェックi
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月11日にチェック
- ✓ 合格
作者とリポジトリが一致
レジストリ名は、リポジトリを所有するGitHubアカウント iggredible で確認済みです
- ✕ 不合格
今もメンテナンスされている
1年以上コードの更新がないか、リポジトリがアーカイブされています
- … 未チェック
ライセンスがある
このリポジトリはまだGitHubから読み取っていません
- – 対象外
エンドポイントが応答する
これはパソコンで動くため、インターネット上のエンドポイントはありません
- – 対象外
OAuthでサインイン
パソコンで動き、代わりにローカルの設定を使います
- … 未チェック
ツールの説明に隠れた指示がない
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
ユーザーレビュー
まだレビューはありません
検索・AIの記憶のほかのサーバーとの比較i
- このカテゴリのほかの5867件のうち84%よりスターが多い
- このカテゴリのほかの5867件のうち0%より最近レジストリに公開
- 基本チェックの結果が、このカテゴリのほかの5867件のうち14%と同じかそれ以上
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
よくある質問
Vim MCPは安全ですか?
当てはまる基本チェック2項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
どんなキーやコードが必要ですか?
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
パソコンで動きますか、それともクラウドですか?
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
今もメンテナンスされていますか?
GitHubリポジトリの最終更新は14 か月前、最新バージョン(0.1.2)がレジストリに届いたのは14 か月前です。
どのアプリで使えますか?
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
代わりに使えるものは?
同じカテゴリには:Ruflo, Context7, Metabase
代わりの候補
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
作者のREADME
READMEを開く
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
vim-mcp
Simple MCP (Model Context Protocol) integration for Vim and Claude Code.
Features
- Connect Claude Code to one of your Vim instances
- Query Vim state (buffers, windows, cursor position, etc.)
- Execute Vim commands from Claude using natural language
How it works:
- The MCP server starts a Unix socket server at
/tmp/vim-mcp-server.sock - Each Vim instance connects to the server as a Unix socket client
- Vim sends registration and state updates to the server
- The server maintains active connections to all Vim instances
- Claude Code communicates with the MCP server via Model Context Protocol
Demo
List and select Vim instance:
You can (finally) exit Vim!
For more, check out the demo wiki page
Why would anyone need this?
Ok, I get what it does, but why do we need this?
If you're trying to do basic Vim operations like typing "split the window in half" (24 keystrokes) vs running :sp / :vs (3 keystrokes), then you're better off without it. Where vim-mcp shines is when the number of keystrokes is unknown; when you can only describe what you want to do but don't know exactly how to do it. Things like complex regex/macros/lookups, help semantic search, etc. - it's faster to tell AI what you're trying to accomplish than trial-and-error. I think the word I'm looking for is circumlocution?
Here's one scenario where it may be useful:
Suppose you want to perform a complex Vim command that would otherwise take a long time to construct. Claude can easily do it if you can describe what you want to do. Maybe you want to substitute "(test foobar)" with square brackets ONLY IF they come after a 3rd-level Markdown header. That's not something I can easily cook up in seconds... but Claude can!
With vim-mcp, I can prompt Claude:
In README.md, substitute the set of parentheses `(SOME TEXT)` with square brackets `[SOME TEXT]`, where SOME TEXT says "test foobar"; do this if the strings come after a 3rd-level header markdown.
And that's it! When I did it, Claude came up with the g command and executed it for me.
vim-mcp - vim_execute (MCP)(command: "g/^### /,/^#\\{1,3\\} \\|^$/s/(test foobar)/[test foobar]/g")
⎿ Command executed successfully: g/^### /,/^#\{1,3\} \|^$/s/(test foobar)/[test foobar]/g
Bonus: the executed commands are stored in the command history so you can go back and re-execute them or modify them.
What if you later decide, "Hey, I actually don't want to substitute them with square brackets [], I want to substitute them with curly brackets {} instead!" You can just access the command history (q:, :history, or : then press up/down) and make the necessary modifications.
So I did :, then pressed the up arrow a few times until I saw the command that vim-mcp executed, and changed it to :g/^### /,/^#\{1,3\} \|^$/s/(test foobar)/{test foobar}/g. Done!
Overview
For a detailed overview, see vim-mcp overview.
Tools and Resources
Tools:
list_vim_instancesselect_vim_instanceget_vim_statevim_executeexit_vimvim_search_helpvim_record_macro
Resources:
vim://instances- List of all available Vim instancesvim://state- Current state of the selected Vim instancevim://buffers- List of all buffers in the selected Vim instancevim://tabs- List of all tabs in the selected Vim instance
Installation
Prerequisites
- Vim 8+ with
+channelfeature OR Neovim 0.5+ - Node.js 18+
- Unix domain socket support (Linux/macOS)
- File system write access to
/tmpdirectory - claude code / claude desktop or similar tools that support MCP
Install the Vim Plugin
Using vim-plug:
Plug 'iggredible/vim-mcp'
Install the MCP Server
The MCP server is a Node project. You need to install the dependencies.
Option 1: Using the Install Script
cd ~/.vim/plugged/vim-mcp # Or wherever your plugin is installed
./install.sh
The install script will automatically:
- Check prerequisites (Node.js and Vim versions)
- Install Node.js dependencies
- Attempt global installation of the
vim-mcpcommand - Show you the correct Claude Code configuration
Option 2: Manual Installation
If you prefer to install manually or the install.sh script doesn't work:
- Install Node.js dependencies:
cd ~/.vim/plugged/vim-mcp/server
npm install
npm install will also run chmod +x bin/vim-mcp
- (Optional) Install globally for system-wide
vim-mcpcommand (inside the/serverdirectory):
npm link
If this fails due to permissions or other reasons, you can skip global installation and use the full path in your config.
Configure Claude Code
After installation, add one of these configurations to your Claude configuration file:
If global install succeeded (if vim-mcp command is available):
"mcpServers": {
"vim-mcp": { "command": "vim-mcp", "args": [] }, }
If npm link failed:
{
"mcpServers": { "vim-mcp": { "command": "node", "args": ["/some/path/.vim/plugged/vim-mcp/server/bin/vim-mcp"] } } }
Uninstall
To remove vim-mcp:
- Remove the plugin from your
.vimrc:
" Delete or comment out this line:
" Plug 'iggredible/vim-mcp'
- Clean up the plugin files:
:PlugClean
- Remove the global
vim-mcpcommand (if installed):
npm unlink vim-mcp
- Remove from Claude Code configuration:
Edit the Claude config file and remove the vim-mcp section from mcpServers
- Clean up temporary files (optional):
rm -f /tmp/vim-mcp-server.sock
rm -f /tmp/vim-mcp-registry.json rm -f /tmp/vim-mcp-preference.txt
- Restart Vim and Claude Code to ensure all connections are cleared.
Quick Start
Step-by-Step Connection Process
- Open Vim instances (the plugin connects automatically):
vim file1.txt # First instance
vim file2.txt # Second instance (in another terminal)
- In Claude Code, list available Vim instances:
list vim instances
- If multiple instances are found, select one:
select vim instance file1-vim-12345
Things you can prompt
From the client (claude code), you can:
- Manage instances:
- "List vim instances"
- "Connect to the first one pls"
- "Select the one with README.md open"
- Control Vim:
- "Split into two windows vertically"
- "execute vim command "
- "HELP ME EXIT VIM!!!"
- Search Vim help:
- "Search vim help for working with channels"
- "How do I use vim's quickfix list?"
- "Show me help on vim registers"
- Record macros:
- "Record a macro that uppercases the first word and moves down 2 lines"
- "Create a macro to duplicate the current line and comment it out"
- "Make a macro that finds the next TODO and marks it as DONE"
- Query about Vim:
- "How many buffers do I have?"
- "What buffers are open?"
- "What is my cursor position?"
- "Show me the current buffer content"
- "How many lines are in the active buffer?"
- "What language is the file written in?"
- "What windows are open?"
- "What is the realistic 10-year target price for BTC?" (*jk*)
vim-mcp can help you exit Vim!!
You can FINALLY exit Vim! Rejoice! The exit_vim tool provides safe exit functionality with three modes:
- Default (check): Checks for unsaved changes and warns you before exiting
- Save and exit: Saves all modified buffers and exits (
exit vim save_and_exit) - Force exit: Exits without saving, discarding changes (
exit vim force_exit)
Examples:
exit vim # Safe exit - warns about unsaved changes
exit vim save_and_exit # Save all files and exit exit vim force_exit # Exit without saving (discard changes) GET ME OUTTA HERE # You're free! Successfully exited Vim (there were no unsaved changes).
*Note: this is a joke tool because many people have a hard time exiting Vim*.
Vim Commands
The plugin connects automatically when Vim opens. However, you can do these from inside Vim:
:VimMCPStatus- Check connection status:VimMCPConnect- Manually connect to server:VimMCPDisconnect- Disconnect from server:VimMCPReconnect- Reconnect to server
Contributing
I'm still figuring out how to make this to be more useful. If you have ideas, please feel free to submit a PR!