Skip to main content
Glama

Сервер Vertex AI MCP

значок кузнеца

В этом проекте реализован сервер Model Context Protocol (MCP), который предоставляет комплексный набор инструментов для взаимодействия с моделями Vertex AI Gemini от Google Cloud, уделяя особое внимание помощи в кодировании и ответам на общие запросы.

Функции

  • Предоставляет доступ к моделям Vertex AI Gemini через многочисленные инструменты MCP.

  • Поддерживает обоснование веб-поиска ( answer_query_websearch ) и ответы на основе прямых знаний ( answer_query_direct ).

  • Настраиваемый идентификатор модели, температура, поведение потоковой передачи, максимальное количество выходных токенов и параметры повтора с помощью переменных среды.

  • По умолчанию используется потоковый API для потенциально лучшего отклика.

  • Включает базовую логику повторных попыток для временных ошибок API.

  • Применяются минимальные фильтры безопасности ( BLOCK_NONE ) для снижения потенциальной блокировки (используйте с осторожностью).

Related MCP server: mcp-google

Предоставляемые инструменты

Запрос и генерация (с упором на ИИ)

  • answer_query_websearch : отвечает на запросы на естественном языке, используя настроенную модель Vertex AI, улучшенную с помощью результатов поиска Google.

  • answer_query_direct : отвечает на запрос на естественном языке, используя только внутренние знания настроенной модели Vertex AI.

  • explain_topic_with_docs : предоставляет подробное объяснение запроса по определенной теме программного обеспечения, синтезируя информацию, в основном из официальной документации, найденной с помощью веб-поиска.

  • get_doc_snippets : предоставляет точные, достоверные фрагменты кода или краткие ответы на технические вопросы путем поиска в официальной документации.

  • generate_project_guidelines : создает структурированный документ с рекомендациями по проекту (Markdown) на основе указанного списка технологий (опционально с версиями), используя веб-поиск передового опыта.

Инструменты исследования и анализа

  • code_analysis_with_docs : анализирует фрагменты кода, сравнивая их с лучшими практиками из официальной документации, выявляя потенциальные ошибки, проблемы с производительностью и уязвимости безопасности.

  • technical_comparison : сравнивает несколько технологий, фреймворков или библиотек на основе определенных критериев, предоставляя подробные сравнительные таблицы с плюсами/минусами и вариантами использования.

  • architecture_pattern_recommendation : предлагает шаблоны архитектуры для конкретных вариантов использования на основе лучших отраслевых практик с примерами реализации и соображениями.

  • dependency_vulnerability_scan : анализирует зависимости проекта на предмет известных уязвимостей безопасности, предоставляя подробную информацию и стратегии смягчения последствий.

  • database_schema_analyzer : проверяет схемы баз данных на предмет нормализации, индексации и проблем производительности, предлагая улучшения на основе передового опыта, специфичного для конкретной базы данных.

  • security_best_practices_advisor : предоставляет рекомендации по безопасности для конкретных технологий или сценариев, а также примеры кода для внедрения безопасных практик.

  • testing_strategy_generator : создает комплексные стратегии тестирования для приложений или функций, предлагая соответствующие типы тестирования с целями покрытия.

  • regulatory_compliance_advisor : предоставляет рекомендации по нормативным требованиям для конкретных отраслей (GDPR, HIPAA и т. д.) с подходами к внедрению для обеспечения соответствия.

  • microservice_design_assistant : помогает проектировать архитектуры микросервисов для определенных доменов с рекомендациями по границам сервисов и шаблонами коммуникации.

  • documentation_generator : создает исчерпывающую документацию по коду, API или системам, следуя лучшим отраслевым практикам технической документации.

