一个由Google的Gemini模型驱动的简单命令行界面(CLI)聊天应用程序,该程序作为MCP(模型上下文协议)主机运行。
gemini-2.0-flash-001)进行对话响应。add_server命令动态添加新的MCP服务器。uv(或pip)用于包管理。克隆并进入目录:
git clone <your-repo-url> # 将<your-repo-url>替换为实际的仓库URL
cd mcp-gemini-chat
创建虚拟环境并激活:
uv venv
# 在Linux/macOS上
source .venv/bin/activate
# 在Windows上
# .venv\Scripts\activate
安装依赖项:
(安装mcp、google-genai、python-dotenv、httpx)
uv pip install -r requirements.txt
配置API密钥: ⚠️ 用你的实际密钥替换YOUR_GEMINI_API_KEY!
echo "GEMINI_API_KEY=YOUR_GEMINI_API_KEY" > .env
运行应用: (可选指定启动时连接的MCP服务器脚本路径)
# 假设应用脚本位于'src'目录下
python src/mcp_chat_app.py [path/to/server1.py] [path/to/server2.py]
# 不带服务器启动示例
# python src/mcp_chat_app.py
👤 用户输入 → 🤖 MCP Gemini 聊天应用 → ✨ Gemini API → 🖥️ 显示给用户
启动应用脚本,可选提供立即连接的MCP服务器脚本路径。
# 不带任何初始服务器启动
python src/mcp_chat_app.py
# 启动并连接到特定服务器
python src/mcp_chat_app.py mcp_server_weather.py mcp_server_calc.py
你可以通过连接更多的MCP服务器来添加更多工具:
1. 启动时:
在启动mcp_chat_app.py时提供服务器脚本路径作为命令行参数:
python src/mcp_chat_app.py path/to/mcp_server_weather.py path/to/mcp_server_calc.py
2. 运行时:
在聊天界面中使用add_server命令:
你: add_server path/to/my_other_server.py
应用程序将尝试连接并集成新服务器中的工具。
$ python src/mcp_chat_app.py mcp_server_calc.py
# ... 初始化日志 ...
MCP Gemini 聊天应用
输入您的消息,'add_server <路径>'以添加服务器,或'quit'退出。
你: hi
Gemini: 你好!今天我能帮你做什么?
你: 5加12是多少?
# ... 工具调用日志 ...
Gemini: 5加12是17.0。
你: add_server mcp_server_weather.py
# ... 连接和工具发现日志 ...
Gemini: 成功添加了服务器'mcp_server_weather.py',带有工具:['get_alerts', 'get_forecast']
你: 伦敦有天气警报吗?
# ... 工具调用日志 ...
Gemini: # ...(关于伦敦天气警报的响应)...
你: quit
# ... 清理日志 ...
$