Vertex AI Gemini MCP server

Provides a bridge to Google Cloud's Vertex AI Gemini models with web search grounding, direct knowledge answering, and documentation-based responses through configurable tools and streaming support.
Back to servers
Setup instructions
Provider
Shariq Riaz
Release date
Apr 21, 2025
Language
TypeScript
Stats
67 stars

The Vertex AI MCP Server provides a comprehensive suite of tools for interacting with Google Cloud's Vertex AI Gemini models, enabling coding assistance and query answering through the Model Context Protocol (MCP).

Prerequisites

  • Node.js (v18+)
  • Bun (npm install -g bun)
  • Google Cloud Project with billing enabled
  • Vertex AI API enabled in your GCP project
  • Google Cloud Authentication configured (Application Default Credentials or Service Account Key)

Installation

  1. Install dependencies:
bun install
  1. Configure your environment by creating a .env file in the project root:
# Required configuration
AI_PROVIDER=vertex  # Use "vertex" or "gemini"

# If using vertex
GOOGLE_CLOUD_PROJECT=your-project-id

# If using gemini
GEMINI_API_KEY=your-gemini-api-key

# Optional configuration
VERTEX_MODEL_ID=gemini-2.5-pro-exp-03-25
GOOGLE_CLOUD_LOCATION=us-central1
AI_TEMPERATURE=0.0
AI_USE_STREAMING=true
AI_MAX_OUTPUT_TOKENS=65536
AI_MAX_RETRIES=3
AI_RETRY_DELAY_MS=1000
  1. Build the server:
bun run build

Usage

Running Standalone

Once published to npm, you can run the server directly:

# Using bunx
bunx vertex-ai-mcp-server

# Or install globally
bun install -g vertex-ai-mcp-server
vertex-ai-mcp-server

Installing via Smithery

You can install the server for Claude Desktop automatically:

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

Using with Cline

  1. Configure MCP settings in your Cline configuration file (e.g., .roo/mcp.json):

Option A: Using Node (Direct Path)

{
  "mcpServers": {
    "vertex-ai-mcp-server": {
      "command": "node",
      "args": [
        "/full/path/to/your/vertex-ai-mcp-server/build/index.js"
      ],
      "env": {
        "AI_PROVIDER": "vertex",
        "GOOGLE_CLOUD_PROJECT": "YOUR_GCP_PROJECT_ID",
        "VERTEX_MODEL_ID": "gemini-2.5-pro-exp-03-25",
        "GOOGLE_CLOUD_LOCATION": "us-central1",
        "AI_TEMPERATURE": "0.0",
        "AI_USE_STREAMING": "true",
        "AI_MAX_OUTPUT_TOKENS": "65536",
        "AI_MAX_RETRIES": "3",
        "AI_RETRY_DELAY_MS": "1000"
      },
      "disabled": false,
      "timeout": 3600
    }
  }
}

Option B: Using Bunx

{
  "mcpServers": {
    "vertex-ai-mcp-server": {
      "command": "bunx",
      "args": [
        "-y",
        "vertex-ai-mcp-server"
      ],
      "env": {
        "AI_PROVIDER": "vertex",
        "GOOGLE_CLOUD_PROJECT": "YOUR_GCP_PROJECT_ID",
        "VERTEX_MODEL_ID": "gemini-2.5-pro-exp-03-25",
        "GOOGLE_CLOUD_LOCATION": "us-central1",
        "AI_TEMPERATURE": "0.0",
        "AI_USE_STREAMING": "true",
        "AI_MAX_OUTPUT_TOKENS": "65536",
        "AI_MAX_RETRIES": "3",
        "AI_RETRY_DELAY_MS": "1000"
      },
      "disabled": false,
      "timeout": 3600
    }
  }
}
  1. Restart/reload Cline to detect the configuration change

Available Tools

Query & Generation Tools

  • answer_query_websearch: Answers queries using Vertex AI with Google Search results
  • answer_query_direct: Answers queries using only the model's internal knowledge
  • explain_topic_with_docs: Provides detailed explanations by synthesizing information from official documentation
  • get_doc_snippets: Provides authoritative code snippets from official documentation
  • generate_project_guidelines: Creates structured project guidelines based on specified technologies

