Google Cloud Run

официальный

Официальный MCP-сервер для развертывания в Google Cloud Run.

Документация

Cloud Run MCP-сервер и расширение Gemini CLI

Позволяет MCP-совместимым AI-агентам развертывать приложения в Cloud Run.

"mcpServers":{
  "cloud-run": {
    "command": "npx",
    "args": ["-y", "@google-cloud/cloud-run-mcp"]
  }
}

Развертывание из Gemini CLI и других AI-консольных агентов:

Развертывание из AI-сред разработки:

Развертывание из AI-приложений-ассистентов:

Развертывание из агентских SDK, таких как Google Gen AI SDK или Agent Development Kit.

[!NOTE]
Это репозиторий MCP-сервера для развертывания кода в Cloud Run. Чтобы узнать, как размещать MCP-серверы в Cloud Run, посетите документацию Cloud Run.

Инструменты

  • deploy-file-contents: Развертывает файлы в Cloud Run, предоставляя их содержимое напрямую.

  • list-services: Выводит список сервисов Cloud Run в указанном проекте и регионе.

  • get-service: Получает подробную информацию о конкретном сервисе Cloud Run.

  • get-service-log: Получает журналы и сообщения об ошибках для конкретного сервиса Cloud Run.

  • deploy-local-folder*: Развертывает локальную папку в сервис Google Cloud Run.

  • list-projects*: Выводит список доступных проектов GCP.

  • create-project*: Создает новый проект GCP и привязывает его к первому доступному платежному аккаунту. Можно дополнительно указать идентификатор проекта.

* доступно только при локальном запуске

Подсказки

Подсказки — это команды на естественном языке, которые можно использовать для выполнения типичных задач. Они являются ярлыками для вызова инструментов с предварительно заполненными аргументами.

  • deploy: Развертывает текущую рабочую директорию в Cloud Run. Если имя сервиса не указано, будет использована переменная окружения DEFAULT_SERVICE_NAME или имя текущей рабочей директории.
  • logs: Получает журналы для сервиса Cloud Run. Если имя сервиса не указано, будет использована переменная окружения DEFAULT_SERVICE_NAME или имя текущей рабочей директории.

Переменные окружения

MCP-сервер Cloud Run можно настроить с помощью следующих переменных окружения:

ПеременнаяОписание
GOOGLE_CLOUD_PROJECTИдентификатор проекта по умолчанию для сервисов Cloud Run.
GOOGLE_CLOUD_REGIONРегион по умолчанию для сервисов Cloud Run.
DEFAULT_SERVICE_NAMEИмя сервиса по умолчанию для сервисов Cloud Run.
SKIP_IAM_CHECKУправляет проверкой разрешений IAM для сервиса Cloud Run. Установите значение false, чтобы включить проверки. По умолчанию имеет значение true, что является рекомендуемым способом сделать сервис общедоступным.
ENABLE_HOST_VALIDATIONПредотвращает атаки DNS Rebinding путем проверки заголовка Host. По умолчанию отключено.
ALLOWED_HOSTSСписок разрешенных заголовков Host через запятую (если проверка хоста включена). Значение по умолчанию — localhost,127.0.0.1,::1.

Использование в качестве расширения Gemini CLI

Чтобы установить это как расширение Gemini CLI, выполните следующую команду:

  1. Установите расширение:

    gemini extensions install https://github.com/GoogleCloudPlatform/cloud-run-mcp
    
  2. Войдите в свою учетную запись Google Cloud с помощью команды:

    gcloud auth login
    
  3. Настройте учетные данные приложения с помощью команды:

    gcloud auth application-default login
    

Использование в MCP-клиентах

Как настроить ваш MCP-клиент

Большинство MCP-клиентов требуют создания или изменения файла конфигурации для добавления MCP-сервера.

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

Определив, как настроить ваш MCP-клиент, выберите один из двух вариантов настройки MCP-сервера. Мы рекомендуем настройку в качестве локального MCP-сервера с использованием Node.js.

Настройка как локального MCP-сервера

