Gemini命令行聊天工具

一个基于Google Gemini模型的命令行聊天应用,支持动态工具发现和运行时服务器管理。

  • by kkrishnan90
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 kkrishnan90/gemini-mcp-cli

使用说明

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密钥。

🚀 快速开始

  1. 克隆并输入目录:

    git clone <your-repo-url> # Replace <your-repo-url> with the actual repo URL
    cd mcp-gemini-chat
    
  2. 创建虚拟环境并激活:

    uv venv
    # On Linux/macOS
    source .venv/bin/activate
    # On Windows
    # .venv\Scripts\activate
    
  3. 安装依赖关系: (安装 mcp, google-genai, python-dotenv, httpx)

    uv pip install -r requirements.txt
    
  4. 配置API密钥: ⚠️ 替换 YOUR_GEMINI_API_KEY 用你真正的钥匙!

    echo "GEMINI_API_KEY=YOUR_GEMINI_API_KEY" > .env
    
  5. 运行应用程序: (可选择指定启动时连接的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

工具使用流程(如计算器、天气)

  1. 👤 用户输入→ 🤖 MCP Gemini聊天应用程序→ ✨ API双子星
  2. ✨ 双子座决定使用工具→ 🔌 MCP客户端→ ⚙️ MCP服务器(例如计算器服务器)
  3. ⚙️ 服务器执行该工具→ 📄 返回结果→ 🔌 MCP客户端
  4. 📄 结果→ ✨ API双子星→ 🤔 综合最终响应
  5. 🗣️ 最终响应→ 🖥️ 向用户显示

▶️ 使用指南

运行应用程序

启动应用程序脚本,可选地提供要立即连接的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 ...
$