🚀 MCP Gemini Google Search
MCP Gemini Google Search 是一個基於 Model Context Protocol (MCP) 的服務器,它藉助 Gemini 內置的 Grounding with Google Search 功能,提供谷歌搜索服務。本項目受到了 gemini-cli 中 GoogleSearch 工具的啟發。
🚀 快速開始
本項目為你提供了一個便捷的方式,通過 Gemini 內置的谷歌搜索功能,實現實時網絡搜索。按照以下步驟,你可以快速使用該服務。
✨ 主要特性
- 利用內置功能:使用 Gemini 內置的 Grounding with Google Search 功能。
- 實時搜索與引用:提供帶有來源引用的實時網絡搜索結果。
- 協議合規:符合 MCP 標準協議。
- 傳輸支持:支持標準輸入輸出傳輸。
- 多平臺支持:同時支持 Google AI Studio 和 Vertex AI。
📦 安裝指南
確保你已經安裝了 Node.js 18 或更高版本,並且擁有 Google AI Studio API 密鑰(可在 這裡獲取),或者啟用了 Vertex AI 的 Google Cloud 項目。
使用以下命令全局安裝項目:
npm install -g mcp-gemini-google-search
💻 使用示例
環境變量設置
Google AI Studio(默認)
export GEMINI_API_KEY="your-api-key-here"
export GEMINI_MODEL="gemini-2.5-flash"
Vertex AI
export GEMINI_PROVIDER="vertex"
export VERTEX_PROJECT_ID="your-gcp-project-id"
export VERTEX_LOCATION="us-central1"
export GEMINI_MODEL="gemini-2.5-flash"
Claude Code 配置
你可以使用 CLI 在 Claude Code 中設置此 MCP 服務器:
Google AI Studio
claude mcp add gemini-google-search \
-s user \
-e GEMINI_API_KEY="your-api-key-here" \
-e GEMINI_MODEL="gemini-2.5-flash" \
-- npx mcp-gemini-google-search
claude mcp add gemini-google-search \
-s project \
-e GEMINI_API_KEY="your-api-key-here" \
-e GEMINI_MODEL="gemini-2.5-flash" \
-- npx mcp-gemini-google-search
Vertex AI
claude mcp add gemini-google-search \
-s user \
-e GEMINI_PROVIDER="vertex" \
-e VERTEX_PROJECT_ID="your-gcp-project-id" \
-e VERTEX_LOCATION="us-central1" \
-e GEMINI_MODEL="gemini-2.5-flash" \
-- npx mcp-gemini-google-search
claude mcp add gemini-google-search \
-s project \
-e GEMINI_PROVIDER="vertex" \
-e VERTEX_PROJECT_ID="your-gcp-project-id" \
-e VERTEX_LOCATION="us-central1" \
-e GEMINI_MODEL="gemini-2.5-flash" \
-- npx mcp-gemini-google-search
Windows 用戶
在 Windows 上,使用 cmd /c
包裝 npx 命令:
claude mcp add gemini-google-search \
-e GEMINI_API_KEY="your-api-key-here" \
-- cmd /c npx mcp-gemini-google-search
可用工具
google_search
用於在谷歌上搜索信息。
參數:
示例:
latest TypeScript features
示例響應
看起來你在詢問 TypeScript 的最新特性。以下是基於提供的搜索結果總結的近期更新和關鍵特性:
**近期 TypeScript 更新中的關鍵特性**:
* **Satisfies 運算符**:此運算符允許你指定一個值符合特定類型,但不完全強制執行。[1,2]
* **Const 類型參數**:在類型參數中使用 `const` 可以為函數泛型提供更高的精度,有助於指定字面類型並防止不必要的轉換。[2] 這確保數組被視為不可變的,保持其字面類型。[2]
* **改進的枚舉類型**:枚舉更加健壯,特別是 `const enum`,它通過在編譯時內聯枚舉值來優化枚舉。[2] 從 5.0 版本開始,所有枚舉都被視為類型聯合,即使帶有計算值。[1]
* **模板字面類型**:模板字面類型更具表現力,允許你創建基於字面量的類型,類似於 JavaScript 模板字符串。[2]
* **帶區分聯合的聯合和交集類型**:TypeScript 對聯合和交集類型提供了更好的處理,這些類型常用於構建靈活的類型。[2] 區分聯合允許你輕鬆創建複雜結構並使用清晰的類型保護。[2]
* **新的 ECMAScript 集合方法**:支持 `union`、`intersection` 和 `difference` 等新方法,以實現更強大的集合操作。[3]
**TypeScript 5.8 亮點(2025 年 3 月)**:
* **Module Node18 標誌**:為固定使用 Node.js 18 的用戶提供一個穩定的參考點,不包含 `--module nodenext` 的某些行為。[4]
* **優化**:引入了優化措施,提高了構建程序和根據文件更改更新程序的時間,特別是在 `--watch` 模式或編輯器場景中。[4] 這包括避免在路徑規範化期間進行數組分配。[4]
* **導入斷言**:TypeScript 5.8 中的 `--module nodenext` 在遇到導入斷言時會發出錯誤,因為 Node.js 22 不再接受使用 `assert` 語法的導入斷言,建議使用 `with`。[4]
**其他值得注意的特性和改進**:
* **推斷類型謂詞**:改進了類型推斷,特別是在處理數組和過濾時。[3]
* **常量索引訪問的控制流縮小**:在訪問對象屬性時提供更好的類型縮小。[3]
* **正則表達式語法檢查**:對正則表達式進行基本的語法檢查,標記未閉合括號等錯誤。[3]
* **數組過濾修復**:在使用過濾函數時正確過濾數組類型。
* **對象鍵推斷修復**:改進了類型推斷。
**性能增強**:
* **Go 重寫**:承諾在 7.0 版本中用 Go 完全重寫 TypeScript,這在某些情況下顯示出顯著的速度提升(高達 10 到 15 倍)。[5] 這將影響編譯器 (`tsc`) 和 IDE 性能(加載、懸停、錯誤等)。[5] 團隊選擇 Go 是因為它與當前的 JavaScript 實現結構相似。[5]
* **TypeScript 5.0**:此更新旨在通過優化代碼、數據結構和簡化導入/導出操作來加速編碼過程並簡化開發。[6]
總之,TypeScript 不斷發展,推出新特性和改進,旨在提高開發者的生產力、代碼質量和性能。[6]
來源:
[1] edicomgroup.com (https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQFILdgh_4-Yh0OuwzDOqwCfvLGHdhm_PGhdAIzMK_DFwW38X9qK8b3Tj_ws2VZ2VLxWW_NJtuzot8B_wYYH4rOHBY_1HYZ7PyCHOCR3GzQpwQUi71ufAf6izU13O3W6GzjQAQnVjnheeRLLLf4mD7uueIS-g0yeivFo2XWZKJF4wtRtDfdTYjtHvRYmB7rY6Q==)
[2] dev.to (https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQFFMJOcmJDu8TUJsc6cKjVMDTR7ggjQMUc1aMAIVKRhbTq7Zjzh5f_h-UpZn6LE6xB-nTqUmQwHCiUmhvAZ_uYmzXIzNmJvtoDUjDcB9hJDw_aPPvJjd411APwVfiNvd3yhlrB7MFsnxH25-hxNetmoZJrriZ0mGm6ZaYbm0yMeiruDqC5mnqXJwuyGLMdrg-M3LpRAGrxVAT9b1veE)
[3] dev.to (https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQFfDcb-2QNwLZ0TpjSkNCWCvh-dvslYtllEMyyTXCSu-3jbOBD4vvq0j5Hqyuw8BcmEpKjBBeBZS83E-GCKax48hg5Oc1Fam6GQy296DxQkEQOfg7pvmnRhE3tdDbDCBqXKdYPonoR_AVLBAlGdKg==)
[4] microsoft.com (https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQEWKA9uZsB7lcOGcnOLveyjImsqVwNItCj3n3QiCrCkyL6iY4rA16Wp37FecAoKgX58lcDcBOuXye97fgw5SAbLwDkl3M-vCUK0I0HxtCx8qMaBVM42sxyFEQjn1iz4Qgzud3P7pDlc4frHf6Wkgs8nNcoIlMriePVOb0l9vmY=)
[5] totaltypescript.com (https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQFysE6zFlg_XiXfGqAiDapTIj2bsVWlkuq3Trpfacjd1a7gMDrUh35MKW-No9qdSKti68W3M2b1j6VqlnZ7v_yBOjE8hK_3d57U7UePyjMOUDdbBBGRK8CZeUug3hBOFsZjbnQoDdoL446oZL1R38gJrc9JvGmlWQno)
[6] rabitsolutions.com (https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQEY1brKmgxI5YOA1HrB89SnHNPyhm3Dlz-zumJMoi-wBegLSOjto360JJrA29TwVB8A02qHWZBtwua0QHn8NxAjWUCCkLxD7lZa_xW4Mtp8diiAXl1ppIWEHq6T7B1Mm6_dMs3lWoOKOJSjCUrk6-P4ao40V-nYULfPtA==)
🛠️ 開發指南
如果你想為這個項目做出貢獻,可以按照以下步驟操作:
git clone https://github.com/yukukotani/mcp-gemini-google-search.git
cd mcp-gemini-google-search
npm install
npm run dev
npm run build
npm run start
npm run inspect
使用 MCP Inspector 調試
運行 npm run inspect
將在瀏覽器中打開 MCP Inspector。這允許你:
📄 許可證
本項目採用 Apache License 2.0 許可協議。