Запустите MCP-сервер Cloud Run на локальной машине, используя локальные учетные данные Google Cloud. Это лучший вариант, если вы используете AI-среду разработки (например, Cursor) или настольное AI-приложение (например, Claude).

  1. Установите Google Cloud SDK и аутентифицируйтесь с помощью своей учетной записи Google.

  2. Войдите в свою учетную запись Google Cloud с помощью команды:

    gcloud auth login
    
  3. Настройте учетные данные приложения с помощью команды:

    gcloud auth application-default login
    

Затем настройте MCP-сервер, используя Node.js или Docker:

Использование Node.js

  1. Установите Node.js (рекомендуется LTS-версия).

  2. Обновите файл конфигурации MCP вашего MCP-клиента следующим образом:

       "cloud-run": {
         "command": "npx",
         "args": ["-y", "@google-cloud/cloud-run-mcp"]
       }
    
  3. [Опционально] Добавьте конфигурации по умолчанию

       "cloud-run": {
          "command": "npx",
          "args": ["-y", "@google-cloud/cloud-run-mcp"],
          "env": {
                "GOOGLE_CLOUD_PROJECT": "PROJECT_NAME",
                "GOOGLE_CLOUD_REGION": "PROJECT_REGION",
                "DEFAULT_SERVICE_NAME": "SERVICE_NAME"
          }
       }
    

Использование Docker

См. MCP-каталог Docker или используйте эти ручные инструкции:

  1. Установите Docker

  2. Обновите файл конфигурации MCP вашего MCP-клиента следующим образом:

       "cloud-run": {
         "command": "docker",
         "args": [
           "run",
           "-i",
           "--rm",
           "-e",
           "GOOGLE_APPLICATION_CREDENTIALS",
           "-v",
           "/local-directory:/local-directory",
           "mcp/cloud-run-mcp:latest"
         ],
         "env": {
           "GOOGLE_APPLICATION_CREDENTIALS": "/Users/slim/.config/gcloud/application_default-credentials.json",
           "DEFAULT_SERVICE_NAME": "SERVICE_NAME"
         }
       }
    

Настройка как удаленного MCP-сервера

[!WARNING]
Не используйте удаленный MCP-сервер без аутентификации. В следующих инструкциях мы будем использовать аутентификацию IAM для защиты соединения с MCP-сервером с вашей локальной машины. Это важно для предотвращения несанкционированного доступа к вашим ресурсам Google Cloud.

Запустите сам MCP-сервер Cloud Run в Cloud Run с подключением с вашей локальной машины, аутентифицированным через IAM. При этом варианте вы сможете развертывать код только в том же проекте Google Cloud, в котором работает MCP-сервер.

  1. Установите Google Cloud SDK и аутентифицируйтесь с помощью своей учетной записи Google.

  2. Войдите в свою учетную запись Google Cloud с помощью команды:

    gcloud auth login
    
  3. Установите идентификатор вашего проекта Google Cloud с помощью команды:

    gcloud config set project YOUR_PROJECT_ID
    
  4. Разверните MCP-сервер Cloud Run в Cloud Run:

    gcloud run deploy cloud-run-mcp --image us-docker.pkg.dev/cloudrun/container/mcp --no-allow-unauthenticated
    

    При запросе выберите регион, например europe-west1.

    Обратите внимание, что MCP-сервер не является общедоступным, он требует аутентификации через IAM.

  5. [Опционально] Добавьте конфигурации по умолчанию

    gcloud run services update cloud-run-mcp --region=REGION --update-env-vars GOOGLE_CLOUD_PROJECT=PROJECT_NAME,GOOGLE_CLOUD_REGION=PROJECT_REGION,DEFAULT_SERVICE_NAME=SERVICE_NAME,SKIP_IAM_CHECK=false
    
  6. Запустите прокси Cloud Run на локальной машине для безопасного подключения с использованием вашей личности к удаленному MCP-серверу, работающему в Cloud Run:

    gcloud run services proxy cloud-run-mcp --port=3000 --region=REGION --project=PROJECT_ID
    

    Это создаст локальный прокси на порту 3000, который перенаправляет запросы к удаленному MCP-серверу и внедряет вашу личность.

  7. Обновите файл конфигурации MCP вашего MCP-клиента следующим образом:

       "cloud-run": {
         "url": "http://localhost:3000/sse"
       }
    
    

    Если ваш MCP-клиент не поддерживает атрибут url, вы можете использовать mcp-remote:

       "cloud-run": {
         "command": "npx",
         "args": ["-y", "mcp-remote", "http://localhost:3000/sse"]
       }
    

