{"_id":"@cainmaila/gemini-cli-mcp","_rev":"2-04cb14acba5f4624f916e6f4cf5c558f","name":"@cainmaila/gemini-cli-mcp","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@cainmaila/gemini-cli-mcp","version":"1.0.0","keywords":["mcp","model-context-protocol","gemini","gemini-cli","ai","llm","claude","ai-delegation"],"author":{"name":"cain.chu","email":"cain.chu@dgiots.com"},"license":"MIT","_id":"@cainmaila/gemini-cli-mcp@1.0.0","maintainers":[{"name":"cain.chu","email":"cainmaila@gmail.com"}],"homepage":"https://github.com/cainmaila/gemini-cli-mcp#readme","bugs":{"url":"https://github.com/cainmaila/gemini-cli-mcp/issues"},"bin":{"gemini-cli-mcp":"build/index.js"},"dist":{"shasum":"29af358ceb9e3b7164db8bf592c807a3fede3c7b","tarball":"https://registry.npmjs.org/@cainmaila/gemini-cli-mcp/-/gemini-cli-mcp-1.0.0.tgz","fileCount":31,"integrity":"sha512-TpHYM4iGyboqMy16JQHHK6oX6OzLRVtp9u/w2pyRI8VGPTneRjh5guwNlIAxpgjBXvtWKc4ajQKg3VO7Ttng2w==","signatures":[{"sig":"MEYCIQCPD4rsjOvkHEnEkBx59Qaf8opbDWGr2SiYbZUoQvIq5wIhAI49Sr5bsItvIxExUQaHJA46wB5f75v6OvUwStipAqZl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99129},"type":"module","engines":{"node":">=18.18.0"},"gitHead":"6f3329dc742ef62c27d0c7211f9ef70fe99704ae","scripts":{"dev":"tsx src/index.ts","lint":"tsc --noEmit -p tsconfig.json","test":"vitest run","build":"tsc -p tsconfig.json"},"_npmUser":{"name":"cain.chu","email":"cainmaila@gmail.com"},"repository":{"url":"git+https://github.com/cainmaila/gemini-cli-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"MCP server that delegates prompt execution to a locally installed Gemini CLI","directories":{},"_nodeVersion":"25.3.0","dependencies":{"zod":"^4.3.6","@modelcontextprotocol/sdk":"^1.27.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.4.0"},"_npmOperationalInternal":{"tmp":"tmp/gemini-cli-mcp_1.0.0_1773299220513_0.9540743846277515","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@cainmaila/gemini-cli-mcp","version":"1.0.1","description":"MCP server that delegates prompt execution to a locally installed Gemini CLI","type":"module","bin":{"gemini-cli-mcp":"build/index.js"},"engines":{"node":">=18.18.0"},"scripts":{"build":"tsc -p tsconfig.json","dev":"tsx src/index.ts","lint":"tsc --noEmit -p tsconfig.json","test":"vitest run"},"keywords":["mcp","model-context-protocol","gemini","gemini-cli","ai","llm","claude","ai-delegation"],"author":{"name":"cain.chu","email":"cain.chu@dgiots.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/cainmaila/gemini-cli-mcp.git"},"homepage":"https://github.com/cainmaila/gemini-cli-mcp#readme","bugs":{"url":"https://github.com/cainmaila/gemini-cli-mcp/issues"},"dependencies":{"@modelcontextprotocol/sdk":"^1.27.1","zod":"^4.3.6"},"devDependencies":{"@types/node":"^25.4.0","tsx":"^4.21.0","typescript":"^5.9.3","vitest":"^4.0.18"},"gitHead":"7b2f8a2972f1835b1b17d88196bc4d413c10f967","_id":"@cainmaila/gemini-cli-mcp@1.0.1","_nodeVersion":"25.3.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-TElut4vZYb/V5krN5P5vwhQQt6A1BW4nokGC1Zh/nvbX9X297EPkVh5hWhL4MvVij3EtHHqs3UaDmCs6aGkk6A==","shasum":"1d030e24a9eb158b345c06c484a332e93c3f29eb","tarball":"https://registry.npmjs.org/@cainmaila/gemini-cli-mcp/-/gemini-cli-mcp-1.0.1.tgz","fileCount":31,"unpackedSize":101559,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCID8gWOk4gxFXqnALL1uMcZlh02hYhVh1dV89zaRCDGQcAiEA5cqQMEhPrDr6nSbBFLyTnR16vRcfOo8sIXdN0D2jzgk="}]},"_npmUser":{"name":"cain.chu","email":"cainmaila@gmail.com"},"directories":{},"maintainers":[{"name":"cain.chu","email":"cainmaila@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/gemini-cli-mcp_1.0.1_1773305166494_0.41046371914958524"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-12T07:07:00.410Z","modified":"2026-03-12T08:46:06.792Z","1.0.0":"2026-03-12T07:07:00.699Z","1.0.1":"2026-03-12T08:46:06.629Z"},"bugs":{"url":"https://github.com/cainmaila/gemini-cli-mcp/issues"},"author":{"name":"cain.chu","email":"cain.chu@dgiots.com"},"license":"MIT","homepage":"https://github.com/cainmaila/gemini-cli-mcp#readme","keywords":["mcp","model-context-protocol","gemini","gemini-cli","ai","llm","claude","ai-delegation"],"repository":{"type":"git","url":"git+https://github.com/cainmaila/gemini-cli-mcp.git"},"description":"MCP server that delegates prompt execution to a locally installed Gemini CLI","maintainers":[{"name":"cain.chu","email":"cainmaila@gmail.com"}],"readme":"<div align=\"center\">\n  <img src=\"./assets/banner.svg\" alt=\"Gemini CLI MCP Banner\" width=\"100%\" />\n\n# 🤖 Gemini CLI MCP Server\n\n_輕量、無縫的 AI 本地代理協作工具_\n\n[![npm version](https://img.shields.io/npm/v/gemini-cli-mcp.svg?style=flat-square)](https://www.npmjs.org/package/gemini-cli-mcp)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)](https://opensource.org/licenses/MIT)\n[![Node.js Version](https://img.shields.io/node/v/gemini-cli-mcp.svg?style=flat-square)](#要求條件)\n\n[**English**](./README.md) · [**繁體中文**](./README.zh-TW.md)\n\n</div>\n\n---\n\n## 🌟 為什麼選擇 Gemini CLI MCP？\n\n`gemini-cli-mcp` 是一個強大的 Model Context Protocol (MCP) 伺服器，能讓你的 AI 助理將複雜的任務直接委託給本地安裝的 Gemini CLI。\n\n本伺服器不會在遇到錯誤時只拋出籠統的例外訊息，而是會將 **結構化的執行結果與完整的執行 Metadata** 一併回傳。這使得它成為處理「AI 委託另一位 AI」場景，並且進行深度除錯時不可或缺的利器。\n\n### ✨ 核心亮點\n\n- **🚀 零摩擦認證**：直接運用你本地端現有的 Gemini CLI 設定與驗證授權，隨插即穿。\n- **🔌 完美接軌標準 MCP**：透過 `stdio` 無頭 (Headless) 運行，完美契合標準的 MCP 客戶端架構。\n- **🛠️ 任務導向設計**：提供 `executeTask` 以獲取直接答案，也能使用降級介面 `executePrompt` 來獲得精準的 Prompt 控制權。\n- **🎨 原生圖片生成支援**：無縫接軌本地端的 `nanobanana` 擴充套件，輕鬆生成圖像並回傳路徑。\n- **🔍 深度環境檢測**：一鍵掃描當前本地端可用的 Gemini CLI 指令、擴充套件、Skills 以及設定檔中的 MCP Server。\n\n---\n\n## 📦 安裝說明\n\n一般使用情境下，應直接安裝已發佈的 npm 套件，或透過套件管理器即時執行。請先確認你已安裝 [Node.js 18.18+](https://nodejs.org/) 並完成本地 Gemini CLI 驗證設定。\n\n```bash\n# npm 全域安裝\nnpm install -g @cainmaila/gemini-cli-mcp\n\n# pnpm 全域安裝\npnpm add -g @cainmaila/gemini-cli-mcp\n\n# 不做全域安裝，直接執行\nnpx -y @cainmaila/gemini-cli-mcp\n```\n\n發佈到 npm 的套件名稱是 `@cainmaila/gemini-cli-mcp`，但安裝後實際可執行的命令名稱是 `gemini-cli-mcp`。\n\n如果你使用 `pnpm add -g`，要特別確認 MCP 客戶端啟動時看得到你的 `PNPM_HOME` 或全域 bin 目錄。許多桌面型 MCP client 不會沿用互動式 shell 的 `PATH`，因此即使安裝成功，也可能出現找不到 `gemini-cli-mcp` 的錯誤。\n\n如果你的目的不是使用已發佈套件，而是要開發這個 repository 本身，請改看 [DEVELOPMENT.md](DEVELOPMENT.md) 的本地開發流程。\n\n---\n\n## 🚀 快速上手與使用方法\n\n### 啟動伺服器\n\n由於這是一個 MCP 伺服器，它被設計成透過 `stdio` 溝通，並且應該由你的 MCP 客戶端應用程式來啟動：\n\n```bash\ngemini-cli-mcp\n```\n\n### MCP 客戶端設定範例\n\n將以下配置加入你所使用的 AI 助理之 MCP 設定檔中：\n\n```json\n{\n  \"mcpServers\": {\n    \"gemini-cli\": {\n      \"command\": \"gemini-cli-mcp\"\n    }\n  }\n}\n```\n\n如果你的 MCP client 對全域命令的 PATH 解析不穩定，建議改用以下其中一種寫法：\n\n```json\n{\n  \"mcpServers\": {\n    \"gemini-cli\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@cainmaila/gemini-cli-mcp\"]\n    }\n  }\n}\n```\n\n```json\n{\n  \"mcpServers\": {\n    \"gemini-cli\": {\n      \"command\": \"node\",\n      \"args\": [\"/已安裝套件的絕對路徑/build/index.js\"]\n    }\n  }\n}\n```\n\n若你直接在終端機執行 `gemini-cli-mcp`，那通常只能當 smoke test。它會持續等待來自 MCP client 的 `stdio` 通訊，所以看起來像「沒反應」其實是正常行為。\n\n---\n\n## 🛠️ 強大的可用工具 (Tools)\n\n<details>\n<summary><b><code>executeTask</code>（最推薦使用）</b></summary>\n\n這是上游 AI 系統的最佳預設工具。當你需要 Gemini CLI 幫你完成一項任務並直接回傳解答時，選這個就對了！如果任務牽涉修改檔案，伺服器還會自動啟用 Auto-Edit 核准模式。\n\n**輸入範例：**\n\n```json\n{\n  \"task\": \"請查詢台北市今天的天氣，並用繁體中文簡短回答：天氣概況、溫度、降雨機率、以及一個外出建議。\",\n  \"expectedOutput\": \"直接回答，不要寫前言。\",\n  \"timeoutMs\": 180000\n}\n```\n\n**輸出範例：**\n\n```json\n{\n  \"answer\": \"台北今天多雲到晴，約 11°C 至 19°C，降雨機率低，建議早晚加外套。\",\n  \"ok\": true,\n  \"stdout\": \"...\",\n  \"stderr\": \"...\",\n  \"exitCode\": 0,\n  \"elapsedMs\": 23053\n}\n```\n\n</details>\n\n<details>\n<summary><b><code>executePrompt</code></b></summary>\n\n專為需要精確控制 Prompt 參數的呼叫者所準備的底層介面。\n\n**輸入範例：**\n\n```json\n{\n  \"prompt\": \"Summarize the current repository\",\n  \"model\": \"gemini-2.5-pro\",\n  \"timeoutMs\": 60000\n}\n```\n\n**輸出範例：**\n\n```json\n{\n  \"ok\": true,\n  \"finalText\": \"...\",\n  \"stdout\": \"...\",\n  \"stderr\": \"\",\n  \"exitCode\": 0,\n  \"elapsedMs\": 1532\n}\n```\n\n</details>\n\n<details>\n<summary><b><code>executeImageTask</code></b></summary>\n\n支援本地 `nanobanana` 擴充套件的穩健圖片生成介面。預設會啟用 YOLO 模式以自動繞過互動式認證提示，實現全自動生成！\n\n**輸入範例：**\n\n```json\n{\n  \"prompt\": \"一隻可愛的橘貓肖像，乾淨明亮的背景\",\n  \"count\": 1,\n  \"timeoutMs\": 180000\n}\n```\n\n**輸出範例：**\n\n```json\n{\n  \"ok\": true,\n  \"responseText\": \"/path/to/project/nanobanana-output/cat.png\",\n  \"imagePaths\": [\"/path/to/project/nanobanana-output/cat.png\"],\n  \"primaryImagePath\": \"/path/to/project/nanobanana-output/cat.png\",\n  \"exitCode\": 0,\n  \"elapsedMs\": 12000\n}\n```\n\n</details>\n\n<details>\n<summary><b><code>inspectGeminiCli</code></b></summary>\n\n用來動態探索本地 Gemini CLI 環境的利器。它會掃描並回報頂層指令、擴充套件、可用 Skills 以及所有的 MCP 伺服器狀態。\n\n**輸入範例：**\n\n```json\n{\n  \"includeModelReportedTools\": true,\n  \"timeoutMs\": 60000\n}\n```\n\n</details>\n\n---\n\n## ⚙️ 進階環境變數 (Overrides)\n\n若需要客製化伺服器行為，你可以設定以下環境變數：\n\n| 變數名稱             | 說明                        | 預設值    |\n| -------------------- | --------------------------- | --------- |\n| `GEMINI_CLI_PATH`    | 覆蓋 Gemini CLI 執行檔路徑  | `gemini`  |\n| `GEMINI_PROMPT_FLAG` | 覆蓋傳遞 Prompt 使用的 Flag | `-p`      |\n| `GEMINI_MODEL_FLAG`  | 覆蓋指定外部模型的 Flag     | `--model` |\n\n---\n\n## 📚 注意事項與貢獻\n\n- **身份驗證**：本伺服器底層直接依賴你本地主機已設定好的 Gemini CLI 授權。\n- **強健的除錯機制**：如果本地的 Gemini CLI 發生問題或遺失配置，工具將回傳包含詳細狀態細節的 Json 物件，而不是無聲無息的崩潰。\n- **想參與開發？** 請詳閱 [DEVELOPMENT.md](DEVELOPMENT.md) 開發者文件。\n\n<br/>\n<div align=\"center\">\n  <i>專為下一代 AI 代理協作而生。</i>\n</div>\n","readmeFilename":"README.zh-TW.md"}