Google Cloud Run

ทางการ

เซิร์ฟเวอร์ MCP อย่างเป็นทางการสำหรับการปรับใช้บน Google Cloud Run

เอกสาร

เซิร์ฟเวอร์ Cloud Run MCP และส่วนขยาย Gemini CLI

เปิดใช้งานให้เอเจนต์ AI ที่เข้ากันได้กับ MCP สามารถปรับใช้แอปกับ Cloud Run ได้

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

ปรับใช้จาก Gemini CLI และเอเจนต์ CLI ที่ขับเคลื่อนด้วย AI อื่นๆ:

ปรับใช้จาก IDE ที่ขับเคลื่อนด้วย 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 หรือชื่อของไดเรกทอรีการทำงานปัจจุบัน

ตัวแปรสภาพแวดล้อม

เซิร์ฟเวอร์ Cloud Run MCP สามารถกำหนดค่าได้โดยใช้ตัวแปรสภาพแวดล้อมต่อไปนี้:

ตัวแปรคำอธิบาย
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 ในเครื่อง

รันเซิร์ฟเวอร์ Cloud Run MCP บนเครื่องของคุณโดยใช้ข้อมูลรับรอง Google Cloud ในเครื่อง วิธีนี้ดีที่สุดหากคุณใช้ IDE ที่มี 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 ของคุณโดยไม่ได้รับอนุญาต

รันเซิร์ฟเวอร์ Cloud Run MCP บน 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. ปรับใช้เซิร์ฟเวอร์ Cloud Run MCP กับ 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

เซิร์ฟเวอร์ Cloud Run MCP รองรับ OAuth เป็นกลไกการตรวจสอบสิทธิ์ ในการใช้ OAuth ให้สร้างไคลเอนต์ OAuth และกำหนดค่าไฟล์ .env ด้วยค่าที่เหมาะสมที่เกี่ยวข้องกับไคลเอนต์ OAuth ของคุณ มีไฟล์ .env.example ให้สำหรับการอ้างอิง

เซิร์ฟเวอร์ Cloud Run MCP ทำงานร่วมกับไคลเอนต์ 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

เมื่อเซิร์ฟเวอร์ Cloud Run MCP เริ่มทำงานในโหมด 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 คุณควรตรวจสอบสิทธิ์เซิร์ฟเวอร์ Cloud Run MCP โดยใช้พรอมต์ต่อไปนี้ใน Gemini CLI:

/mcp auth cloud-run

การดำเนินการนี้จะนำคุณไปยังหน้าการตรวจสอบสิทธิ์บนเบราว์เซอร์ของคุณ ซึ่งคุณต้องลงชื่อเข้าใช้โดยใช้รหัส Gmail ที่เหมาะสม และยอมรับข้อกำหนดและเงื่อนไข เมื่อการตรวจสอบสิทธิ์สำเร็จ คุณสามารถกลับมาที่ Gemini CLI และเซิร์ฟเวอร์ Cloud Run MCP จะพร้อมใช้งาน

ข้อกำหนดในการให้บริการของ Google Cloud Platform (ดูได้ที่ https://cloud.google.com/terms/) และข้อกำหนดในการประมวลผลข้อมูลและความปลอดภัย (ดูได้ที่ https://cloud.google.com/terms/data-processing-terms) ไม่มีผลบังคับใช้กับส่วนประกอบใดๆ ของซอฟต์แวร์เซิร์ฟเวอร์ Cloud Run MCP

ทักษะ 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