使用说明
MCP代理
MCP Agent是一个基于Streamlit构建的交互式web应用程序。它利用Google ADK(代理开发工具包)和MCP(模型上下文协议)提供与各种专用AI代理交互的环境。
🌟 主要特点
- 多会话管理:通过创建、切换和删除多个聊天会话来独立管理它们。
- 专业代理选择:选择适合您每次会话目标的专业代理(例如,基本聊天、搜索、URL分析)。
- 灵活的模型切换:从侧边栏实时选择和更改各种Gemini型号(Flash、Pro等)。
- 可视化Agent思维过程:展开“思考过程”面板,查看代理如何使用工具或执行复杂的推理。
- Markdown优化:包括一个实用程序,用于防止Streamlit中由数学符号或特殊字符引起的markdown渲染问题。还支持“显示Markdown代码”功能来查看原始响应。
- 后端服务器控制:重新启动API服务器(
adk api_server)只需在UI中单击一下即可。
🤖 支持的代理
该项目包括以下专业代理:
gemini:一个基本的会话代理,仅依赖于底层的大型语言模型(LLM)功能,没有实时信息检索工具。search:利用google_search实时获取最新信息并提供基于事实的答案的工具。url:使用url_context该工具用于从用户提供的特定网页中提取、分析和总结内容。fetch:连接到Fetch MCP服务器的代理,可以直接检索和处理网页内容。- 其他推广代理:
collab,jira,googleapis(可根据环境进行配置)
📂 项目结构
mcpagent/
├── app.py # Main Streamlit frontend application
├── api_client.py # Client for communicating with the backend server (ADK API)
├── utils.py # Utility functions, including markdown rendering bug fixes
├── requirements.txt # List of project dependencies
├── .env # Environment variable configuration file (e.g., model name)
├── gemini/ # Folder defining the basic Gemini agent
├── search/ # Folder defining the Google Search specialized agent
├── url/ # Folder defining the URL analysis specialized agent
└── fetch/ # Folder defining the Fetch MCP tool integration agent
🛠️ 安装和设置
-
导航到目录
cd /home/worker/mcpagent -
安装依赖项
pip install -r requirements.txt -
配置环境变量 创建一个
.env在项目根目录中创建文件,并设置必要的环境变量。(例如,要使用的默认模型)MODEL=gemini-flash-lite-latest # Add any other required API keys or settings(注意:通过Streamlit应用程序中的侧边栏动态更改模型将自动更新
.env文件。)
🚀 如何运行
此应用程序通过分离后端API服务器和前端UI(Streamlit)来运行。
-
运行后端API服务器 在后台运行基于ADK的API服务器。
nohup adk api_server > /dev/null 2>&1 &(您也可以使用应用程序侧栏中的“重新启动API服务器”按钮重新启动服务器。)
-
运行Streamlit前端
streamlit run app.py使用运行命令后打印的本地地址通过浏览器访问应用程序(通常
http://localhost:8501).
📝 操作注意事项
- 根据代理的提示说明,如果用户在 韩语,代理被严格配置为在 韩语。否则,默认为英语。
- 如果后端API发生通信错误或会话管理问题,可以通过Streamlit UI中的错误框和可扩展的“错误详细信息”面板检查详细信息。