Vertex AI 文档搜索
通过Gemini基线在Vertex AI上启用文档搜索的服务器,通过将响应基线化在Vertex AI Datastore中存储的私有数据来改进搜索结果。
服务介绍
MCP Server for Vertex AI Search
这是一个用于通过 Vertex AI 搜索文档的 MCP 服务器。
架构
该解决方案使用 Gemini 和 Vertex AI 接地来搜索您的私有数据文档。
接地通过将 Gemini 的响应基于存储在 Vertex AI Datastore 中的数据,提高了搜索结果的质量。
我们可以将一个或多个 Vertex AI 数据存储集成到 MCP 服务器中。
有关接地的更多详细信息,请参阅 Vertex AI Grounding 文档。

如何使用
有两种方法可以使用此 MCP 服务器。如果您希望在 Docker 上运行它,第一种方法会比较好,因为项目中提供了 Dockerfile。
1. 克隆仓库
# 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
安装 Python 包
该包尚未发布到 PyPI,但我们可以从仓库安装它。
要运行 MCP 服务器,我们需要一个从 config.yml.template 衍生的配置文件,因为 Python 包不包含配置模板。
有关配置文件的详细信息,请参阅 附录 A:配置文件。
# Install the package
pip install git+https://github.com/ubie-oss/mcp-vertexai-search.git
# Check the command
mcp-vertexai-search --help
开发
前提条件
- uv
- Vertex AI 数据存储
- 请查阅 关于数据存储的官方文档 以获取更多信息
设置本地环境
# Optional: Install uv
python -m pip install -r requirements.setup.txt
# Create a virtual environment
uv venv
uv sync --all-extras
运行 MCP 服务器
这支持两种传输方式:SSE(Server-Sent Events)和 stdio(标准输入输出)。
我们可以通过设置 --transport 标志来控制传输方式。
我们可以用 YAML 文件配置 MCP 服务器。
config.yml.template 是配置文件的模板。
请根据需要修改配置文件。
uv run mcp-vertexai-search serve \
--config config.yml \
--transport <stdio|sse>
测试 Vertex AI 搜索
我们可以使用 mcp-vertexai-search search 命令在没有 MCP 服务器的情况下测试 Vertex AI 搜索。
uv run mcp-vertexai-search search \
--config config.yml \
--query <your-query>
附录 A: 配置文件
config.yml.template 是配置文件的模板。
serverserver.name: MCP 服务器的名称
modelmodel.model_name: Vertex AI 模型的名称model.project_id: Vertex AI 模型的项目 IDmodel.location: 模型的位置(例如 us-central1)model.impersonate_service_account: 要模拟的服务账号model.generate_content_config: 生成内容 API 的配置
data_stores: Vertex AI 数据存储列表data_stores.project_id: Vertex AI 数据存储的项目 IDdata_stores.location: Vertex AI 数据存储的位置(例如 us)data_stores.datastore_id: Vertex AI 数据存储的 IDdata_stores.tool_name: 工具的名称data_stores.description: Vertex AI 数据存储的描述