Gemini研究工具MCP
Gemini API 的各种调查功能MCP Server / Web UI / CLI / ADK Tool 中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。Gemini API 中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。
🎯 概要
此项目包括:Google Gemini API 的三个强大的研究功能集成提供:
功能|说明|延迟|用例| | ----------------- | ----------------------------------------------- | ---------- | ------------------------------------------ | | 深入研究 | Interactions API 来定义自定义外观Deep Research | 分钟单位|详细报告、市场分析、竞争调查| | 快速搜索 | Google Search grounding 更快Web 搜索|秒单位|最新新闻、数值检查、简单问题| | URL分析 | URL Context tool 确定URL 的分析·比较|秒单位|文章比较、文档摘要、代码分析|
提供接口
- MCP 服务器 - Cline 等的MCP 从客户端调用为工具
- 网页用户界面 - Streamlit 基于简单的网络接口
- ADK工具 - Google ADK 用作代理工具
- 命令行界面 -从命令行运行
- Dify插件 - Dify 用作平台插件
📋 前提条件
- Python 3.11+
- Gemini API密钥(谷歌AI工作室 获得)
🚀 安装
# リポジトリをクローン
git clone https://github.com/atakamizawa/gemini-research-tools-mcp.git
cd gemini-research-tools-mcp
# 仮想環境を作成(推奨)
python -m venv venv
source venv/bin/activate # Linux/Mac
# または
.\venv\Scripts\activate # Windows
# 依存パッケージをインストール
pip install -e ".[all]"
# 環境変数を設定
cp .env.example .env
# .env ファイルを編集して GEMINI_API_KEY を設定🔧 使用方法
1.MCP服务器
MCP 可从客户端(VS Code GitHub Copilot、Cline等)作为工具调用。
起动方法
方法|命令|用途| | ---------------------- | ------------------------------------------------------------------------- | -------------- | 本地克隆 grt-mcp 开发、定制 | GitHub 直接(uvx) uvx --from git+https://github.com/atakamizawa/gemini-research-tools-mcp grt-mcp 不需要克隆,立即使用
客户端设置
VS Code (GitHub Copilot Chat)
配置文件: 命令选项板- MCP: Open User Configuration 或 .vscode/mcp.json
{
"servers": {
"gemini-research-tools": {
"command": "grt-mcp",
"env": { "GEMINI_API_KEY": "your-api-key" }
}
}
}uvx 使用时 "command": "uvx" + "args": ["--from", "git+https://github.com/atakamizawa/gemini-research-tools-mcp", "grt-mcp"] 中所述修改相应参数的值。
Cline
配置文件:
- Mac/Linux:
~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json - 窗户:
%APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
{
"mcpServers": {
"gemini-research-tools": {
"command": "grt-mcp",
"env": { "GEMINI_API_KEY": "your-api-key" }
}
}
}uvx 使用时 "command": "uvx" + "args": ["--from", "git+https://github.com/atakamizawa/gemini-research-tools-mcp", "grt-mcp"] 中所述修改相应参数的值。
💡 注:.env在文件中GEMINI_API_KEY对话框,您可以在此定义自定义格式env不需要在节中指定。
可用工具
🔬 Deep Research 工具(以分钟为单位,全面报告)
Interactions API 中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。
工具名称|说明|延迟| | ----------------------- | ---------------------------------- | ---------- | | deep_research 关于主题Deep Research 执行|分钟单位| | get_research_status 确认调查状态,以秒为单位 | get_research_result 获取完成的研究结果,以秒为单位 | ask_followup_question |跟踪提问|秒单位| | stream_research 在流式传输中运行研究
🔍 Quick Search 工具(以秒为单位,轻量搜索)
Google Search grounding 中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积Web 快速获取信息。
工具名称|说明|延迟| | -------------- | ----------------------------------- | ---------- | | quick_search | Google Search 使用高速Web 搜索|以秒为单位|
🔗 URL Analysis 工具(以秒为单位,指定URL 的分析)
URL Context tool 中描述的相应参数的值URL 的内容。
工具名称|说明|延迟| | -------------------- | --------------------------- | ---------- | | analyze_urls | 特定 URL の内容を分析・比較 | 秒単位 | | search_and_analyze | Web 查找+URL 分析组合|以秒为单位|
工具使用指南
|用途|推荐工具|理由| | ---------------------------- | -------------------- | ---------------------- | 查看最新新闻 quick_search 高速、实时信息 回答简单的问题 quick_search 以秒为单位回答 |特定报道的概要、比较| analyze_urls | URL 直接分析 |确定搜索结果URL 比较 search_and_analyze 组合两种功能 综合市场分析 deep_research 集成多个源 详细报告 deep_research 引用的长句报告 |竞争分析・负载可靠性| deep_research 需要深入分析
使用例(Cline)
Quick Search(高速):
User: "今日のAI関連ニュースを教えて"
Cline: quick_search ツールを使用します...
[数秒後]
検索結果: 本日のAI関連ニュースをお伝えします...URL 分析:
User: "この2つの記事を比較して: https://example.com/article1 https://example.com/article2"
Cline: analyze_urls ツールを使用します...
[数秒後]
分析結果: 2つの記事の主な違いは...Deep Research(包括的):
User: "量子コンピュータの最新動向について詳しく調べて"
Cline: deep_research ツールを使用します...
[数分後]
リサーチ結果:
# 量子コンピュータの最新動向レポート
## エグゼクティブサマリー
...
## 主要な発見
...
## 引用
[1] https://...
[2] https://...2.Web用户界面
# Streamlit UIを起動
streamlit run src/ui/app.py在浏览器中 http://localhost:8501 的双曲正切值。
机能:
- 输入研究查询
- 格式化
- 实时流显示
- 状态确认
- 跟踪问题
3.CLI
# Deep Research を実行
grt research "量子コンピュータの最新動向"
# ストリーミングで実行
grt research "AI trends in 2025" --stream
# フォーマット指定付き
grt research "EV batteries" -f "比較表を含めてください" -o report.md
# 状態確認
grt status
# 結果取得
grt result
# フォローアップ質問
grt followup "主なリスクは何ですか?"4.ADK工具
from google.adk.agents import Agent
from src.adk.tools import deep_research, get_research_status
agent = Agent(
name="research_assistant",
model="gemini-3-flash-preview",
tools=[deep_research, get_research_status],
instruction="You are a research assistant that can perform deep research."
)5.Dify插件
迪菲 可作为平台插件使用。
安装
# プラグインをパッケージ化
cd src
dify plugin package ./dify
# 生成された gemini-research.difypkg を Dify にアップロード可用工具
工具名称|说明|延迟| | --------------------- | ----------------------------------------------- | ---------- | | deep_research | Gemini Deep Research Agent 的全面调查|分钟单位| | get_research_status 调查任务的状态确认|秒单位| | get_research_result 取得完成的调查结果|秒单位| | quick_search | Google Search grounding 快速搜索 | analyze_urls | 特定 URL の内容分析 | 秒単位 | | search_and_analyze | Web 查找+URL 分析组合|以秒为单位|
了解更多信息 src/dify/README.md 来修改标记元素的显示属性。
📁 项目结构
gemini-research-tools-mcp/
├── src/
│ ├── core/ # コアライブラリ
│ │ ├── client.py # DeepResearchClient, QuickSearchClient
│ │ └── models.py # Pydanticモデル
│ ├── mcp/ # MCPサーバー
│ │ └── server.py # FastMCP実装(8ツール提供)
│ ├── adk/ # ADKツール
│ │ └── tools.py # ADKカスタムツール
│ ├── cli/ # CLIツール
│ │ └── main.py # Typer CLI
│ ├── ui/ # Web UI
│ │ └── app.py # Streamlit
│ └── dify/ # Dify プラグイン
│ ├── main.py # プラグインエントリーポイント
│ ├── manifest.yaml
│ ├── provider/ # プロバイダー設定
│ └── tools/ # ツール実装
├── tests/ # テスト
├── pyproject.toml
├── requirements.txt
└── README.md⚙️ 设定
环境变数
| 变数名 | 必须 | 说明 |
|---|---|---|
GEMINI_API_KEY | ✅ | Gemini API 关键字 |
模型选择
功能|模型选择|可用模型| | ---------------------- | ---------- | -------------------------------------------------------------- | | 深入研究 | ❌ 不可|代理 deep-research-pro-preview-12-2025 固定 | | 快速搜索 | ✅ 可能 | gemini-3-flash-preview(默认), gemini-3-pro-preview | | URL分析 | ✅ 可能 | gemini-3-flash-preview(默认), gemini-3-pro-preview | | 搜索和分析 | ✅ 可能 | gemini-3-flash-preview(默认), gemini-3-pro-preview |
📝 API 引用
DeepResearch客户端
Interactions API 使用Deep Research 客户机。
from src.core.client import DeepResearchClient
client = DeepResearchClient()
# リサーチを開始して完了まで待機
result = await client.research("Your query")
print(result.content)
# リサーチを開始(非同期)
interaction_id = await client.start_research("Your query")
# 状態確認
status = await client.get_status(interaction_id)
# 結果取得
result = await client.get_result(interaction_id)
# ストリーミング
async for event in client.stream_research("Your query"):
print(event.content)
# フォローアップ
answer = await client.ask_followup(interaction_id, "Your question")快速搜索客户端
Google Search grounding 和URL Context 中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。
from src.core.client import QuickSearchClient
client = QuickSearchClient()
# 高速Web検索(Google Search grounding)
result = await client.quick_search("最新のAIニュース")
print(result.content)
for citation in result.citations:
print(f"- {citation.title}: {citation.url}")
# URL分析(URL Context tool)
result = await client.analyze_urls(
urls=["https://example.com/article1", "https://example.com/article2"],
query="これらの記事の主な違いを比較してください"
)
print(result.content)
# 検索 + URL分析のコンボ
result = await client.search_and_analyze(
query="最新のEV市場動向と、この記事の内容を比較してください",
urls=["https://example.com/ev-report-2024"]
)
print(result.content)⚠️ 注意事项
深度研究(交互API+深度研究代理)
- 実行时间:可能需要几分钟-最多60分钟
- 成本:每个任务大约$2到$5(取决于查询的复杂性)
- 制限:自定义Function Calling 啊Remote MCP 不支持
- 代理:
deep-research-pro-preview-12-2025(固定、不可选择模型) - API:
client.interactions.create(agent="deep-research-pro-preview-12-2025")
快速搜索(谷歌搜索基础)
- 実行时间:通常在几秒钟内完成
- 成本:标准Gemini API 费用(基于令牌)
- 模型:
gemini-3-flash-preview(默认)或gemini-3-pro-preview - API:
types.Tool(google_search=types.GoogleSearch())
URL分析(URL上下文工具)
- 実行时间:通常在几秒钟内完成
- 模型:
gemini-3-flash-preview(默认)或gemini-3-pro-preview - API:
types.Tool(url_context=types.UrlContext()) - 制限:
- 最多20个URL/请求 - 最大 34MB/URL - 支付墙YouTube 视频:Google Workspace 不支持文件
🔗 相关链接
Gemini API 文档
工具
- 谷歌AI工作室 - API 密钥检索测试
- MCP(模型上下文协议) - MCP 的规格
📄 许可证
MIT许可证
