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

有两种方法可以使用此 MCP 服务器。如果您希望在 Docker 上运行它,第一种方法会比较好,因为项目中提供了 Dockerfile。
# 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

该包尚未发布到 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

# Optional: Install uv
python -m pip install -r requirements.setup.txt
# Create a virtual environment
uv venv
uv sync --all-extras

这支持两种传输方式:SSE(Server-Sent Events)和 stdio(标准输入输出)。
我们可以通过设置 --transport 标志来控制传输方式。
我们可以用 YAML 文件配置 MCP 服务器。 config.yml.template 是配置文件的模板。 请根据需要修改配置文件。
uv run mcp-vertexai-search serve \ --config config.yml \ --transport <stdio|sse>
我们可以使用 mcp-vertexai-search search 命令在没有 MCP 服务器的情况下测试 Vertex AI 搜索。
uv run mcp-vertexai-search search \ --config config.yml \ --query <your-query>
config.yml.template 是配置文件的模板。
server
server.name: MCP 服务器的名称model
model.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 数据存储的描述