Mcphub.nvim について
Mcphub.nvim は、MCP クライアントとして MCP サーバーを管理し、チャットプラグインから利用できるようにする Neovim プラグインです。編集作業の中で MCP サーバーを使いたい Neovim ユーザー向けです。ローカルとリモートの複数のトランスポートに対応し、Lua で MCP サーバーを直接記述できます。
主な機能
- 01ツール、リソース、プロンプトのサポート
- 02Streamable-HTTP、SSE、STDIO トランスポート
- 03リモートサーバー向けの OAuth とヘッダー認証
- 04Avante.nvim、CodeCompanion.nvim との連携
- 05プロジェクトローカル設定とグローバル設定のマージ
- 06Lua ネイティブ MCP サーバーとホットリロード対応の開発モード
活用シーン
- 01Neovim のチャットプラグインに MCP ツールとリソースを提供
- 02エディタ上で複数の MCP サーバーを管理・テスト
- 03ホットリロードを用いた Lua ネイティブ MCP サーバーのデバッグ
MCP 対応
MCP クライアントとして、ローカルおよびリモートの MCP サーバーに接続・起動・管理し、そのツール、リソース、プロンプトを Neovim のチャットプラグインに提供します。
詳細
MCP Hub は neovim 向けの MCP クライアントで、MCP(Model Context Protocol)サーバーを編集ワークフローにシームレスに統合します。お気に入りのチャットプラグインで MCP サーバーを管理、テスト、使用するための直感的なインターフェースを提供します。
💜 スポンサー
特別な感謝を捧げます:
## ✨ 機能| カテゴリ | 機能 | 対応状況 | 詳細 |
|---|---|---|---|
| 機能 | |||
| ツール | ✅ | 完全対応 | |
| 🔔 ツール一覧の変更 | ✅ | リアルタイム更新 | |
| リソース | ✅ | 完全対応 | |
| 🔔 リソース一覧の変更 | ✅ | リアルタイム更新 | |
| リソーステンプレート | ✅ | URI テンプレート | |
| プロンプト | ✅ | 完全対応 | |
| 🔔 プロンプト一覧の変更 | ✅ | リアルタイム更新 | |
| ルート | ❌ | 未対応 | |
| サンプリング | ❌ | 未対応 | |
| MCP サーバーのトランスポート | |||
| Streamable-HTTP | ✅ | リモートサーバー向けの主要なトランスポートプロトコル | |
| SSE | ✅ | リモートサーバー向けのフォールバックトランスポート | |
| STDIO | ✅ | ローカルサーバー向け | |
| リモートサーバーの認証 | |||
| OAuth | ✅ | PKCE フローを使用 | |
| ヘッダー | ✅ | API キー/トークン用 | |
| チャット連携 | |||
| Avante.nvim | ✅ | ツール、リソース、resourceTemplates、プロンプト(slash_commands として) | |
| CodeCompanion.nvim | ✅ | ツール、リソース、テンプレート、プロンプト(slash_commands として)、🖼 画像応答 | |
| CopilotChat.nvim | ✅ | ツール、リソース、関数呼び出しに対応 | |
| マーケットプレイス | |||
| サーバーの検索 | ✅ | 検証済みの MCP サーバーを閲覧 | |
| インストール | ✅ | 手動インストールと AI による自動インストール | |
| 設定 | |||
汎用 ${} 構文 | ✅ | すべてのフィールドで環境変数とコマンド実行に対応 | |
| VS Code との互換性 | ✅ | servers キー、${env:}、${input:}、定義済み変数に対応 | |
| JSON5 に対応 | ✅ | lua-json5 によるコメントと末尾のカンマ | |
| ワークスペース管理 | |||
| プロジェクトローカルの設定 | ✅ | グローバル設定との自動検出およびマージ | |
| 高度な機能 | |||
| スマートなファイル監視 | ✅ | 設定ファイルの監視によるスマートな更新 | |
| 複数インスタンス | ✅ | すべての Neovim インスタンス間で同期 | |
| シャットダウン遅延 | ✅ | ハブを停止する前の遅延を設定して、systemd サービスとして実行可能 | |
| Lua ネイティブ MCP サーバー | ✅ | 一度書けば、どこでも使えます。ツール、リソース、プロンプトを Lua で直接記述できます | |
| 開発モード | ✅ | 開発時にファイルの変更を検知して MCP サーバーをホットリロード |
🎥 デモ
MCP Hub + CodeCompanion + Github
MCP Hub + Avante + Figma
🚀 はじめに
詳しいガイドや使用例については、ドキュメントサイトをご覧ください。
👋 ヘルプ
- トラブルシューティングガイドをご覧ください。
- 質問、サポート、最新情報については、Discord サーバーにご参加ください。
:gift: コントリビューション
CONTRIBUTING.mdのガイドをお読みください。
🚧 TODO
- Neovim MCP サーバー(ある種のもの)を実現し、編集機能、差分表示、ターミナル連携などを改善する(アイデアをお待ちしています)
- 包括的なドキュメントを備えたヘルプビューを強化する
- チャットプラグインで MCP リソースを変数として使えるようにする
- チャットプラグインで MCP プロンプトをスラッシュコマンドとして使えるようにする
- LLM が MCP サーバーを動的に起動・停止できるようにする
- SSE トランスポートをサポートする
- avante で /slash_commands をサポートする
- streamable-http トランスポートをサポートする
- OAuth をサポートする
- 型を追加する
- ドキュメントを改善する
- テストを追加する
- avante で #variables をサポートする
👏 謝辞
以下の方々に感謝します。
- nui.nvim:テキストのハイライト表示ユーティリティの着想を提供してくれました
- ravitemer/mcp-registry:マーケットプレイス API を提供してくれました
コメント
Markdown 対応
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。










