返回市场
顶点人工智能MCP服务器

顶点人工智能MCP服务器

作者:shariqriazz85 星标更新:2025-07-03

项目介绍

MseeP.ai 安全评估徽章

Vertex AI MCP 服务器

smithery 徽章

该项目实现了一个模型上下文协议(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>

特性

  • 提供通过多种MCP工具访问Vertex AI Gemini模型。
  • 支持基于网络搜索的查询回答(answer_query_websearch)和直接知识回答(answer_query_direct)。
  • 通过环境变量配置模型ID、温度、流式行为、最大输出令牌数和重试设置。
  • 默认使用流式API以获得更好的响应性。
  • 包含基本的瞬时API错误重试逻辑。
  • 应用最小的安全过滤器(BLOCK_NONE)以减少潜在的阻塞(谨慎使用)。

提供的工具

查询与生成(AI聚焦)

  • 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命令,可选指定cwdtimeout。返回stdout/stderr。

组合AI + 文件系统操作

  • save_generate_project_guidelines:根据技术栈生成项目指南并保存到指定文件路径。
  • save_doc_snippet:从文档中查找代码片段并保存到指定文件路径。
  • save_topic_explanation:根据文档生成主题的详细解释并保存到指定文件路径。
  • save_answer_query_direct:仅使用内部知识回答查询并将答案保存到指定文件路径。
  • save_answer_query_websearch:使用网络搜索结果回答查询并将答案保存到指定文件路径。

(注意:每个工具的输入/输出模式定义在src/tools/目录下的相应文件中并通过MCP服务器公开。)

预备条件

  • Node.js (v18+)
  • Bun (npm install -g bun)
  • 启用了计费的Google Cloud项目。
  • 在GCP项目中启用了Vertex AI API。
  • 在环境中配置了Google Cloud身份验证(推荐使用gcloud auth application-default login设置应用默认凭据,或者使用服务账户密钥)。

设置与安装

  1. 克隆/放置项目:确保项目文件位于您期望的位置。
  2. 安装依赖项
    bun install
    
  3. 配置环境
    • 在项目根目录下创建一个.env文件(复制.env.example)。
    • 根据.env.example设置所需的和可选的环境变量。
      • AI_PROVIDER设置为"vertex""gemini"
      • 如果AI_PROVIDER="vertex",则需要GOOGLE_CLOUD_PROJECT
      • 如果AI_PROVIDER="gemini",则需要GEMINI_API_KEY
  4. 构建服务器
    bun run build
    
    这会将TypeScript代码编译成build/index.js

使用(独立/NPX)

一旦发布到npm,您可以直接使用npx运行此服务器:

# 确保设置了必要的环境变量(例如,GOOGLE_CLOUD_PROJECT)
bunx vertex-ai-mcp-server

或者全局安装它:

bun install -g vertex-ai-mcp-server
# 然后运行:
vertex-ai-mcp-server

注意:独立运行需要在执行命令之前在您的shell环境中设置必要的环境变量(如GOOGLE_CLOUD_PROJECTGOOGLE_CLOUD_LOCATION,如果不是使用ADC,则还需要认证凭证)。

通过Smithery安装

要通过Smithery自动安装Vertex AI Server for Claude Desktop:

bunx -y @smithery/cli install @shariqriazz/vertex-ai-mcp-server --client claude

使用Cline运行

  1. 配置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文件中删除注释。
  2. 重启/重新加载Cline:Cline应检测到配置变化并启动服务器。

  3. 使用工具:现在可以通过Cline使用广泛的工具列表。

开发

  • 监视模式bun run watch
  • 代码检查bun run lint
  • 代码格式化bun run format

许可证

本项目采用MIT许可证 - 详情见LICENSE文件。