项目简介

Gemini MCP 服务器是一个基于 Model Context Protocol (MCP) 标准构建的应用后端,它将 Google 的 Gemini 大语言模型的功能以标准化的 MCP 工具形式对外提供。通过这个服务器,兼容 MCP 协议的 LLM 客户端(如 Cline 等)可以方便地利用 Google Gemini 模型的强大能力,例如文本生成、对话管理、函数调用以及文件和缓存管理等高级特性。

主要功能点

  • 核心文本生成:支持标准和流式文本生成,满足不同场景的需求。
  • 函数调用:允许 Gemini 模型请求客户端执行预定义函数,实现更复杂的交互逻辑。
  • 状态化对话:管理多轮对话上下文,支持构建连续对话应用。
  • 文件处理:提供文件上传、列表、检索和删除功能,方便处理多模态输入。
  • 缓存管理:支持创建、列表、检索、更新和删除缓存内容,优化 Prompt 性能和成本。

安装步骤

通过 Smithery 自动安装 (Claude Desktop)

如果您使用 Claude Desktop,可以通过 Smithery 命令行工具自动安装:

npx -y @smithery/cli install @bsmi021/mcp-gemini-server --client claude

手动安装

  1. 克隆/放置项目: 确保 'mcp-gemini-server' 项目目录在您的系统上可访问。

  2. 安装依赖: 在终端中导航到项目目录,并运行:

    npm install
  3. 构建项目: 编译 TypeScript 源代码:

    npm run build

    构建完成后,JavaScript 文件将输出到 './dist' 目录,服务器入口文件为 'dist/server.js'。

  4. 配置 MCP 客户端: 将服务器配置添加到您的 MCP 客户端设置文件(例如 Cline/VSCode 的 'cline_mcp_settings.json' 或 Claude Desktop App 的 'claude_desktop_config.json')。将 '/path/to/mcp-gemini-server' 替换为实际路径,'YOUR_API_KEY' 替换为您的 Google AI Studio API Key。

    {
      "mcpServers": {
        "gemini-server": { // 您可以自定义服务器名称
          "command": "node",
          "args": ["/path/to/mcp-gemini-server/dist/server.js"], // 指向编译后的服务器入口文件
          "env": {
            "GOOGLE_GEMINI_API_KEY": "YOUR_API_KEY",
            "GOOGLE_GEMINI_MODEL": "gemini-1.5-flash" // 可选: 设置默认模型
          },
          "disabled": false,
          "autoApprove": []
        }
        // ... 其他服务器配置
      }
    }
  5. 重启 MCP 客户端: 重启您的 MCP 客户端应用(例如 VS Code 或 Claude Desktop App),以加载新的服务器配置。客户端将自动管理服务器的启动和停止。

服务器配置

在 MCP 客户端的配置文件中,您需要配置 'command' 和 'args' 来启动 Gemini MCP 服务器。'env' 部分用于设置服务器运行所需的环境变量,主要是 Google Gemini API Key。

以下是配置项的说明:

  • server name: 服务器名称,可以自定义,例如 "gemini-server"。
  • command: 启动服务器的命令,这里是 'node',表示使用 Node.js 运行时。
  • args: 启动命令的参数,指向编译后的服务器入口文件路径,例如 '["/path/to/mcp-gemini-server/dist/server.js"]'。请务必替换为实际路径。
  • env: 环境变量配置,用于传递 API Key 和默认模型等配置信息。
    • 'GOOGLE_GEMINI_API_KEY': 必需,您的 Google AI Studio API Key。
    • 'GOOGLE_GEMINI_MODEL': 可选,默认使用的 Gemini 模型名称,例如 'gemini-1.5-flash' 或 'gemini-1.0-pro'。如果设置此项,客户端调用工具时可以省略 'modelName' 参数。

基本使用方法

配置完成后,您可以使用 MCP 客户端的工具调用功能来使用 Gemini MCP 服务器提供的各种工具。以下是一些使用示例,展示了如何通过 '<use_mcp_tool>' 标签调用服务器上的工具:

示例 1: 简单文本生成 (使用默认模型)

<use_mcp_tool>
  <server_name>gemini-server</server_name>
  <tool_name>gemini_generateContent</tool_name>
  <arguments>
    {
      "prompt": "写一首关于橡皮鸭的短诗。"
    }
  </arguments>
</use_mcp_tool>

示例 2: 文本生成 (指定模型和配置)

<use_mcp_tool>
  <server_name>gemini-server</server_name>
  <tool_name>gemini_generateContent</tool_name>
  <arguments>
    {
      "modelName": "gemini-1.0-pro",
      "prompt": "解释编程中递归的概念。",
      "generationConfig": {
        "temperature": 0.7,
        "maxOutputTokens": 500
      }
    }
  </arguments>
</use_mcp_tool>

示例 3: 开始和继续对话

开始对话:

<use_mcp_tool>
  <server_name>gemini-server</server_name>
  <tool_name>gemini_startChat</tool_name>
  <arguments>
    {}
  </arguments>
</use_mcp_tool>

(假设响应包含 'sessionId: "some-uuid-123"')

发送消息:

<use_mcp_tool>
  <server_name>gemini-server</server_name>
  <tool_name>gemini_sendMessage</tool_name>
  <arguments>
    {
      "sessionId": "some-uuid-123",
      "message": "你好!你能告诉我关于 Gemini API 的信息吗?"
    }
  </arguments>
</use_mcp_tool>

示例 4: 上传文件

<use_mcp_tool>
  <server_name>gemini-server</server_name>
  <tool_name>gemini_uploadFile</tool_name>
  <arguments>
    {
      "filePath": "C:\\Users\\YourUser\\Documents\\my_document.txt", // 重要: 使用绝对路径,必要时转义反斜杠
      "displayName": "我的文档"
    }
  </arguments>
</use_mcp_tool>

更多工具和参数的详细信息,请参考仓库的 README 文档和源代码。

信息

分类

AI与计算