Использование MCP-сервера с OAuth

MCP-сервер Cloud Run поддерживает OAuth в качестве механизма аутентификации. Чтобы использовать OAuth, создайте клиент OAuth и настройте файл .env с соответствующими значениями, относящимися к вашему клиенту OAuth. Для справки предоставлен .env.example.

MCP-сервер Cloud Run легко интегрируется с клиентом OAuth Google Cloud SDK. Чтобы использовать клиент OAuth Google Cloud SDK, вы можете использовать файл .env.gcloud-sdk-oauth в качестве вашего файла .env следующим образом:

cp .env.gcloud-sdk-oauth .env
node mcp-server.js

Настройка MCP-сервера в Gemini CLI для использования OAuth

Когда MCP-сервер Cloud Run запущен в режиме OAuth, MCP-клиент также должен быть настроен на использование OAuth. Вы можете настроить MCP-сервер в режиме OAuth в Gemini CLI, используя следующий JSON в файле ~/.gemini/settings.json:

{
  "mcpServers": {
    "cloud-run": {
      "httpUrl": "http://localhost:3000/mcp",
      "oauth": {
        "enabled": true,
        "clientId": "<OAUTH_CLIENT_ID>",
        "clientSecret": "<OAUTH_CLIENT_SECRET>"
      }
    }
  }
}

После внесения изменений в конфигурацию, как показано выше, запустите Gemini CLI. Вы должны аутентифицировать MCP-сервер Cloud Run, используя следующую подсказку в Gemini CLI:

/mcp auth cloud-run

Это перенаправит вас на страницу аутентификации в вашем браузере, где вам нужно войти в систему, используя соответствующий адрес Gmail, и принять условия. После успешной аутентификации вы можете вернуться в Gemini CLI, и MCP-сервер Cloud Run будет готов к использованию.

Условия предоставления услуг Google Cloud Platform (доступны по адресу https://cloud.google.com/terms/) и Условия обработки и безопасности данных (доступны по адресу https://cloud.google.com/terms/data-processing-terms) не применяются ни к одному компоненту программного обеспечения Cloud Run MCP Server.

Навыки Cloud Run

Мы представляем навыки Cloud Run, позволяющие AI-агентам выполнять действия в Cloud Run. Вы можете использовать эти навыки с Gemini CLI и другими агентными AI-инструментами. Навыки доступны в Cloud Run Skills.

Навыки Cloud Run основаны на gcloud CLI для Cloud Run, что позволяет агентам выполнять все действия в Cloud Run с помощью gcloud, как это может делать пользователь GCP с помощью gcloud CLI.

Чтобы использовать навыки Cloud Run:

  1. Убедитесь, что у вас установлен CLI gcloud и выполнена аутентификация с помощью gcloud auth login и gcloud auth application-default login.
  2. Установите ваш проект с помощью gcloud config set project [PROJECT_ID].
  3. Включите навыки в вашем агентном AI-инструменте. Например, вы можете включить навыки для Gemini CLI, используя следующую команду в терминале:
gemini skills install https://github.com/GoogleCloudPlatform/cloud-run-mcp.git --path skills/cloud-run
  1. После включения навыков вы можете использовать их для выполнения действий в Cloud Run. Вот несколько подсказок для начала работы:
  • Выведи список сервисов Cloud Run в проекте test-gcp-project в регионе us-west1.

  • Разверни папку /home/username/workspace/hello-world как сервис Cloud Run hello-world в проекте test-gcp-project в регионе us-west1.

  • Опиши задание Cloud Run hello-job в проекте test-gcp-project в регионе europe-west1.