该项目实现了一个模型上下文协议(MCP)服务器,提供了一整套工具用于与Google Cloud的Vertex AI Gemini模型进行交互,重点在于编码辅助和通用查询回答。
<a href="https://glama.ai/mcp/servers/@shariqriazz/vertex-ai-mcp-server"> <img width="380" height="200" src="https://gips0.baidu.com/it/u=900602200,1887452265&fm=3081&app=3081&f=PNG?w=760&h=400" alt="Vertex AI 服务器 MCP 服务器" /> </a>answer_query_websearch)和直接知识回答(answer_query_direct)。BLOCK_NONE)以减少潜在的阻塞(谨慎使用)。answer_query_websearch:使用配置的Vertex AI模型结合Google搜索结果来回答自然语言查询。answer_query_direct:仅使用配置的Vertex AI模型的内部知识来回答自然语言查询。explain_topic_with_docs:通过主要从官方文档中综合信息,提供关于特定软件主题的详细解释。get_doc_snippets:通过搜索官方文档,提供精确、权威的代码片段或简洁的答案来解决技术问题。generate_project_guidelines:根据指定的技术栈(可选版本),使用网络搜索的最佳实践生成结构化的项目指南文档(Markdown)。code_analysis_with_docs:通过比较最佳实践来分析代码片段,识别潜在的bug、性能问题和安全漏洞。technical_comparison:根据特定标准比较多个技术、框架或库,提供详细的对比表,包括优缺点和使用场景。architecture_pattern_recommendation:基于行业最佳实践建议特定使用案例的架构模式,并提供实施示例和考虑因素。dependency_vulnerability_scan:分析项目依赖项中的已知安全漏洞,提供详细信息和缓解策略。database_schema_analyzer:审查数据库模式以规范化、索引和性能问题,基于数据库特定的最佳实践提出改进建议。security_best_practices_advisor:针对特定技术和场景提供安全建议,并提供实施安全实践的代码示例。testing_strategy_generator:创建应用程序或功能的全面测试策略,建议适当的测试类型及其覆盖率目标。regulatory_compliance_advisor:针对特定行业的监管要求(如GDPR、HIPAA等)提供指导,并提供合规实施方法。microservice_design_assistant:帮助设计特定领域的微服务架构,推荐服务边界和通信模式。documentation_generator:根据行业最佳实践为代码、API或系统生成全面的文档。read_file_content:读取一个或多个文件的全部内容。提供单个路径字符串或路径字符串数组。write_file_content:创建新文件或完全覆盖现有文件。writes参数接受单个对象({path, content})或此类对象的数组。edit_file_content:对文本文件进行基于行的编辑,返回差异预览或应用更改。list_directory_contents:列出指定路径下的文件和目录(非递归)。get_directory_tree:获取文件和目录的递归树视图作为JSON。move_file_or_directory:移动或重命名文件和目录。search_filesystem:递归搜索匹配名称模式的文件/目录,可选排除。get_filesystem_info:检索关于文件或目录的详细元数据(大小、日期、类型、权限)。execute_terminal_command:执行shell命令,可选指定cwd和timeout。返回stdout/stderr。save_generate_project_guidelines:根据技术栈生成项目指南并保存到指定文件路径。save_doc_snippet:从文档中查找代码片段并保存到指定文件路径。save_topic_explanation:根据文档生成主题的详细解释并保存到指定文件路径。save_answer_query_direct:仅使用内部知识回答查询并将答案保存到指定文件路径。save_answer_query_websearch:使用网络搜索结果回答查询并将答案保存到指定文件路径。(注意:每个工具的输入/输出模式定义在src/tools/目录下的相应文件中并通过MCP服务器公开。)
npm install -g bun)gcloud auth application-default login设置应用默认凭据,或者使用服务账户密钥)。bun install
.env文件(复制.env.example)。.env.example设置所需的和可选的环境变量。
AI_PROVIDER设置为"vertex"或"gemini"。AI_PROVIDER="vertex",则需要GOOGLE_CLOUD_PROJECT。AI_PROVIDER="gemini",则需要GEMINI_API_KEY。bun run build
这会将TypeScript代码编译成build/index.js。一旦发布到npm,您可以直接使用npx运行此服务器:
# 确保设置了必要的环境变量(例如,GOOGLE_CLOUD_PROJECT)
bunx vertex-ai-mcp-server
或者全局安装它:
bun install -g vertex-ai-mcp-server
# 然后运行:
vertex-ai-mcp-server
注意:独立运行需要在执行命令之前在您的shell环境中设置必要的环境变量(如GOOGLE_CLOUD_PROJECT,GOOGLE_CLOUD_LOCATION,如果不是使用ADC,则还需要认证凭证)。
要通过Smithery自动安装Vertex AI Server for Claude Desktop:
bunx -y @smithery/cli install @shariqriazz/vertex-ai-mcp-server --client claude
配置MCP设置:在您的Cline MCP设置文件(例如.roo/mcp.json)中添加或更新配置。您有两种主要方式来配置命令:
选项A:使用Node(直接路径 - 推荐用于开发)
此方法使用node直接运行编译后的脚本。在开发期间非常有用,特别是当您本地克隆了代码。
{
"mcpServers": {
"vertex-ai-mcp-server": {
"command": "node",
"args": [
"/full/path/to/your/vertex-ai-mcp-server/build/index.js" // 使用绝对路径或确保相对于Cline运行node的位置是相对路径
],
"env": {
// --- 通用AI配置 ---
"AI_PROVIDER": "vertex", // "vertex" 或 "gemini"
// --- 必需(条件)---
"GOOGLE_CLOUD_PROJECT": "YOUR_GCP_PROJECT_ID", // 如果AI_PROVIDER="vertex"则必需
// "GEMINI_API_KEY": "YOUR_GEMINI_API_KEY", // 如果AI_PROVIDER="gemini"则必需
// --- 可选模型选择 ---
"VERTEX_MODEL_ID": "gemini-2.5-pro-exp-03-25", // 如果AI_PROVIDER="vertex"(示例覆盖)
"GEMINI_MODEL_ID": "gemini-2.5-pro-exp-03-25", // 如果AI_PROVIDER="gemini"
// --- 可选AI参数 ---
"GOOGLE_CLOUD_LOCATION": "us-central1", // 特定于Vertex AI
"AI_TEMPERATURE": "0.0",
"AI_USE_STREAMING": "true",
"AI_MAX_OUTPUT_TOKENS": "65536", // 来自.env.example的默认值
"AI_MAX_RETRIES": "3",
"AI_RETRY_DELAY_MS": "1000",
// --- 可选Vertex认证 ---
// "GOOGLE_APPLICATION_CREDENTIALS": "/path/to/your/service-account-key.json" // 如果使用服务账户密钥进行Vertex认证
},
"disabled": false,
"alwaysAllow": [
// 如果不想确认提示,请在此处添加工具名称
// 例如:"answer_query_websearch"
],
"timeout": 3600 // 可选:超时时间(秒)
}
// 在此处添加其他服务器...
}
}
args路径正确指向build/index.js文件。使用绝对路径可能更可靠。选项B:使用NPX(需要包发布到npm)
此方法使用npx自动从npm注册表下载并运行服务器包。如果您不想克隆仓库,这很方便。
{
"mcpServers": {
"vertex-ai-mcp-server": {
"command": "bunx", // 使用bunx
"args": [
"-y", // 自动确认安装
"vertex-ai-mcp-server" // npm包名称
],
"env": {
// --- 通用AI配置 ---
"AI_PROVIDER": "vertex", // "vertex" 或 "gemini"
// --- 必需(条件)---
"GOOGLE_CLOUD_PROJECT": "YOUR_GCP_PROJECT_ID", // 如果AI_PROVIDER="vertex"则必需
// "GEMINI_API_KEY": "YOUR_GEMINI_API_KEY", // 如果AI_PROVIDER="gemini"则必需
// --- 可选模型选择 ---
"VERTEX_MODEL_ID": "gemini-2.5-pro-exp-03-25", // 如果AI_PROVIDER="vertex"(示例覆盖)
"GEMINI_MODEL_ID": "gemini-2.5-pro-exp-03-25", // 如果AI_PROVIDER="gemini"
// --- 可选AI参数 ---
"GOOGLE_CLOUD_LOCATION": "us-central1", // 特定于Vertex AI
"AI_TEMPERATURE": "0.0",
"AI_USE_STREAMING": "true",
"AI_MAX_OUTPUT_TOKENS": "65536", // 来自.env.example的默认值
"AI_MAX_RETRIES": "3",
"AI_RETRY_DELAY_MS": "1000",
// --- 可选Vertex认证 ---
// "GOOGLE_APPLICATION_CREDENTIALS": "/path/to/your/service-account-key.json" // 如果使用服务账户密钥进行Vertex认证
},
"disabled": false,
"alwaysAllow": [
// 如果不想确认提示,请在此处添加工具名称
// 例如:"answer_query_websearch"
],
"timeout": 3600 // 可选:超时时间(秒)
}
// 在此处添加其他服务器...
}
}
env块中的环境变量正确设置,要么匹配.env,要么在这里显式定义。实际JSON文件中删除注释。重启/重新加载Cline:Cline应检测到配置变化并启动服务器。
使用工具:现在可以通过Cline使用广泛的工具列表。
bun run watchbun run lintbun run format本项目采用MIT许可证 - 详情见LICENSE文件。