MCP Connector

Ground Gemini Responses with Private Data

Google Vertex AI Search MCP Server grounds Gemini answers in your private Vertex AI data stores for document search.

Works with githubgoogle vertex ai

91
Spark score
out of 100
Updated last month
Version 1.0.0
Models
gemini 2 0

Add to Favorites

Why it matters

Enhance your Gemini-powered applications by grounding responses in your private data. This asset integrates with Vertex AI Datastores to provide more accurate and contextually relevant search results.

Outcomes

What it gets done

01

Integrate with one or multiple Vertex AI datastores.

02

Utilize Gemini with Vertex AI grounding for superior search.

03

Configure YAML for seamless integration.

04

Test search functionality independently.

Install

Add it to your toolbox

Run in your project directory:

curl -fsSL https://spark.entire.vc/get/vb-google-vertex-ai-search | bash

Capabilities

Tools your agent gets

search_datastore

Search documents in Vertex AI Datastore using Gemini with grounding for enhanced results.

Overview

Google Vertex AI Search MCP Server

Google Vertex AI Search MCP Server grounds Gemini's answers in your private Vertex AI data stores, configurable via YAML with stdio or SSE transport. Use it when an AI assistant needs to search and ground answers in your organization's private Vertex AI-indexed documents.

What it does

Google Vertex AI Search MCP Server is an MCP server for searching documents using Vertex AI. It uses Gemini with Vertex AI grounding to search your private data, improving result quality by grounding Gemini's responses in data stored in a Vertex AI Datastore. One or multiple Vertex AI data stores can be integrated into the same MCP server.

When to use - and when NOT to

Use it when you want an AI assistant to search and ground its answers in your organization's private documents stored in Vertex AI Search, instead of relying on Gemini's general knowledge alone. It requires an existing Vertex AI data store, set up separately via Google's data store documentation, and a config file derived from the project's config.yml.template, specifying the model, project, location, and one or more data stores to search. The Python package isn't published to PyPI yet, so it has to be installed directly from the GitHub repository rather than via a standard pip install command.

Capabilities

  • Document search grounded in Gemini plus Vertex AI grounding, pulling answers from your own data stores rather than general web knowledge
  • Multiple data store support: configure one or several Vertex AI data stores, each with its own tool name and description, exposed as separate searchable tools
  • Two transports: SSE (Server-Sent Events) and stdio, selectable via the --transport flag when starting the server
  • A standalone search command, mcp-vertexai-search search, to test a query against your configured data stores without running the full MCP server
  • YAML-based configuration covering server name, model name, project, and location, an optional service account to impersonate, generate-content settings, and per-data-store project ID, location, datastore ID, tool name, and description

How to install

Clone and run with uv:

git clone git@github.com:ubie-oss/mcp-vertexai-search.git
uv venv
uv sync --all-extras
uv run mcp-vertexai-search

Or install the package directly from the repository, since it is not yet on PyPI:

pip install git+https://github.com/ubie-oss/mcp-vertexai-search.git
mcp-vertexai-search --help

Either way, copy config.yml.template to a config.yml and fill in your model and data store details, then start the server with:

uv run mcp-vertexai-search serve --config config.yml --transport <stdio|sse>

Who it's for

Teams that already run Vertex AI Search over their own documents and want an AI assistant to query and ground answers in that private data through MCP, rather than building a custom Vertex AI grounding integration from scratch.

Source README

MCP Server for Vertex AI Search

This is a MCP server to search documents using Vertex AI.

Architecture

This solution uses Gemini with Vertex AI grounding to search documents using your private data.
Grounding improves the quality of search results by grounding Gemini's responses in your data stored in Vertex AI Datastore.
We can integrate one or multiple Vertex AI data stores to the MCP server.
For more details on grounding, refer to Vertex AI Grounding Documentation.

How to use

There are two ways to use this MCP server.
If you want to run this on Docker, the first approach would be good as Dockerfile is provided in the project.

1. Clone the repository

# Clone the repository
git clone git@github.com:ubie-oss/mcp-vertexai-search.git

# Create a virtual environment
uv venv
# Install the dependencies
uv sync --all-extras

# Check the command
uv run mcp-vertexai-search

Install the python package

The package isn't published to PyPI yet, but we can install it from the repository.
We need a config file derives from config.yml.template to run the MCP server, because the python package doesn't include the config template.
Please refer to Appendix A: Config file for the details of the config file.

# Install the package
pip install git+https://github.com/ubie-oss/mcp-vertexai-search.git

# Check the command
mcp-vertexai-search --help

Development

Prerequisites

Set up Local Environment

# Optional: Install uv
python -m pip install -r requirements.setup.txt

# Create a virtual environment
uv venv
uv sync --all-extras

Run the MCP server

This supports two transports for SSE (Server-Sent Events) and stdio (Standard Input Output).
We can control the transport by setting the --transport flag.

We can configure the MCP server with a YAML file.
config.yml.template is a template for the config file.
Please modify the config file to fit your needs.

uv run mcp-vertexai-search serve \
    --config config.yml \
    --transport <stdio|sse>

Test the Vertex AI Search

We can test the Vertex AI Search by using the mcp-vertexai-search search command without the MCP server.

uv run mcp-vertexai-search search \
    --config config.yml \
    --query <your-query>

Appendix A: Config file

config.yml.template is a template for the config file.

  • server
    • server.name: The name of the MCP server
  • model
    • model.model_name: The name of the Vertex AI model
    • model.project_id: The project ID of the Vertex AI model
    • model.location: The location of the model (e.g. us-central1)
    • model.impersonate_service_account: The service account to impersonate
    • model.generate_content_config: The configuration for the generate content API
  • data_stores: The list of Vertex AI data stores
    • data_stores.project_id: The project ID of the Vertex AI data store
    • data_stores.location: The location of the Vertex AI data store (e.g. us)
    • data_stores.datastore_id: The ID of the Vertex AI data store
    • data_stores.tool_name: The name of the tool
    • data_stores.description: The description of the Vertex AI data store

FAQ

Common questions

Discussion

Questions & comments ยท 0

Sign In Sign in to leave a comment.