项目简介
这是一个实现了 Model Context Protocol (MCP) 的服务器,专注于与 Google Cloud Vertex AI 的 Gemini 模型交互,并提供文件系统操作能力。它作为LLM客户端(如 Cline)的后端,接收请求并执行各种工具来增强LLM的功能。
主要功能点
该服务器通过 MCP 协议暴露了一系列工具供LLM客户端调用:
- AI 查询与生成工具: 利用配置的Vertex AI模型,结合或不结合Google搜索,回答自然语言问题、解释技术话题、查找文档代码片段、生成项目指导文件等。
- 文件系统操作工具: 提供基础的文件读、写、编辑、创建目录、列出目录内容、获取目录树、移动/重命名文件/目录、搜索文件以及获取文件信息等能力。所有文件操作都被限制在服务器启动时的当前工作目录(workspace)内。
- 组合工具: 结合AI生成和文件系统操作,例如将AI生成的项目指导、文档片段或问题答案直接保存到指定文件。
安装步骤
要运行此MCP服务器,你需要:
- 安装 Node.js (v18+) 和 Bun: 按照官方文档安装 Node.js 和 Bun ('npm install -g bun')。
- 设置 Google Cloud 项目:
- 拥有一个启用了结算功能的 Google Cloud 项目。
- 在该项目中启用 Vertex AI API。
- 配置 Google Cloud 认证。推荐使用 Application Default Credentials (ADC),可以通过 'gcloud auth application-default login' 命令登录。或者使用服务账号密钥文件,并设置 'GOOGLE_APPLICATION_CREDENTIALS' 环境变量指向该文件。
- 获取项目代码: 将项目文件克隆或下载到你的本地。
- 安装依赖: 在项目根目录打开终端,运行 'bun install'。
- 配置环境变量: 复制项目根目录下的 '.env.example' 文件为 '.env',根据你的实际情况设置以下环境变量:
- 'GOOGLE_CLOUD_PROJECT' (必填): 你的 Google Cloud 项目 ID。
- 'GOOGLE_CLOUD_LOCATION' (选填): Vertex AI 模型区域,默认为 'us-central1'。
- 'VERTEX_AI_MODEL_ID' (选填): 使用的 Vertex AI 模型 ID,默认为 'gemini-2.5-pro-exp-03-25'。
- 其他可选配置如温度、是否流式输出、最大输出tokens、重试次数和延迟等,可以根据 '.env.example' 进行设置。
- 构建服务器: 在项目根目录运行 'bun run build'。这会将 TypeScript 代码编译到 'build/index.js' 文件。
服务器配置
MCP服务器通常由 MCP 客户端启动和管理。你需要将此服务器添加到你的MCP客户端的配置文件中(例如 Cline 的 '.roo/mcp.json')。配置信息包含服务器的名称、启动命令、命令参数以及必需的环境变量。以下是配置时需要提供的关键信息:
- 服务器名称 (name): 可以自定义,例如 'vertex-ai-mcp-server'。
- 启动命令 (command):
- 如果本地克隆了代码并完成了构建,可以使用 'node'。
- 如果服务器已发布到 npm,可以使用 'npx'。
- 命令参数 (args):
- 如果 'command' 是 'node',参数通常是构建后的服务器脚本的绝对路径,例如 '/full/path/to/your/vertex-ai-mcp-server/build/index.js'。请根据你的实际文件路径进行修改。
- 如果 'command' 是 'npx',参数通常是服务器的 npm 包名,例如 '-y vertex-ai-mcp-server' ('-y' 表示自动确认安装)。
- 环境变量 (env): 必须包含服务器运行所需的 Google Cloud 凭证和 Vertex AI 配置。至少需要设置 'GOOGLE_CLOUD_PROJECT'。如果未配置 ADC,还需要设置 'GOOGLE_APPLICATION_CREDENTIALS' 等。其他可选配置(如模型ID、温度)也可以在此处覆盖 '.env' 文件中的设置。
请参考你的MCP客户端文档,将上述信息填入其MCP服务器配置中。
基本使用方法
完成服务器的安装和在你的MCP客户端中的配置后,启动你的MCP客户端。客户端会自动启动并连接配置的MCP服务器。
一旦连接成功,你就可以通过MCP客户端的界面或交互方式,调用此服务器提供的工具了。例如,你可以通过客户端向LLM发出指令,LLM可能会决定调用 'answer_query_websearch' 工具来回答问题,或者调用 'read_file_content' 工具来获取文件内容,或者调用 'create_directory' 来创建文件夹,甚至调用 'save_generate_project_guidelines' 来生成并保存文档。具体的交互方式取决于你的MCP客户端的设计。
信息
分类
AI与计算