Операции файловой системы

  • read_file_content : Прочитать полное содержимое одного или нескольких файлов. Укажите одну строку пути или массив строк пути.

  • write_file_content : Создать новые файлы или полностью перезаписать существующие файлы. Аргумент 'writes' принимает один объект ( {path, content} ) или массив таких объектов.

  • edit_file_content : вносит построчные изменения в текстовый файл, возвращает предварительный просмотр различий или применяет изменения.

  • list_directory_contents : выводит список файлов и каталогов непосредственно по указанному пути (нерекурсивно).

  • get_directory_tree : Получает рекурсивное древовидное представление файлов и каталогов в формате JSON.

  • move_file_or_directory : Перемещает или переименовывает файлы и каталоги.

  • search_filesystem : Рекурсивный поиск файлов/каталогов, соответствующих шаблону имени, с возможными исключениями.

  • get_filesystem_info : Извлекает подробные метаданные (размер, даты, тип, разрешения) о файле или каталоге.

  • execute_terminal_command : Выполнить команду оболочки, при необходимости указав cwd и timeout . Возвращает stdout/stderr.

Комбинированные операции ИИ + файловой системы

  • save_generate_project_guidelines : создает руководства по проекту на основе технологического стека и сохраняет результат в указанном файле.

  • save_doc_snippet : находит фрагменты кода из документации и сохраняет результат в указанном файле.

  • save_topic_explanation : создает подробное объяснение темы на основе документации и сохраняет результат в указанном файле.

  • save_answer_query_direct : отвечает на запрос, используя только внутренние знания, и сохраняет ответ в указанном файле.

  • save_answer_query_websearch : отвечает на запрос, используя результаты веб-поиска, и сохраняет ответ в указанном пути к файлу.

