Google Cloud Run

chính thức

Máy chủ MCP chính thức để triển khai lên Google Cloud Run.

Tài liệu

Máy chủ MCP Cloud Run và tiện ích mở rộng Gemini CLI

Cho phép các tác nhân AI tương thích MCP triển khai ứng dụng lên Cloud Run.

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

Triển khai từ Gemini CLI và các tác nhân CLI hỗ trợ AI khác:

Triển khai từ các IDE hỗ trợ AI:

Triển khai từ các ứng dụng trợ lý AI:

Triển khai từ các SDK tác nhân, như Google Gen AI SDK hoặc Agent Development Kit.

[!NOTE]
Đây là kho lưu trữ của máy chủ MCP để triển khai mã lên Cloud Run, để tìm hiểu cách lưu trữ máy chủ MCP trên Cloud Run, hãy truy cập tài liệu Cloud Run.

Công cụ

  • deploy-file-contents: Triển khai tệp lên Cloud Run bằng cách cung cấp trực tiếp nội dung của chúng.

  • list-services: Liệt kê các dịch vụ Cloud Run trong một dự án và khu vực nhất định.

  • get-service: Lấy thông tin chi tiết cho một dịch vụ Cloud Run cụ thể.

  • get-service-log: Lấy Nhật ký và Thông báo Lỗi cho một dịch vụ Cloud Run cụ thể.

  • deploy-local-folder*: Triển khai một thư mục cục bộ lên dịch vụ Google Cloud Run.

  • list-projects*: Liệt kê các dự án GCP khả dụng.

  • create-project*: Tạo một dự án GCP mới và gắn nó vào tài khoản thanh toán khả dụng đầu tiên. Có thể tùy chọn chỉ định ID dự án.

* chỉ khả dụng khi chạy cục bộ

Lời nhắc

Lời nhắc là các lệnh ngôn ngữ tự nhiên có thể được sử dụng để thực hiện các tác vụ phổ biến. Chúng là các phím tắt để thực thi các lệnh gọi công cụ với các đối số được điền sẵn.

  • deploy: Triển khai thư mục làm việc hiện tại lên Cloud Run. Nếu không cung cấp tên dịch vụ, nó sẽ sử dụng biến môi trường DEFAULT_SERVICE_NAME, hoặc tên của thư mục làm việc hiện tại.
  • logs: Lấy nhật ký cho một dịch vụ Cloud Run. Nếu không cung cấp tên dịch vụ, nó sẽ sử dụng biến môi trường DEFAULT_SERVICE_NAME, hoặc tên của thư mục làm việc hiện tại.

Biến môi trường

Máy chủ MCP Cloud Run có thể được cấu hình bằng các biến môi trường sau:

BiếnMô tả
GOOGLE_CLOUD_PROJECTID dự án mặc định để sử dụng cho các dịch vụ Cloud Run.
GOOGLE_CLOUD_REGIONKhu vực mặc định để sử dụng cho các dịch vụ Cloud Run.
DEFAULT_SERVICE_NAMETên dịch vụ mặc định để sử dụng cho các dịch vụ Cloud Run.
SKIP_IAM_CHECKKiểm soát việc có kiểm tra quyền IAM cho dịch vụ Cloud Run hay không. Đặt thành false để bật kiểm tra. Mặc định là true, đây là cách được khuyến nghị để công khai dịch vụ.
ENABLE_HOST_VALIDATIONNgăn chặn các cuộc tấn công DNS Rebinding bằng cách xác thực tiêu đề Host. Tính năng này bị tắt theo mặc định.
ALLOWED_HOSTSDanh sách các tiêu đề Host được phép, phân tách bằng dấu phẩy (nếu bật xác thực host). Giá trị mặc định là localhost,127.0.0.1,::1.

Sử dụng như một tiện ích mở rộng Gemini CLI

Để cài đặt tiện ích này như một tiện ích mở rộng của Gemini CLI, hãy chạy lệnh sau:

  1. Cài đặt tiện ích mở rộng:

    gemini extensions install https://github.com/GoogleCloudPlatform/cloud-run-mcp
    
  2. Đăng nhập vào tài khoản Google Cloud của bạn bằng lệnh:

    gcloud auth login
    
  3. Thiết lập thông tin xác thực ứng dụng bằng lệnh:

    gcloud auth application-default login
    

