Neovim MCP サーバー
モデルコンテキストプロトコル(MCP)と公式JavaScriptライブラリneovim/node-clientを使用して、Claude Desktop(または任意のクライアント)とNeovimを統合する概念実証です。このサーバーは、Claudeが既に理解しているVimのネイティブテキスト編集コマンドとワークフローを活用して、軽量コードまたは汎用AIテキスト支援レイヤーを作成します。
特徴
nvim を起動するときに、たとえば
--listen /tmp/nvimようにソケットファイルを公開すると、nvim インスタンスに接続します。現在のバッファを表示します
カーソルの位置、モード、ファイル名を取得します
vim コマンドとオプションでシェル コマンドを vim 経由で実行します
挿入または置換を使用して編集できます
API
リソース
nvim://session: 現在の Neovim テキストエディタセッションnvim://buffers: 現在の Neovim セッションで開いているすべてのバッファのリスト。変更されたステータス、構文、ウィンドウ ID などのメタデータが含まれます。
ツール
vim_バッファ
行番号が表示された現在の VIM テキストエディタバッファ
入力
filename(文字列)ファイル名は無視され、現在アクティブなバッファの内容を含む番号付き行の文字列を返します。
vimコマンド
ナビゲーション、スポット編集、行削除のためにVIMにコマンドを送信します
入力
command(文字列)nvim.replaceTermcodesに渡された vim コマンドを実行します。改行で区切れば複数のコマンドも実行できます。エラーの場合は、
'nvim:errmsg'内容が返されます
vim_ステータス
VIMエディタのステータスを取得する
ステータスには、カーソル位置、モード、ファイル名、ビジュアル選択、ウィンドウレイアウト、現在のタブ、マーク、レジスタ、作業ディレクトリが含まれます。
vim_edit
VIM エディタで insert、replace、replaceAll を使用して行を編集します。
入力
startLine(数値)、mode("insert"|"replace"|"replaceAll")、lines(文字列)insert は startLine に行を挿入します
replaceはstartLineから始まる行を置き換えます
replaceAllはバッファの内容全体を置き換えます
vim_ウィンドウ
Neovim ウィンドウを操作する (分割、vsplit、閉じる、移動)
入力
command(文字列: "split"、"vsplit"、"only"、"close"、"wincmd h/j/k/l")ウィンドウ管理操作を可能にする
vim_mark
特定の位置にマークを設定する
入力
mark(文字列:az)、line(番号)、column(番号)指定された位置に名前付きマークを設定します
vim_register
レジスタの内容を設定する
入力
register(文字列:azまたは ")、content(文字列)レジスタの内容を管理する
vim_visual
視覚的に選択する
startLine(数値)、startColumn(数値)、endLine(数値)、endColumn(数値) を入力します。ビジュアルモードの選択を作成します
このシンプルなツールセットを使用すると、Claude は neovim セッションを覗いて質問に答えたり、バッファーを編集したりすることができます。
制限事項
これはモデルコンテキストプロトコルを試すための簡単な概念実証です。自己責任でご利用ください。
カスタム neovim 構成とうまく連携しない可能性があります。
エラー処理は改善される可能性があります。
時々、Claude は vim コマンドを正しく入力できないことがあります。
構成
環境変数
ALLOW_SHELL_COMMANDS: シェルコマンド(例!ls)の実行を有効にするには、「true」に設定します。セキュリティ上の理由から、デフォルトは false です。NVIM_SOCKET_PATH: Neovimソケットのパスを設定します。指定されていない場合はデフォルトで「/tmp/nvim」になります。
Claude Desktopでの使用
これをclaude_desktop_config.jsonに追加します:
ライセンス
このMCPサーバーはMITライセンスに基づいてライセンスされています。つまり、MITライセンスの条件に従って、ソフトウェアを自由に使用、改変、配布することができます。詳細については、プロジェクトリポジトリのLICENSEファイルをご覧ください。
local-only server
The server can only run on the client's local machine because it depends on local resources.
Tools
Claude がすでに理解している Vim のネイティブのテキスト編集コマンドとワークフローを活用して、軽量のコード支援レイヤーを作成します。
Related MCP Servers
- AsecurityAlicenseAqualityShell and file edit capabilities tightly coupled to provide a powerful coding experience. You can work with different modes: architect and code-writer for separate plan and implementation phase. You can get it to invoke any cli command, e.g., compiling, type checking, linting, github cli, pythonLast updated -6602Apache 2.0
- -securityAlicense-qualityA comprehensive code analysis and management tool that integrates with Claude Desktop to analyze code at project and file levels, helping adapt changes to projects intelligently.Last updated -39MIT 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 -3
- AsecurityAlicenseAqualityAllows Claude to execute terminal commands on your computer and perform file system operations including surgical code editing with diff-based replacements.Last updated -1914,6146MIT License