mcpField
G
Gemini API with MCP Tool Integration

Gemini API with MCP Tool Integration

本地服务
github.com/hitechdkAI 与智能体082 周前更新

关于 Gemini API with MCP Tool Integration

Gemini API with MCP Tool Integration 是将 Gemini 与 MCP 环境中的工具结合的 Python 示例,面向构建可调用工具并返回结果的自然语言应用的开发者。

主要功能

  1. 01向 Gemini 发送自然语言提示
  2. 02从 MCP 会话获取工具
  3. 03处理模型发起的工具调用
  4. 04自定义提示词和响应处理

适用场景

  1. 01为 Gemini 应用添加 MCP 工具操作
  2. 02将自然语言请求路由到工具
  3. 03生成包含工具结果的响应

MCP 相关

连接 MCP 客户端会话并获取可用工具,再将工具定义传给 Gemini,使其能根据提示词调用工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Gemini API 与 MCP 工具集成

本项目演示如何将 Google Gemini API 与由 MCP(Multi-Cloud Platform)框架管理的自定义工具集成。项目使用 Gemini API 处理自然语言查询,并利用 MCP 工具根据查询意图执行特定操作。

前提条件

运行本项目前,请确保具备以下条件:

  • Python 3.7 或更高版本

  • 已启用 Gemini API 并拥有 API 密钥的 Google Cloud 项目。

  • 已设置好 MCP 环境,并配置了所需的工具。

  • 包含以下环境变量的 .env 文件:

    GEMINI_API_KEY=<your_gemini_api_key>
    GEMINI_MODEL=<your_gemini_model_name>
    MCP_RUNNER=<path_to_mcp_runner>
    MCP_SCRIPT=<path_to_mcp_script>
    

安装

  1. 克隆代码仓库:

    git clone <repository_url>
    cd <repository_directory>
    
  2. 创建虚拟环境(推荐):

    python3 -m venv venv
    source venv/bin/activate  # 在 macOS/Linux 上
    
    
  3. 使用 uv 安装所需依赖:

    uv pip install dotenv google-generativeai mcp
    uv add "mcp[cli]" httpx
    uv pip install python-dotenv google-generativeai mcp
    
  4. 在项目根目录创建 .env 文件,并添加环境变量。

GEMINI_API_KEY=your_api_key_here
GEMINI_MODEL=gemini-pro
MCP_RUNNER=path_to_mcp_runner
MCP_SCRIPT=path_to_mcp_script

使用方法

运行应用程序,请执行以下命令:

python main.py

工作原理

  1. 应用程序加载环境变量并验证其是否存在
  2. 与 MCP 客户端建立连接
  3. 从 MCP 会话中获取可用工具
  4. 将提示词及工具定义一起发送到 Gemini API
  5. 处理模型发起的工具调用
  6. 返回包含工具调用结果的最终响应

自定义

要自定义提示词或行为:

  1. 修改 prompt 变量,填入所需文本
  2. 调整 get_contents() 函数,更改提示词的格式
  3. 扩展 process_response(),以处理不同的响应类型

许可证

MIT 许可证

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。