连接到 Model Context Protocol (MCP) 服务器

MCP 服务器为 Gemini 提供额外的工具和数据源。例如,通过添加 Firebase MCP 服务器,您可以在构建或调试应用时,使用自然语言探索 Cloud Firestore 数据。

前提条件

如 MCP 服务器要求,请确保已正确安装并可正常运行的 Node.js 和 npm。

选择兼容的 MCP 服务器

Firebase Studio 提供对 MCP 服务器的基础支持,但并非所有 MCP 服务器都与其兼容。选择 MCP 服务器时,请注意以下兼容性要点:

  • 受支持:

    • 标准输入/输出 (stdio),或基于服务器发送事件 (SSE)/可流式 HTTP 的传输服务器
    • 使用 HTTP 标头或环境变量进行 API 密钥身份验证
    • MCP 服务器提供的工具
  • 不支持:

    • 需要图形界面或桌面会话的服务器
    • MCP 服务器提供的提示、采样或其他资源

添加 MCP 服务器

如需添加 MCP 服务器,您需要创建或修改其配置文件。

第 1 步:创建配置文件

互动式对话使用配置文件连接到 MCP 服务器:

  • 互动式对话使用 .idx/mcp.json

按照以下说明创建文件。

互动式对话

Code 视图中,使用以下任一方法创建 .idx/mcp.json

  • 命令面板:打开命令面板 (Shift+Ctrl+P),然后使用 Firebase Studio:添加 MCP 服务器命令。
  • 互动式对话:在互动式对话中点击 “自定义工具”图标 自定义工具,然后选择添加 MCP 服务器
  • 探索器:在探索器 (Ctrl+Shift+E) 中,右键点击 .idx 目录,然后选择新建文件。将文件命名为 mcp.json

第 2 步:修改服务器配置

  1. 打开服务器配置文件。

  2. 将服务器配置添加到文件内容中。例如,如要添加 Firebase MCP 服务器,请输入:

    {
      "mcpServers": {
       "firebase": {
         "command": "npx",
         "args": [
           "-y",
           "firebase-tools@latest",
           "mcp"
          ]
        }
      }
    }
    

    此配置文件会告诉 Gemini 要使用哪个 MCP 服务器。此示例展示了一个名为 firebase 的服务器,它将使用 npx 命令来安装和运行 firebase-tools@latest

    如 MCP 服务器要求使用 API 密钥进行身份验证,可通过以下任一方式进行配置:

    • 对于需在请求标头中携带 API 密钥的远程 HTTP MCP 服务器,请使用 headers 字段。例如,如需配置 GitHub 的 MCP 服务器,请执行以下操作:

      {
        "mcpServers": {
          "github": {
            "url": "https://api.githubcopilot.com/mcp/",
            "headers": {
              "Authorization": "Bearer <ACCESS_TOKEN>"
            }
          }
        }
      }
      
    • 对于需在环境变量中设置 API 密钥的本地 stdio MCP 服务器,请使用 env 字段。例如,如需配置 GitHub 的 MCP 服务器的本地 build,请执行以下操作:

      {
        "mcpServers": {
          "github": {
            "command": "/path/to/github-mcp-server",
            "args": ["stdio"],
            "env": {
              "GITHUB_PERSONAL_ACCESS_TOKEN": "<ACCESS_TOKEN>"
            }
          }
        }
      }
      
    • 为避免在 mcp.json 中对 Secret 进行硬编码,您可以选择使用 ${env:VARIABLE_NAME} 语法。这会使用工作区根目录下的 .env.env.local 文件中定义的环境变量值进行替换。例如:

      {
        "mcpServers": {
          "github": {
            "url": "https://api.githubcopilot.com/mcp/",
            "headers": {
              "Authorization": "Bearer ${env:GITHUB_ACCESS_TOKEN}"
            }
          }
        }
      }