MCP Server for Vertex AI Search

by ubie-oss

Integrations

  • Integrates with Google's Vertex AI Search to enable document searching using Gemini with grounding. Allows querying across one or multiple Vertex AI data stores to retrieve information from private data sources.

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>

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
-
security - not tested
A
license - permissive license
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

A server that enables document searching using Vertex AI with Gemini grounding, improving search results by grounding responses in private data stored in Vertex AI Datastore.

  1. Architecture
    1. How to use
      1. 1. Clone the repository
      2. Install the python package
    2. Development
      1. Prerequisites
      2. Set up Local Environment
      3. Run the MCP server
      4. Test the Vertex AI Search
    3. Appendix A: Config file

      Related MCP Servers

      • A
        security
        A
        license
        A
        quality
        A server facilitating web search functionality by utilizing Perplexity AI's API, designed to integrate with the Claude desktop client for enhanced search queries.
        Last updated a month ago
        1
        94
        Python
        MIT License
        • Apple
      • A
        security
        F
        license
        A
        quality
        This server allows users to perform web searches using Perplexity AI, providing a tool for retrieving search results through a simple API interface.
        Last updated 2 months ago
        1
        2
        TypeScript
      • -
        security
        A
        license
        -
        quality
        A server that allows AI assistants to search for research papers, read their content, and access related code repositories through the PapersWithCode API.
        Last updated 12 days ago
        4
        Python
        MIT License
      • -
        security
        A
        license
        -
        quality
        A server that provides data retrieval capabilities powered by Chroma embedding database, enabling AI models to create collections over generated data and user inputs, and retrieve that data using vector search, full text search, and metadata filtering.
        Last updated 24 days ago
        71
        Python
        Apache 2.0

      View all related MCP servers

      ID: nbilfwk7u7