(Примечание: схемы ввода/вывода для каждого инструмента определены в соответствующих файлах в

Предпосылки

  • Node.js (v18+)

  • Бан ( npm install -g bun )

  • Проект Google Cloud с включенным биллингом.

  • API Vertex AI включен в проект GCP.

  • В вашей среде настроена аутентификация Google Cloud (рекомендуется использовать учетные данные приложения по умолчанию с помощью gcloud auth application-default login или ключ учетной записи службы).

Настройка и установка

  1. Клонировать/разместить проект: убедитесь, что файлы проекта находятся в нужном вам месте.

  2. Установить зависимости:

    bun install
  3. Настроить среду:

    • Создайте файл .env в корне проекта (скопируйте .env.example ).

    • Задайте обязательные и необязательные переменные среды, как описано в .env.example .

      • Установите AI_PROVIDER на "vertex" или "gemini" .

      • Если AI_PROVIDER="vertex" , требуется GOOGLE_CLOUD_PROJECT .

      • Если AI_PROVIDER="gemini" , требуется GEMINI_API_KEY .

  4. Сборка сервера:

    bun run build

    Это компилирует код TypeScript в build/index.js .

Использование (автономное / NPX)

После публикации в npm вы можете запустить этот сервер напрямую с помощью npx :

# Ensure required environment variables are set (e.g., GOOGLE_CLOUD_PROJECT) bunx vertex-ai-mcp-server

Либо установите его глобально:

bun install -g vertex-ai-mcp-server # Then run: vertex-ai-mcp-server

Примечание: для автономного запуска требуется настроить необходимые переменные среды (например, GOOGLE_CLOUD_PROJECT , GOOGLE_CLOUD_LOCATION , учетные данные аутентификации, если не используется ADC) в среде оболочки перед выполнением команды.

Установка через Smithery

Чтобы автоматически установить Vertex AI Server для Claude Desktop через Smithery :

bunx -y @smithery/cli install @shariqriazz/vertex-ai-mcp-server --client claude

Бег с Клайном

  1. Настройте параметры MCP: добавьте/обновите конфигурацию в файле настроек Cline MCP (например, .roo/mcp.json ). У вас есть два основных способа настроить команду:

    Вариант A: использование Node (прямой путь — рекомендуется для разработки)

    Этот метод использует node для прямого запуска скомпилированного скрипта. Это полезно во время разработки, когда у вас есть код, клонированный локально.

    { "mcpServers": { "vertex-ai-mcp-server": { "command": "node", "args": [ "/full/path/to/your/vertex-ai-mcp-server/build/index.js" // Use absolute path or ensure it's relative to where Cline runs node ], "env": { // --- General AI Configuration --- "AI_PROVIDER": "vertex", // "vertex" or "gemini" // --- Required (Conditional) --- "GOOGLE_CLOUD_PROJECT": "YOUR_GCP_PROJECT_ID", // Required if AI_PROVIDER="vertex" // "GEMINI_API_KEY": "YOUR_GEMINI_API_KEY", // Required if AI_PROVIDER="gemini" // --- Optional Model Selection --- "VERTEX_MODEL_ID": "gemini-2.5-pro-exp-03-25", // If AI_PROVIDER="vertex" (Example override) "GEMINI_MODEL_ID": "gemini-2.5-pro-exp-03-25", // If AI_PROVIDER="gemini" // --- Optional AI Parameters --- "GOOGLE_CLOUD_LOCATION": "us-central1", // Specific to Vertex AI "AI_TEMPERATURE": "0.0", "AI_USE_STREAMING": "true", "AI_MAX_OUTPUT_TOKENS": "65536", // Default from .env.example "AI_MAX_RETRIES": "3", "AI_RETRY_DELAY_MS": "1000", // --- Optional Vertex Authentication --- // "GOOGLE_APPLICATION_CREDENTIALS": "/path/to/your/service-account-key.json" // If using Service Account Key for Vertex }, "disabled": false, "alwaysAllow": [ // Add tool names here if you don't want confirmation prompts // e.g., "answer_query_websearch" ], "timeout": 3600 // Optional: Timeout in seconds } // Add other servers here... } }
    • Важно: Убедитесь, что путь args правильно указывает на файл build/index.js . Использование абсолютного пути может быть более надежным.

    Вариант B: использование NPX (требуется публикация пакета в npm)

    Этот метод использует npx для автоматической загрузки и запуска пакета сервера из реестра npm. Это удобно, если вы не хотите клонировать репозиторий.

    { "mcpServers": { "vertex-ai-mcp-server": { "command": "bunx", // Use bunx "args": [ "-y", // Auto-confirm installation "vertex-ai-mcp-server" // The npm package name ], "env": { // --- General AI Configuration --- "AI_PROVIDER": "vertex", // "vertex" or "gemini" // --- Required (Conditional) --- "GOOGLE_CLOUD_PROJECT": "YOUR_GCP_PROJECT_ID", // Required if AI_PROVIDER="vertex" // "GEMINI_API_KEY": "YOUR_GEMINI_API_KEY", // Required if AI_PROVIDER="gemini" // --- Optional Model Selection --- "VERTEX_MODEL_ID": "gemini-2.5-pro-exp-03-25", // If AI_PROVIDER="vertex" (Example override) "GEMINI_MODEL_ID": "gemini-2.5-pro-exp-03-25", // If AI_PROVIDER="gemini" // --- Optional AI Parameters --- "GOOGLE_CLOUD_LOCATION": "us-central1", // Specific to Vertex AI "AI_TEMPERATURE": "0.0", "AI_USE_STREAMING": "true", "AI_MAX_OUTPUT_TOKENS": "65536", // Default from .env.example "AI_MAX_RETRIES": "3", "AI_RETRY_DELAY_MS": "1000", // --- Optional Vertex Authentication --- // "GOOGLE_APPLICATION_CREDENTIALS": "/path/to/your/service-account-key.json" // If using Service Account Key for Vertex }, "disabled": false, "alwaysAllow": [ // Add tool names here if you don't want confirmation prompts // e.g., "answer_query_websearch" ], "timeout": 3600 // Optional: Timeout in seconds } // Add other servers here... } }
    • Убедитесь, что переменные среды в блоке env установлены правильно, либо соответствуют .env , либо явно определены здесь. Удалите комментарии из фактического файла JSON.

  2. Перезапуск/перезагрузка Cline: Cline должен обнаружить изменение конфигурации и запустить сервер.

  3. Использование инструментов: теперь вы можете использовать обширный список инструментов через Cline.

Разработка

  • Режим просмотра: bun run watch

  • Линтинг: bun run lint

  • Форматирование: bun run format

Лицензия

Данный проект лицензирован по лицензии MIT — подробности см. в файле LICENSE .

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/shariqriazz/vertex-ai-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server