Sử dụng trong các Ứng dụng khách MCP

Tìm hiểu cách cấu hình ứng dụng khách MCP của bạn

Hầu hết các ứng dụng khách MCP yêu cầu tạo hoặc sửa đổi tệp cấu hình để thêm máy chủ MCP.

Cú pháp tệp cấu hình có thể khác nhau giữa các ứng dụng khách. Vui lòng tham khảo các liên kết sau để biết cú pháp dự kiến mới nhất:

Khi bạn đã xác định cách cấu hình ứng dụng khách MCP của mình, hãy chọn một trong hai tùy chọn này để thiết lập máy chủ MCP. Chúng tôi khuyên bạn nên thiết lập như một máy chủ MCP cục bộ sử dụng Node.js.

Thiết lập như máy chủ MCP cục bộ

Chạy máy chủ MCP Cloud Run trên máy cục bộ của bạn bằng thông tin xác thực Google Cloud cục bộ. Điều này là tốt nhất nếu bạn đang sử dụng IDE hỗ trợ AI (ví dụ: Cursor) hoặc ứng dụng AI trên máy tính để bàn (ví dụ: Claude).

  1. Cài đặt Google Cloud SDK và xác thực bằng tài khoản Google của bạn.

  2. Đăng nhập vào tài khoản Google Cloud của bạn bằng lệnh:

    gcloud auth login
    
  3. Thiết lập thông tin xác thực ứng dụng bằng lệnh:

    gcloud auth application-default login
    

Sau đó, cấu hình máy chủ MCP bằng Node.js hoặc Docker:

Sử dụng Node.js

  1. Cài đặt Node.js (khuyến nghị phiên bản LTS).

  2. Cập nhật tệp cấu hình MCP của ứng dụng khách MCP của bạn với nội dung sau:

       "cloud-run": {
         "command": "npx",
         "args": ["-y", "@google-cloud/cloud-run-mcp"]
       }
    
  3. [Tùy chọn] Thêm cấu hình mặc định

       "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"
          }
       }
    

Sử dụng Docker

Xem danh mục MCP của Docker, hoặc sử dụng các hướng dẫn thủ công sau:

  1. Cài đặt Docker

  2. Cập nhật tệp cấu hình MCP của ứng dụng khách MCP của bạn với nội dung sau:

       "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"
         }
       }
    

Thiết lập như máy chủ MCP từ xa

[!WARNING]
Không sử dụng máy chủ MCP từ xa mà không có xác thực. Trong các hướng dẫn sau, chúng tôi sẽ sử dụng xác thực IAM để bảo mật kết nối đến máy chủ MCP từ máy cục bộ của bạn. Điều này quan trọng để ngăn chặn truy cập trái phép vào tài nguyên Google Cloud của bạn.

Chạy chính máy chủ MCP Cloud Run trên Cloud Run với kết nối từ máy cục bộ của bạn được xác thực qua IAM. Với tùy chọn này, bạn sẽ chỉ có thể triển khai mã vào cùng một dự án Google Cloud nơi máy chủ MCP đang chạy.

  1. Cài đặt Google Cloud SDK và xác thực bằng tài khoản Google của bạn.

  2. Đăng nhập vào tài khoản Google Cloud của bạn bằng lệnh:

    gcloud auth login
    
  3. Đặt ID dự án Google Cloud của bạn bằng lệnh:

    gcloud config set project YOUR_PROJECT_ID
    
  4. Triển khai máy chủ MCP Cloud Run lên Cloud Run:

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

    Khi được nhắc, hãy chọn một khu vực, ví dụ europe-west1.

    Lưu ý rằng máy chủ MCP không thể truy cập công khai, nó yêu cầu xác thực qua IAM.

  5. [Tùy chọn] Thêm cấu hình mặc định

    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. Chạy một proxy Cloud Run trên máy cục bộ của bạn để kết nối an toàn bằng danh tính của bạn đến máy chủ MCP từ xa đang chạy trên Cloud Run:

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

    Điều này sẽ tạo một proxy cục bộ trên cổng 3000 chuyển tiếp các yêu cầu đến máy chủ MCP từ xa và chèn danh tính của bạn.

  7. Cập nhật tệp cấu hình MCP của ứng dụng khách MCP của bạn với nội dung sau:

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

    Nếu ứng dụng khách MCP của bạn không hỗ trợ thuộc tính url, bạn có thể sử dụng mcp-remote:

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