Research & Analysis Tools

  • code_analysis_with_docs: Analyzes code against best practices from official documentation
  • technical_comparison: Compares multiple technologies based on specific criteria
  • architecture_pattern_recommendation: Suggests architecture patterns for specific use cases
  • dependency_vulnerability_scan: Analyzes project dependencies for security vulnerabilities
  • database_schema_analyzer: Reviews database schemas for optimization opportunities
  • security_best_practices_advisor: Provides security recommendations for specific technologies
  • testing_strategy_generator: Creates comprehensive testing strategies
  • regulatory_compliance_advisor: Provides guidance on regulatory requirements
  • microservice_design_assistant: Helps design microservice architectures
  • documentation_generator: Creates comprehensive documentation following best practices

Filesystem Operations

  • read_file_content: Reads file contents
  • write_file_content: Creates or overwrites files
  • edit_file_content: Makes line-based edits to text files
  • list_directory_contents: Lists files and directories within a path
  • get_directory_tree: Gets a recursive tree view of files and directories
  • move_file_or_directory: Moves or renames files and directories
  • search_filesystem: Searches for files/directories matching patterns
  • get_filesystem_info: Retrieves detailed metadata about files or directories
  • execute_terminal_command: Executes shell commands

Combined AI + Filesystem Operations

  • save_generate_project_guidelines: Generates and saves project guidelines
  • save_doc_snippet: Finds and saves code snippets from documentation
  • save_topic_explanation: Generates and saves topic explanations
  • save_answer_query_direct: Answers queries and saves results
  • save_answer_query_websearch: Answers queries using web search and saves results

How to install this MCP server

For Claude Code

To add this MCP server to Claude Code, run this command in your terminal:

claude mcp add-json "vertex-ai-mcp-server" '{"command":"bunx","args":["-y","vertex-ai-mcp-server"],"env":{"AI_PROVIDER":"vertex","GOOGLE_CLOUD_PROJECT":"YOUR_GCP_PROJECT_ID","VERTEX_MODEL_ID":"gemini-2.5-pro-exp-03-25","GOOGLE_CLOUD_LOCATION":"us-central1","AI_TEMPERATURE":"0.0","AI_USE_STREAMING":"true","AI_MAX_OUTPUT_TOKENS":"65536","AI_MAX_RETRIES":"3","AI_RETRY_DELAY_MS":"1000"},"disabled":false,"timeout":3600}'

See the official Claude Code MCP documentation for more details.

For Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > Tools & Integrations and click "New MCP Server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "vertex-ai-mcp-server": {
            "command": "bunx",
            "args": [
                "-y",
                "vertex-ai-mcp-server"
            ],
            "env": {
                "AI_PROVIDER": "vertex",
                "GOOGLE_CLOUD_PROJECT": "YOUR_GCP_PROJECT_ID",
                "VERTEX_MODEL_ID": "gemini-2.5-pro-exp-03-25",
                "GOOGLE_CLOUD_LOCATION": "us-central1",
                "AI_TEMPERATURE": "0.0",
                "AI_USE_STREAMING": "true",
                "AI_MAX_OUTPUT_TOKENS": "65536",
                "AI_MAX_RETRIES": "3",
                "AI_RETRY_DELAY_MS": "1000"
            },
            "disabled": false,
            "timeout": 3600
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.

For Claude Desktop

To add this MCP server to Claude Desktop:

1. Find your configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

2. Add this to your configuration file:

{
    "mcpServers": {
        "vertex-ai-mcp-server": {
            "command": "bunx",
            "args": [
                "-y",
                "vertex-ai-mcp-server"
            ],
            "env": {
                "AI_PROVIDER": "vertex",
                "GOOGLE_CLOUD_PROJECT": "YOUR_GCP_PROJECT_ID",
                "VERTEX_MODEL_ID": "gemini-2.5-pro-exp-03-25",
                "GOOGLE_CLOUD_LOCATION": "us-central1",
                "AI_TEMPERATURE": "0.0",
                "AI_USE_STREAMING": "true",
                "AI_MAX_OUTPUT_TOKENS": "65536",
                "AI_MAX_RETRIES": "3",
                "AI_RETRY_DELAY_MS": "1000"
            },
            "disabled": false,
            "timeout": 3600
        }
    }
}

3. Restart Claude Desktop for the changes to take effect

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later