使用说明
MCP Gemini聊天CLI💬
一个简单的命令行界面(CLI)聊天应用程序,由谷歌的Gemini模型提供支持,充当MCP(模型上下文协议)主机。
✨ 特性
- 🤖 Gemini供电: 使用Gemini API(
gemini-2.0-flash-001默认情况下)用于会话响应。 - 🔌 MCP主机和客户端: 连接到多个MCP服务器并利用其中的工具。
- 🔎 动态工具发现: 自动从连接的服务器中发现可用工具。
- ⚡ 运行时服务器管理: 使用聊天应用程序运行时动态添加新的MCP服务器
add_server命令。
🛠️ 先决条件
- 🐍 Python 3.10+
- 📦
uv(或pip)用于包管理。 - 🔑 Google Gemini API密钥。
🚀 快速开始
-
克隆并输入目录:
git clone <your-repo-url> # Replace <your-repo-url> with the actual repo URL cd mcp-gemini-chat -
创建虚拟环境并激活:
uv venv # On Linux/macOS source .venv/bin/activate # On 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服务器脚本)
# Example assuming the app script is in a 'src' directory python src/mcp_chat_app.py [path/to/server1.py] [path/to/server2.py] # Example without servers at startup # python src/mcp_chat_app.py
🌊 呼叫流
基本聊天流程(无工具)
👤 User Input → 🤖 MCP Gemini Chat App → ✨ Gemini API → 🖥️ Display to User
工具使用流程(如计算器、天气)
- 👤 用户输入→ 🤖 MCP Gemini聊天应用程序→ ✨ API双子星
- ✨ 双子座决定使用工具→ 🔌 MCP客户端→ ⚙️ MCP服务器(例如计算器服务器)
- ⚙️ 服务器执行该工具→ 📄 返回结果→ 🔌 MCP客户端
- 📄 结果→ ✨ API双子星→ 🤔 综合最终响应
- 🗣️ 最终响应→ 🖥️ 向用户显示
▶️ 使用指南
运行应用程序
启动应用程序脚本,可选地提供要立即连接的MCP服务器脚本的路径。
# Start without any initial servers
python src/mcp_chat_app.py
# Start and connect to specific servers
python src/mcp_chat_app.py mcp_server_weather.py mcp_server_calc.py
添加MCP服务器
您可以通过连接到更多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 聊天界面中的命令:
You: add_server path/to/my_other_server.py
应用程序将尝试连接和集成来自新服务器的工具。
示例会话
$ python src/mcp_chat_app.py mcp_server_calc.py
# ... Initialization logs ...
MCP Gemini Chat App
Enter your message, 'add_server <path>' to add a server, or 'quit' to exit.
You: hi
Gemini: Hello! How can I help you today?
You: what is 5 plus 12?
# ... Tool call logs ...
Gemini: 5 plus 12 is 17.0.
You: add_server mcp_server_weather.py
# ... Connection and tool discovery logs ...
Gemini: Successfully added server 'mcp_server_weather.py' with tools: ['get_alerts', 'get_forecast']
You: any weather alerts in London?
# ... Tool call logs ...
Gemini: # ... (Response about weather alerts in London) ...
You: quit
# ... Cleanup logs ...
$
