MCP-сервер для поиска по документам через Vertex AI
Этот MCP-сервер позволяет ИИ-агентам (например, Claude Desktop) выполнять поиск по вашим приватным данным, хранящимся в Vertex AI Datastore от Google Cloud. Сервер использует Gemini с механизмом Grounding (привязка ответов к вашим данным) для повышения качества и релевантности результатов.
Архитектура
Решение связывает один или несколько Vertex AI Datastore с MCP-сервером. При запросе от LLM сервер обращается к указанным хранилищам, находит релевантные документы и возвращает ответ, подкреплённый вашими данными. Детали Grounding — в официальной документации Vertex AI.
Установка и запуск
Есть два способа: через Docker (рекомендуется, есть готовый Dockerfile) или через установку Python-пакета из репозитория.
Способ 1: Клонирование репозитория и запуск через uv
git clone git@github.com:ubie-oss/mcp-vertexai-search.git
cd mcp-vertexai-search
uv venv
uv sync --all-extras
uv run mcp-vertexai-search
Способ 2: Установка Python-пакета напрямую
Пакет пока не опубликован в PyPI, но его можно установить из репозитория. Для запуска потребуется файл конфигурации (см. ниже).
pip install git+https://github.com/ubie-oss/mcp-vertexai-search.git
mcp-vertexai-search --help
Конфигурация
Сервер настраивается через YAML-файл. Скопируйте шаблон config.yml.template из репозитория и подставьте свои значения.
Основные поля конфигурации
- server.name — имя MCP-сервера (произвольное).
- model — настройки модели Vertex AI:
model_name — имя модели (например, gemini-1.5-pro).
project_id — GCP-проект, где развёрнута модель.
location — регион (например, us-central1).
impersonate_service_account — сервисный аккаунт для делегирования прав (опционально).
generate_content_config — параметры генерации (температура и т.п.).
- data_stores — список хранилищ данных Vertex AI. Для каждого:
project_id — GCP-проект хранилища.
location — регион хранилища (например, us).
datastore_id — ID вашего Datastore.
tool_name — имя инструмента, под которым хранилище будет доступно LLM.
description — описание, помогающее модели понять, когда использовать этот источник.
Запуск MCP-сервера
Сервер поддерживает два транспорта:
- stdio — стандартный ввод/вывод (используется по умолчанию для Claude Desktop).
- sse — Server-Sent Events (для веб-интеграций).
Команда запуска:
uv run mcp-vertexai-search serve \
--config config.yml \
--transport stdio # или sse
Тестирование поиска без MCP
Можно проверить работу поиска напрямую, без запуска MCP-сервера:
uv run mcp-vertexai-search search \
--config config.yml \
--query "ваш запрос"
Разработка
Предварительные требования
- uv — менеджер проектов Python.
- Vertex AI Datastore — предварительно созданное и наполненное хранилище данных. Инструкция по созданию — в документации Google Cloud.
Настройка окружения
python -m pip install -r requirements.setup.txt
uv venv
uv sync --all-extras
Примечания
- Убедитесь, что у вашего сервисного аккаунта есть права на доступ к Vertex AI и Datastore.
- Если используется
impersonate_service_account, необходима соответствующая конфигурация IAM.
- Для продакшн-среды рекомендуем использовать Docker: в репозитории есть готовый Dockerfile.
Документация основана на репозитории ubie-oss/mcp-vertexai-search.
Комментарии
Комментариев пока нет. Будьте первым.