](https://mseep.ai/app/shariqriazz-vertex-ai-mcp-server)
顶点AI MCP服务器
](https://smithery.ai/server/@shariqriazz/vertex-ai-mcp-server)
该项目实现了一个模型上下文协议(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模型回答自然语言查询,并使用谷歌搜索结果进行增强。answer_query_direct:仅使用配置的Vertex AI模型的内部知识来回答自然语言查询。explain_topic_with_docs:通过综合主要来自通过网络搜索找到的官方文档的信息,为有关特定软件主题的查询提供详细解释。get_doc_snippets:通过搜索官方文档,为技术查询提供精确、权威的代码片段或简洁的答案。generate_project_guidelines:使用网络搜索最佳实践,根据指定的技术列表(可选版本)生成结构化的项目指南文档(Markdown)。
研究和分析工具
code_analysis_with_docs:通过将代码片段与官方文档中的最佳实践进行比较来分析代码片段,识别潜在的错误、性能问题和安全漏洞。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。
AI+文件系统组合操作
save_generate_project_guidelines:基于技术栈生成项目指南,并将结果保存到指定的文件路径。save_doc_snippet:从文档中查找代码段并将结果保存到指定的文件路径。save_topic_explanation:根据文档生成主题的详细说明,并将结果保存到指定的文件路径。save_answer_query_direct:仅使用内部知识回答查询,并将答案保存到指定的文件路径。save_answer_query_websearch:使用web搜索结果回答查询,并将答案保存到指定的文件路径。
*(注:每个工具的输入/输出模式在其各自的文件中定义 src/tools/ 并通过MCP服务器暴露。)*
先决条件
- Node.js(v18+)
- Bun(
npm install -g bun) - 启用计费的谷歌云项目。
- Vertex AI API在GCP项目中启用。
- 在您的环境中配置Google Cloud身份验证(应用程序默认凭据通过
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.
用法(独立/NPX)
发布到npm后,您可以直接使用以下命令运行此服务器 npx:
# Ensure required environment variables are set (e.g., GOOGLE_CLOUD_PROJECT)
bunx vertex-ai-mcp-server或者,全局安装:
bun install -g vertex-ai-mcp-server
# Then run:
vertex-ai-mcp-server注: 独立运行需要设置必要的环境变量(如 GOOGLE_CLOUD_PROJECT, GOOGLE_CLOUD_LOCATION,如果不使用ADC,请在执行命令之前在shell环境中提供身份验证凭据。
通过Smithery安装
通过以下方式自动安装克劳德桌面的Vertex AI服务器 史密瑟里:
bunx -y @smithery/cli install @shariqriazz/vertex-ai-mcp-server --client claude与Cline一起跑步
- 配置MCP设置: 在Cline MCP设置文件中添加/更新配置(例如。,
.roo/mcp.json).配置命令有两种主要方法:
选项A:使用节点(直接路径-建议用于开发)
此方法使用 node 直接运行编译后的脚本。在开发过程中,当您在本地克隆代码时,这很有用。
{
"mcpServers": {
"vertex-ai-mcp-server": {
"command": "node",
"args": [
"/full/path/to/your/vertex-ai-mcp-server/build/index.js" // Use absolute path or ensure it's relative to where Cline runs node
],
"env": {
// --- General AI Configuration ---
"AI_PROVIDER": "vertex", // "vertex" or "gemini"
// --- Required (Conditional) ---
"GOOGLE_CLOUD_PROJECT": "YOUR_GCP_PROJECT_ID", // Required if AI_PROVIDER="vertex"
// "GEMINI_API_KEY": "YOUR_GEMINI_API_KEY", // Required if AI_PROVIDER="gemini"
// --- Optional Model Selection ---
"VERTEX_MODEL_ID": "gemini-2.5-pro-exp-03-25", // If AI_PROVIDER="vertex" (Example override)
"GEMINI_MODEL_ID": "gemini-2.5-pro-exp-03-25", // If AI_PROVIDER="gemini"
// --- Optional AI Parameters ---
"GOOGLE_CLOUD_LOCATION": "us-central1", // Specific to Vertex AI
"AI_TEMPERATURE": "0.0",
"AI_USE_STREAMING": "true",
"AI_MAX_OUTPUT_TOKENS": "65536", // Default from .env.example
"AI_MAX_RETRIES": "3",
"AI_RETRY_DELAY_MS": "1000",
// --- Optional Vertex Authentication ---
// "GOOGLE_APPLICATION_CREDENTIALS": "/path/to/your/service-account-key.json" // If using Service Account Key for Vertex
},
"disabled": false,
"alwaysAllow": [
// Add tool names here if you don't want confirmation prompts
// e.g., "answer_query_websearch"
],
"timeout": 3600 // Optional: Timeout in seconds
}
// Add other servers here...
}
}- 重要提示: 确保 args 路径正确指向 build/index.js 文件。使用绝对路径可能更可靠。
选项B:使用NPX(需要将包发布到npm)
此方法使用 npx 从npm注册表自动下载并运行服务器包。如果您不想克隆存储库,这很方便。
{
"mcpServers": {
"vertex-ai-mcp-server": {
"command": "bunx", // Use bunx
"args": [
"-y", // Auto-confirm installation
"vertex-ai-mcp-server" // The npm package name
],
"env": {
// --- General AI Configuration ---
"AI_PROVIDER": "vertex", // "vertex" or "gemini"
// --- Required (Conditional) ---
"GOOGLE_CLOUD_PROJECT": "YOUR_GCP_PROJECT_ID", // Required if AI_PROVIDER="vertex"
// "GEMINI_API_KEY": "YOUR_GEMINI_API_KEY", // Required if AI_PROVIDER="gemini"
// --- Optional Model Selection ---
"VERTEX_MODEL_ID": "gemini-2.5-pro-exp-03-25", // If AI_PROVIDER="vertex" (Example override)
"GEMINI_MODEL_ID": "gemini-2.5-pro-exp-03-25", // If AI_PROVIDER="gemini"
// --- Optional AI Parameters ---
"GOOGLE_CLOUD_LOCATION": "us-central1", // Specific to Vertex AI
"AI_TEMPERATURE": "0.0",
"AI_USE_STREAMING": "true",
"AI_MAX_OUTPUT_TOKENS": "65536", // Default from .env.example
"AI_MAX_RETRIES": "3",
"AI_RETRY_DELAY_MS": "1000",
// --- Optional Vertex Authentication ---
// "GOOGLE_APPLICATION_CREDENTIALS": "/path/to/your/service-account-key.json" // If using Service Account Key for Vertex
},
"disabled": false,
"alwaysAllow": [
// Add tool names here if you don't want confirmation prompts
// e.g., "answer_query_websearch"
],
"timeout": 3600 // Optional: Timeout in seconds
}
// Add other servers here...
}
}- 确保环境变量 env 块设置正确,要么匹配 .env 或者在这里明确定义。从实际JSON文件中删除注释。
- 重新启动/重新加载Cline: Cline应检测到配置更改并启动服务器。
- 使用工具: 现在,您可以通过Cline使用广泛的工具列表。
发展
- 观看模式:
bun run watch - Linting:
bun run lint - 格式:
bun run format
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
