Vertex AI Gemini MCP 服务器
实现了模型上下文协议(MCP)服务器,该服务器提供了访问 Google Cloud 的 Vertex AI Gemini 模型的工具,并支持网络搜索 grounding 和直接知识回答等功能,可用于编码辅助和通用查询。
服务介绍
Vertex AI MCP 服务器
该项目实现了一个模型上下文协议(MCP)服务器,提供了一整套工具来与 Google Cloud 的 Vertex AI Gemini 模型进行交互,重点在于编码辅助和通用查询回答。
功能
- 通过众多的 MCP 工具访问 Vertex AI Gemini 模型。
- 支持网络搜索基础 (
answer_query_websearch) 和直接知识回答 (answer_query_direct)。 - 可通过环境变量配置模型 ID、温度、流行为、最大输出令牌数和重试设置。
- 默认使用流式 API,以提高响应性。
- 包含基本的重试逻辑,用于处理瞬时 API 错误。
- 应用最小的安全过滤器 (
BLOCK_NONE) 以减少潜在的阻塞(谨慎使用)。
提供的工具
查询与回答
answer_query_websearch:使用配置的 Vertex AI 模型 + Google 搜索基础回答查询。answer_query_direct:使用配置的 Vertex AI 模型的内部知识回答查询。answer_doc_query:找到某个主题的官方文档,并基于该文档主要回答查询,对于编码问题则辅以网络搜索,使用配置的 Vertex AI 模型。
(注:每个工具的输入/输出详情可以从 src/index.ts 中的 ListToolsRequestSchema 处理程序推断出来,或者如果客户端支持的话,可以通过 MCP 自省动态获取。)
前提条件
- Node.js (v18+)
- Bun (
npm install -g bun) - 启用了计费功能的 Google Cloud 项目。
- 在 GCP 项目中启用了 Vertex AI API。
- 在您的环境中配置了 Google Cloud 身份验证(建议通过
gcloud auth application-default login使用应用默认凭据,或使用服务帐户密钥)。
设置与安装
- 克隆/放置项目:确保项目文件位于您希望的位置。
- 安装依赖项:
bun install - 配置环境:
- 在项目根目录下创建一个
.env文件(复制.env.example)。 - 如
.env.example中所述设置所需的和可选的环境变量。确保设置了GOOGLE_CLOUD_PROJECT。
- 在项目根目录下创建一个
- 构建服务器:
这会将 TypeScript 代码编译为bun run buildbuild/index.js。
使用 Cline 运行
(注:原文中的“Cline”可能是拼写错误,可能是指命令行 CLI 或特定工具名,请根据实际需求确认。)
-
配置 MCP 设置: 在您的 Cline MCP 设置文件(例如
.roo/mcp.json)中添加/更新配置。{ "mcpServers": { "vertex-ai-mcp-server": { "command": "node", "args": [ "/full/path/to/your/vertex-ai-mcp-server/build/index.js" // 使用绝对路径或确保它相对于 Cline 运行 node 的位置 ], "env": { // 必须:确保这些与 .env 文件匹配或在此处设置 "GOOGLE_CLOUD_PROJECT": "YOUR_GCP_PROJECT_ID", "GOOGLE_CLOUD_LOCATION": "us-central1", // 如果不使用 ADC,则必须: // "GOOGLE_APPLICATION_CREDENTIALS": "/path/to/your/service-account-key.json", // 可选覆盖项: "VERTEX_AI_MODEL_ID": "gemini-2.5-pro-exp-03-25", "VERTEX_AI_TEMPERATURE": "0.0", "VERTEX_AI_USE_STREAMING": "true", "VERTEX_AI_MAX_OUTPUT_TOKENS": "65535", "VERTEX_AI_MAX_RETRIES": "3", "VERTEX_AI_RETRY_DELAY_MS": "1000" }, "disabled": false, "alwaysAllow": [ // 如果您不想出现确认提示,请在此处添加工具名称 // 例如:"answer_query_websearch" ], "timeout": 3600 // 可选:超时时间(秒) } // 在此处添加其他服务器... } }- 重要提示: 确保
args路径正确指向build/index.js文件。使用绝对路径可能更可靠。 - 确保
env块中的环境变量正确设置,要么与.env文件匹配,要么在此处明确定义。从实际的 JSON 文件中删除注释。
- 重要提示: 确保
-
重启/重新加载 Cline: Cline 应该会检测到配置更改并启动服务器。
-
使用工具: 您现在可以通过 Cline 使用大量的工具。
开发
- 监视模式:
bun run watch - 代码检查:
bun run lint - 格式化:
bun run format