GeminiDesktop MCP サーバー 2026:Claude Code / Cursor から Gemini ネイティブツールを直呼び
GeminiDesktop MCP サーバー 2026:Claude Code / Cursor から Gemini ネイティブツールを直呼び
結論から言うと: GeminiDesktop は Gemini エコシステムで最も価値のある 9 つのネイティブ能力(chat / generate_image / generate_video / generate_music / tts / embed / generate_audio_overview / rag_index / rag_query)を 1 本の stdio MCP サーバーとして公開します。GeminiDesktop.app をインストール済みなら、CLI も MCP サーバーもすでに入っています。npm publish 不要、pip install 不要、グルーコードゼロ。Claude Code なら claude mcp add を 1 行流すだけで、コードを書きながら Gemini に Nano Banana 2 でカバー画像を作らせたり、ローカル RAG を叩いたりできます。
ワンライナー: 1 本の Rust バイナリ、3 つの入口モード(GUI / CLI / MCP)。Rust + rmcp + stdio は現時点で最も軽い実装。BYOK は環境変数優先、Tauri store はフォールバック。Claude Code と Cursor が REST ラッパーではなく本物の Gemini ネイティブツールを手に入れます。
2026 年の MCP エコシステム:誰が server を出していて誰が出していないか
MCP(Model Context Protocol)は 2024 年末に Anthropic がオープンソース化して以降、3 層のエコシステムに落ち着きました。
- 公式リファレンス層:Anthropic が
modelcontextprotocol/serversで filesystem / github / slack / puppeteer を維持。品質は高いがカバレッジは狭い。 - コミュニティラッパー層:個人開発者が
@modelcontextprotocol/sdkで REST API を包む。品質はまちまちで、Gemini・Claude・OpenAI は今も first-party MCP server を出していない。 - 製品同梱層:Linear や Sentry のように自社アプリに MCP server を組み込んでおり、インストールすれば既にある状態。
GeminiDesktop は第三の道を選びました。アプリをインストールすれば自動的に /Applications/GeminiDesktop.app/Contents/MacOS/GeminiDesktop mcp が入口として存在します。Claude Code / Cursor ユーザーにとって最も摩擦の少ない接続方法です。
なぜ Rust + rmcp + stdio を選んだか
MCP サーバー実装の現実的な 3 つのスタック:
| スタック | 起動時間 | バイナリサイズ | 再利用性 | 向いている用途 |
|---|---|---|---|---|
Node + @modelcontextprotocol/sdk |
300-800ms(Node 起動込み) | 別パッケージ ~50MB | 独立 | プロトタイプ、スタンドアロン server |
Python + mcp |
500-1000ms | 別デプロイ | 独立 | データサイエンス系 |
Rust + rmcp crate + stdio |
< 50ms | GUI バイナリを再利用、追加 0 | GUI / CLI と同プロセス・同コード | 製品同梱型 MCP |
GeminiDesktop はもともと Tauri 2.x + Rust のデスクトップアプリです。rmcp crate(公式 Rust SDK)を入れて main.rs に mcp サブコマンドを 1 本追加するだけで、Gemini API 呼び出しのロジックは GUI と共有されます。バグ修正も 1 か所で済み、3 つのエントリー全部に同時反映されます。
stdio トランスポートの選択も自然です。Claude Code、Cursor、Continue といった主要 MCP クライアントはすべて子プロセスを spawn して stdio で通信するため、HTTP ポートも OAuth もいりません。
単一バイナリ:GeminiDesktop.app を入れれば同梱済み
従来は「GUI をダウンロード + 別に npm install @xxx/mcp-server」という手順でした。ユーザーは 2 回インストール・2 回アップデート・2 回 API キー設定が必要です。GeminiDesktop では:
# GeminiDesktop.app インストール後、同じバイナリが 3 つの入口モードを提供
/Applications/GeminiDesktop.app/Contents/MacOS/GeminiDesktop # GUI モード
/Applications/GeminiDesktop.app/Contents/MacOS/GeminiDesktop chat # CLI モード
/Applications/GeminiDesktop.app/Contents/MacOS/GeminiDesktop mcp # MCP モード
3 モードで共有されるもの:
- 設定:同じ Tauri store(
~/Library/Application Support/app.geminidesktop.desktop/) - API キー:GUI で 1 度設定すれば CLI/MCP でもそのまま使える
- キャッシュ:Gemini のモデル一覧、embedding キャッシュ、RAG インデックスも共有
- アップグレード:Tauri の updater が GUI を更新すると CLI と MCP も同時に更新
ユーザー視点:1 度のインストールで 3 つとも動く。npm publish なし、バージョンずれなし。
公開される 9 つのツール
| ツール名 | 機能 | 典型的な用途 |
|---|---|---|
chat |
通常の Gemini チャット | Claude が書いたコードのセカンドオピニオン |
generate_image |
Imagen / Nano Banana 2 で画像生成 | ブログ執筆中のカバー画像 |
generate_video |
Veo 3 テキスト→動画 | プロダクトデモクリップ、ヒーロー動画 |
generate_music |
Lyria によるサウンドトラック | ポッドキャストのイントロ、動画 BGM |
tts |
Gemini TTS(多声・多言語) | 記事→ポッドキャスト、音声デモ |
embed |
gemini-embedding-001(768 次元) | クライアント側 RAG 前処理 |
generate_audio_overview |
NotebookLM 風ダブルホストポッドキャスト | 長文を 10 分の通勤ポッドキャストに |
rag_index |
ファイル/フォルダをローカル sqlite-vec に索引 | Claude が編集中のコードベースを索引 |
rag_query |
ローカル sqlite-vec から top-k 検索 | 「ノートから XXX の実装を探して」 |
前 7 つは Gemini のクラウド能力、後ろ 2 つは GeminiDesktop 独自の ローカル RAG です — アップロードせずに、すべてローカルの SQLite ファイルに入ります。実装詳細は ローカル sqlite-vec RAG:50 万字のノートを 200 MB ファイルで索引化 を参照してください。
Claude Code:1 行でインストール
Claude Code 0.6 以降は claude mcp add でコマンドラインから server を登録できます:
# macOS
claude mcp add geminidesktop -- /Applications/GeminiDesktop.app/Contents/MacOS/GeminiDesktop mcp
# Windows
claude mcp add geminidesktop -- "C:\Program Files\GeminiDesktop\GeminiDesktop.exe" mcp
# 検証
claude mcp list
# geminidesktop (stdio) - 9 tools available が出れば OK
あとは Claude Code の任意の会話で:
> 書き終わった README 用にカバー画像を作って、1600x900 の横長で。
Claude が自動で generate_image を選び、裏で Nano Banana 2 を呼び、画像をプロジェクトに保存してパスを返してくれます。ターミナルを離れる必要はありません。
Cursor settings.json 1 ブロック
Cursor 0.46 以降は MCP をネイティブサポートします。~/.cursor/settings.json に以下を追加:
{
"mcp": {
"servers": {
"geminidesktop": {
"command": "/Applications/GeminiDesktop.app/Contents/MacOS/GeminiDesktop",
"args": ["mcp"],
"env": {}
}
}
}
}
Claude Code との違い:
- Claude Code:CLI 駆動(
claude mcp add)、~/.claude/mcp.jsonに保存 - Cursor:手動で JSON 編集、管理 CLI はまだない
- 共通:stdio トランスポート、同じバイナリ、共有 API キー
Cursor Composer(Cmd+I)で「generate an image of…」と言えば、自動で該当 MCP ツールを選んでくれます。
BYOK の優先順位:環境変数 > Tauri store
GeminiDesktop の API キー解決順序:
GEMINI_API_KEY環境変数(最優先)— CI、一時的な上書き、プロジェクト別キーに最適- Tauri store(
~/Library/Application Support/app.geminidesktop.desktop/config.json)— GUI で設定した永続キー - エラー — Google がホストする共有キーへフォールバックしない(クォータ漏れ防止)
この順序の利点:
- プロジェクトごとに別キーを使いたいとき、
export GEMINI_API_KEY=xxxしてから Claude Code / Cursor を起動するだけ - CI/チーム共有:Tauri store にキーを書かない(rsync や誤コミットのリスク)、env で注入
- 個人ユーザー:GUI で 1 度設定、CLI/MCP はすべてそのキーを継承、設定ゼロ
実践:Claude Code で Gemini に配図させつつ RAG を叩く
典型的なブログ執筆フロー:
[あなた] 「React Server Components で AI チャットを作る」という
ブログを書いてる。まず ~/notes の RSC 関連ノートを探して。
[Claude] geminidesktop.rag_query を呼びます...
高スコアのノート 3 件:
1. 2025-11-20-rsc-streaming.md (score 0.89)
2. 2025-09-03-ai-chat-patterns.md (score 0.84)
3. 2026-02-14-use-server-actions.md (score 0.78)
これらを踏まえたアウトライン:...
[あなた] いいね、各 H2 セクションにカバー画像を 1 枚ずつ。
[Claude] geminidesktop.generate_image x 5 を呼びます...
./images/ に 5 枚保存しました。
Claude がローカル文脈(RAG)と マルチモーダル生成(Gemini)を同時に得ており、すべては 1 本の MCP バイナリ経由です。別タブも、キー切り替えも、グルーコードも不要。
詳細な実装メモは geminidesktop.app と Claude Code Skills を GeminiDesktop に移行する方法 を参照してください。
よくある質問
Q1: Gemini の REST API を直接叩くのと何が違うのですか?
A: REST だと fetch を書き、auth を処理し、rate limit を管理する必要があります。MCP はそれらを「ツール」にカプセル化し、Claude Code / Cursor が会話文脈から自動で呼びます。コード不要、グルー不要です。
Q2: GeminiDesktop を入れずにこの MCP サーバーだけ使えますか?
A: 現状は不可です。設計上「GUI + CLI + MCP が 1 本のバイナリを共有」にすることで設定とキャッシュを最大限再利用しています。どうしても headless だけが必要なら GitHub release に headless ビルドがありますが、auto-update は付きません。
Q3: Windows / Linux サポートは?
A: macOS と Windows はファーストクラス。Linux はコミュニティ維持の AppImage で、MCP モードも同様に利用可能です。
今すぐ始める
- 公式サイト:https://geminidesktop.app
- BibiGPT:https://bibigpt.co
- デスクトップダウンロード:https://bibigpt.co/download/desktop
- 機能一覧:https://bibigpt.co/features