Sử dụng Máy chủ MCP với OAuth

Máy chủ MCP Cloud Run hỗ trợ OAuth như một cơ chế xác thực. Để sử dụng OAuth, hãy tạo ứng dụng khách OAuth và cấu hình tệp .env với các giá trị phù hợp liên quan đến ứng dụng khách OAuth của bạn. Một tệp .env.example được cung cấp để tham khảo.

Máy chủ MCP Cloud Run hoạt động liền mạch với ứng dụng khách OAuth của Google Cloud SDK. Để tận dụng ứng dụng khách OAuth của Google Cloud SDK, bạn có thể sử dụng tệp .env.gcloud-sdk-oauth làm tệp .env của mình như sau:

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

Cấu hình Máy chủ MCP trên Gemini CLI để sử dụng OAuth

Khi máy chủ MCP Cloud Run được khởi động ở chế độ OAuth, ứng dụng khách MCP cũng nên được cấu hình để sử dụng OAuth. Bạn có thể thiết lập máy chủ MCP ở chế độ OAuth trong Gemini CLI bằng cách sử dụng JSON sau trong tệp ~/.gemini/settings.json:

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

Sau khi thay đổi cấu hình như trên, hãy khởi động Gemini CLI. Bạn nên xác thực máy chủ MCP Cloud Run bằng lời nhắc sau trong Gemini CLI:

/mcp auth cloud-run

Điều này sẽ đưa bạn đến trang xác thực trên trình duyệt của bạn, nơi bạn cần đăng nhập bằng id gmail thích hợp và chấp nhận các điều khoản và điều kiện. Sau khi xác thực thành công, bạn có thể quay lại Gemini CLI và máy chủ MCP Cloud Run sẽ sẵn sàng để sử dụng.

Điều khoản Dịch vụ của Google Cloud Platform (có sẵn tại https://cloud.google.com/terms/) và Điều khoản Xử lý và Bảo mật Dữ liệu (có sẵn tại https://cloud.google.com/terms/data-processing-terms) không áp dụng cho bất kỳ thành phần nào của phần mềm Máy chủ MCP Cloud Run.

Kỹ năng Cloud Run

Chúng tôi giới thiệu các kỹ năng Cloud Run để cho phép các tác nhân AI thực hiện các hành động trên Cloud Run. Bạn có thể sử dụng các kỹ năng này với Gemini CLI và các công cụ AI tác nhân khác. Các kỹ năng có sẵn tại Cloud Run Skills.

Các kỹ năng Cloud Run dựa trên gcloud cli cho Cloud Run, trao quyền cho các tác nhân thực hiện tất cả các hành động trên Cloud Run bằng gcloud, như người dùng GCP có thể thực hiện bằng gcloud cli.

Để sử dụng các kỹ năng Cloud Run:

  1. Đảm bảo bạn đã cài đặt CLI gcloud và xác thực bằng gcloud auth logingcloud auth application-default login.
  2. Đặt dự án của bạn bằng gcloud config set project [PROJECT_ID].
  3. Kích hoạt các kỹ năng trên công cụ AI tác nhân của bạn. Ví dụ: bạn có thể kích hoạt các kỹ năng cho Gemini CLI bằng lệnh sau trên terminal của bạn:
gemini skills install https://github.com/GoogleCloudPlatform/cloud-run-mcp.git --path skills/cloud-run
  1. Sau khi các kỹ năng được kích hoạt, bạn có thể sử dụng chúng để thực hiện các hành động trên Cloud Run. Dưới đây là một số lời nhắc để bạn bắt đầu:
  • Liệt kê các dịch vụ Cloud Run trong dự án test-gcp-project ở khu vực us-west1.

  • Triển khai thư mục /home/username/workspace/hello-world dưới dạng dịch vụ Cloud Run hello-world vào dự án test-gcp-project ở khu vực us-west1.

  • Mô tả job Cloud Run hello-job trong dự án test-gcp-project ở khu vực europe-west1.