使用说明
MCP研究代理
用于运行模型上下文协议(MCP)研究助理的自动化脚本。该项目捆绑了两个入口点:
main_gemini.py-一个由Gemini驱动的代理,负责编排Playwright、Fetch和Files MCP服务器,自动编译Markdown报告,并附加它所触及的源代码。main_openai.py-OpenAI代理SDK变体,将相同的MCP工具连接到OpenAI运行时,并镜像Markdown报告工作流。
这两条路径都采用自由形式的研究任务,启动所需的MCP服务器,并在本地保存代理的最终报告以供审查或版本控制。
存储库布局
| 路径 | 目的 |
|---|---|
main_gemini.py |
Gemini实现,具有自定义计划/JSON强制和自动源跟踪功能。 |
main_openai.py |
OpenAI代理SDK实现,将Markdown报告保存到沙箱之外。 |
requirements.txt |
两个入口点共享的Python依赖关系。 |
.env.example |
所需API密钥的模板。复制到 .env 在运行任何东西之前。 |
agent_report_*.md |
Gemini代理生成的示例输出(默认情况下忽略)。 |
openai_agents_sdk_guide.ipynb |
Scratch笔记本浏览OpenAI代理SDK设置。 |
先决条件
- Python 3.10或更高版本。
- Node.js 18+(通过调用Playwright MCP服务器所需)
npx). - 这
uv命令行工具(用于启动基于Python的MCP服务器uvx).从以下位置安装 Astral的发布 或通过pip install uv. - API访问:
- Gemini API密钥(
GEMINI_API_KEY)formain_gemini.py. - OpenAI API密钥(
OPENAI_API_KEY)具有代理SDK访问权限main_openai.py.
- Gemini API密钥(
设置
-
创建并激活虚拟环境
python -m venv .venv .\.venv\Scripts\Activate.ps1source .venv/bin/activate -
安装依赖项
pip install -r requirements.txt如果您计划运行OpenAI入口点,请同时安装OpenAI代理SDK:
pip install --upgrade openai(确保您有权访问测试版
agents模块。) -
配置环境变量
cp .env.example .env填写
GEMINI_API_KEY和OPENAI_API_KEY内部.env该文件被git忽略;把你的钥匙保密。 -
验证外部工具
node --version应报告>=18。uv --version应可用;否则,请遵循 安装说明.
运行代理
双子流
python main_gemini.py "Prompt"
脚本:
- 从加载环境变量
.env. - 启动Playwright的MCP服务器(
npx -y @playwright/mcp@latest),提取(uvx mcp-server-fetch)和文件(uvx mcp-server-files). - 强制模型使用JSON操作进行响应,执行请求的工具,并收集遇到的每个URL。
- 将最终的Markdown写入
agent_report_<slug>_<timestamp>.md并附加a## Sources部分。
报告保存在项目根目录中。因为它们可能很大,并且特定于任务,所以默认情况下git会忽略它们;重命名任何您想保留用于文档的名称。
OpenAI代理流
python main_openai.py "Prompt"
此脚本:
- 使用OpenAI代理SDK(
agents.Agent,agents.Runner)以编排相同的三台MCP服务器。 - 向代理提供目标文件名,以便代理通过Files服务器保存Markdown报告。
- 为了方便起见,将沙盒输出复制回存储库。
Playwright MCP服务器的第一次运行可以下载浏览器二进制文件;按照出现的任何提示进行操作。
开发说明
- 这
.gitignore文件保存本地工件(.env、虚拟环境、MCP沙盒、生成的报告等)不受版本控制,因此存储库可以安全发布。 - 如果您更喜欢确定性节点工具,请删除
package-lock线从.gitignore并提交您选择的锁文件。 banoffee.md示例代理报告展示了生成的Markdown的预期结构。将它们视为示例,或者如果你喜欢干净的历史记录,可以在首次GitHub提交之前将其删除。openai_agents_sdk_guide.ipynb使用MCP后端启动OpenAI代理SDK。在Jupyter中打开它(jupyter notebook openai_agents_sdk_guide.ipynb)查看带注释的步骤,或者如果你想在代码旁边发布指南,可以将其导出到Markdown/HTML。
下一步行动
- 初始化git(
git init,git add .,git commit)并将存储库连接到GitHub。 - 考虑添加自动测试或烟雾命令(例如。,
python main_gemini.py --help)如果你打算改进代码。 - 保持API密钥轮换并存储在用于部署场景的安全秘密管理器中。
