เริ่มต้นใช้งาน MCP ของ Google Workspace และ Gemini CLI

1. บทนำ

ใน Codelab นี้ คุณจะได้เรียนรู้วิธีใช้ Model Context Protocol (MCP) เพื่อเชื่อมต่อ Gemini CLI กับข้อมูล Google Workspace MCP เป็นมาตรฐานแบบเปิดที่ช่วยให้โมเดล AI ใช้เครื่องมือที่เซิร์ฟเวอร์ระยะไกลจัดหาให้อย่างปลอดภัย คุณจะใช้ Gemini CLI เป็นไคลเอ็นต์เพื่อโต้ตอบกับ Gmail, Google ไดรฟ์, Google ปฏิทิน, Google Chat และ People API โดยไม่ต้องเขียนโค้ดเลย

สถาปัตยกรรม MCP ของ Google Workspace

สิ่งที่คุณจะทำ

  • เปิดใช้บริการ MCP ของ Google Workspace ในโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google
  • กำหนดค่า Gemini CLI เพื่อใช้บริการ MCP เหล่านี้
  • ทดสอบการผสานรวมด้วยพรอมต์ที่สนุกและมีประโยชน์ซึ่งโต้ตอบกับข้อมูล Google Workspace ของคุณ

สิ่งที่คุณต้องมี

  • เว็บเบราว์เซอร์ เช่น Chrome
  • โปรเจ็กต์ Google Cloud
  • บัญชี Google Workspace
  • ติดตั้ง Gemini CLI ในเครื่องของคุณแล้ว

Codelab นี้จะใช้เวลาประมาณ 30 นาทีจึงจะเสร็จสมบูรณ์

เข้าถึง Codelab นี้ได้ง่ายๆ

คิวอาร์โค้ดเพื่อเข้าถึง Codelab นี้

2. ก่อนเริ่มต้น

สร้างหรือเลือกโปรเจ็กต์ Google Cloud

ในคอนโซล Google Cloud ให้เลือกหรือสร้างโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google Cloud

เปิดใช้ API

หากต้องการใช้เซิร์ฟเวอร์ MCP ของ Google Workspace คุณต้องเปิดใช้ Google Workspace API มาตรฐาน แม้ว่าเซิร์ฟเวอร์ MCP บางเซิร์ฟเวอร์จะทำงานอย่างเป็นอิสระ แต่เซิร์ฟเวอร์อื่นๆ ยังคงต้องเปิดใช้ API มาตรฐานที่เกี่ยวข้อง ดังนี้

  • Gmail และ Chat ยังคงต้องใช้ API มาตรฐาน
  • ไดรฟ์ต้องใช้ API มาตรฐานสำหรับเครื่องมือบางอย่าง
  • ปฏิทินไม่จำเป็นต้องเปิดใช้ API มาตรฐาน
  • People API จะจัดการทั้งสิทธิ์การเข้าถึงระดับมาตรฐานและฟังก์ชัน MCP จึงไม่มีบริการ MCP แยกต่างหากให้เปิดใช้

เปิดใช้บริการ MCP

จากนั้นเปิดใช้บริการ MCP เฉพาะสำหรับผลิตภัณฑ์

กำหนดค่าแอป Chat

หากต้องการใช้เซิร์ฟเวอร์ MCP ของ Google Chat คุณต้องกำหนดค่าแอปใน Chat ในโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google

  1. ในคอนโซล Google Cloud ให้ค้นหา Google Chat API แล้วคลิก Google Chat API > จัดการ > การกำหนดค่า
  2. ตั้งค่าแอป Chat ดังนี้
    • ในช่องชื่อแอป ให้ป้อน Chat MCP
    • ในช่อง Avatar URL ให้ป้อน https://developers.google.com/chat/images/quickstart-app-avatar.png
    • ในคำอธิบาย ให้ป้อน Chat MCP server
    • ในส่วนฟังก์ชันการทำงาน ให้ปิดเปิดใช้ฟีเจอร์แบบอินเทอร์แอกทีฟ
    • ในส่วนบันทึก ให้เลือกบันทึกข้อผิดพลาดไปยัง Logging
  3. คลิกบันทึก

3. กำหนดค่าความยินยอมและไคลเอ็นต์ OAuth

เซิร์ฟเวอร์ MCP ของ Google Workspace ใช้ OAuth 2.0 เพื่อการตรวจสอบสิทธิ์ที่ปลอดภัย คุณต้องกำหนดค่าหน้าจอขอความยินยอม OAuth และสร้างไคลเอ็นต์แอปพลิเคชันบนเดสก์ท็อป

เซิร์ฟเวอร์ MCP ของ Google Workspace ใช้ OAuth 2.0 สำหรับการตรวจสอบสิทธิ์ คุณต้องกำหนดค่าหน้าจอขอความยินยอมก่อน

  1. ในคอนโซล Google Cloud ให้ไปที่ Google Auth Platform > การสร้างแบรนด์ คลิกเริ่มต้นใช้งานหากยังไม่ได้กำหนดค่า
  2. กำหนดค่าข้อมูลแอป:
    • ชื่อแอป: Google Workspace MCP Servers
    • อีเมลสนับสนุนสำหรับผู้ใช้: เลือกอีเมลของคุณ
  3. กำหนดค่ากลุ่มเป้าหมาย: เลือกภายใน (หรือภายนอก หากไม่มีตัวเลือกภายใน)
  4. กำหนดค่าข้อมูลติดต่อ: ป้อนอีเมลของคุณ
  5. อ่านและยอมรับนโยบายข้อมูลผู้ใช้ แล้วคลิกสร้าง
  6. หากเลือกภายนอก ให้ไปที่กลุ่มเป้าหมาย แล้วเพิ่มอีเมลของคุณในส่วนผู้ใช้ทดสอบ
  7. ไปที่การเข้าถึงข้อมูล > เพิ่มหรือนำขอบเขตออก ในส่วนเพิ่มขอบเขตด้วยตนเอง ให้เพิ่มข้อมูลต่อไปนี้สำหรับเซิร์ฟเวอร์ที่ต้องการใช้
    • Google ปฏิทิน: https://www.googleapis.com/auth/calendar.calendarlist.readonly, https://www.googleapis.com/auth/calendar.events.freebusy, https://www.googleapis.com/auth/calendar.events.readonly
    • Google Chat: https://www.googleapis.com/auth/chat.spaces.readonly, https://www.googleapis.com/auth/chat.memberships.readonly, https://www.googleapis.com/auth/chat.messages.readonly, https://www.googleapis.com/auth/chat.users.readstate.readonly
    • Google ไดรฟ์: https://www.googleapis.com/auth/drive.readonly, https://www.googleapis.com/auth/drive.file
    • Gmail: https://www.googleapis.com/auth/gmail.readonly, https://www.googleapis.com/auth/gmail.compose
    • People API: https://www.googleapis.com/auth/directory.readonly, https://www.googleapis.com/auth/userinfo.profile, https://www.googleapis.com/auth/contacts.readonly
  8. คลิกเพิ่มลงในตาราง แล้วคลิกอัปเดต จากนั้นคลิกบันทึก

สร้างรหัสไคลเอ็นต์ OAuth

เมื่อกำหนดค่าไคลเอ็นต์ OAuth 2.0 สำหรับเซิร์ฟเวอร์ MCP ของ Google Workspace คุณต้องเปิดใช้การตั้งค่าการแยกประเภท Agentic (is_agentic) โดยเลือกใช้ไคลเอ็นต์นี้สำหรับ Agent ที่ทำงานด้วยระบบ AI ไคลเอ็นต์ OAuth ที่ไม่ได้เปิดใช้การตั้งค่านี้จะถูกบล็อกไม่ให้เรียกใช้ปลายทาง MCP ของ Google Workspace

  1. ไปที่ Google Auth Platform > ไคลเอ็นต์ > สร้างไคลเอ็นต์ (หรือ API และบริการ > ข้อมูลเข้าสู่ระบบ > สร้างข้อมูลเข้าสู่ระบบ > รหัสไคลเอ็นต์ OAuth)
  2. เลือกแอปบนเดสก์ท็อปเป็นประเภทแอปพลิเคชัน
  3. ตั้งชื่อว่า Gemini CLI
  4. เลือกใช้ไคลเอ็นต์นี้สำหรับ Agent ที่ทำงานด้วยระบบ AI เพื่อเปิดใช้แฟล็กการแยกประเภท is_agentic ในไคลเอ็นต์ OAuth
  5. คลิก Create แล้วคัดลอก Client ID และ รหัสลับไคลเอ็นต์ คุณจะต้องใช้ข้อมูลเหล่านี้ในขั้นตอนถัดไป

4. กำหนดค่า Gemini CLI

ตอนนี้เรามากำหนดค่า Gemini CLI เพื่อใช้ปลายทางเหล่านี้กัน หากยังไม่ได้ติดตั้ง Gemini CLI ให้ทำตามวิธีการติดตั้งในเว็บไซต์ Gemini CLI

สร้างไฟล์การกำหนดค่า

เปิดหรือสร้าง ~/.gemini/settings.json ในไดเรกทอรีหลัก แล้วเพิ่มการกำหนดค่าต่อไปนี้ แทนที่ตัวยึดตำแหน่งด้วยข้อมูลเข้าสู่ระบบ OAuth

{
  "mcpServers": {
    "calendar": {
      "httpUrl": "https://calendarmcp.googleapis.com/mcp/v1",
      "oauth": {
        "enabled": true,
        "clientId": "<YOUR_CLIENT_ID>",
        "clientSecret": "<YOUR_CLIENT_SECRET>",
        "scopes": [
          "https://www.googleapis.com/auth/calendar.calendarlist.readonly",
          "https://www.googleapis.com/auth/calendar.events.freebusy",
          "https://www.googleapis.com/auth/calendar.events.readonly"
        ]
      }
    },
    "chat": {
      "httpUrl": "https://chatmcp.googleapis.com/mcp/v1",
      "oauth": {
        "enabled": true,
        "clientId": "<YOUR_CLIENT_ID>",
        "clientSecret": "<YOUR_CLIENT_SECRET>",
        "scopes": [
          "https://www.googleapis.com/auth/chat.spaces.readonly",
          "https://www.googleapis.com/auth/chat.memberships.readonly",
          "https://www.googleapis.com/auth/chat.messages.readonly",
          "https://www.googleapis.com/auth/chat.users.readstate.readonly"
        ]
      }
    },
    "drive": {
      "httpUrl": "https://drivemcp.googleapis.com/mcp/v1",
      "oauth": {
        "enabled": true,
        "clientId": "<YOUR_CLIENT_ID>",
        "clientSecret": "<YOUR_CLIENT_SECRET>",
        "scopes": [
          "https://www.googleapis.com/auth/drive.readonly",
          "https://www.googleapis.com/auth/drive.file"
        ]
      }
    },
    "gmail": {
      "httpUrl": "https://gmailmcp.googleapis.com/mcp/v1",
      "oauth": {
        "enabled": true,
        "clientId": "<YOUR_CLIENT_ID>",
        "clientSecret": "<YOUR_CLIENT_SECRET>",
        "scopes": [
          "https://www.googleapis.com/auth/gmail.readonly",
          "https://www.googleapis.com/auth/gmail.compose"
        ]
      }
    },
    "people": {
      "httpUrl": "https://people.googleapis.com/mcp/v1",
      "oauth": {
        "enabled": true,
        "clientId": "<YOUR_CLIENT_ID>",
        "clientSecret": "<YOUR_CLIENT_SECRET>",
        "scopes": [
          "https://www.googleapis.com/auth/directory.readonly",
          "https://www.googleapis.com/auth/userinfo.profile",
          "https://www.googleapis.com/auth/contacts.readonly"
        ]
      }
    }
  }
}

5. ตรวจสอบสิทธิ์และยืนยันเซิร์ฟเวอร์ MCP

คุณต้องตรวจสอบสิทธิ์และยืนยันว่าเซิร์ฟเวอร์ MCP เชื่อมต่ออยู่ก่อนจึงจะใช้เซิร์ฟเวอร์ดังกล่าวได้

เริ่มใช้ Gemini CLI

เรียกใช้คำสั่งต่อไปนี้ในเทอร์มินัลเพื่อเริ่ม Gemini CLI

gemini

ตรวจสอบสิทธิ์

ตรวจสอบสิทธิ์กับบริการที่ต้องการทดสอบโดยเรียกใช้คำสั่งที่เกี่ยวข้องใน Gemini CLI คุณเพียงแค่ต้องตรวจสอบสิทธิ์กับบริการที่วางแผนจะใช้ใน Codelab นี้

ปฏิทิน

/mcp auth calendar

แชท

/mcp auth chat

ไดรฟ์

/mcp auth drive

Gmail

/mcp auth gmail

ผู้คน

/mcp auth people

ทำตามข้อความแจ้งในเบราว์เซอร์เพื่อให้สิทธิ์แต่ละบริการ

ยืนยันการเชื่อมต่อ

ตรวจสอบว่าเครื่องมือโหลดและพร้อมใช้งานแล้ว โดยทำดังนี้

/mcp list

คุณควรเห็นเอาต์พุตที่ระบุว่าบริการเป็น Ready พร้อมเครื่องมือที่แสดงอยู่

6. ทดสอบเซิร์ฟเวอร์ MCP

ตอนนี้คุณสามารถโต้ตอบกับข้อมูล Google Workspace โดยใช้ภาษาธรรมชาติได้แล้ว ตัวอย่างพรอมต์สำหรับแต่ละบริการมีดังนี้

Google ปฏิทิน

ลองขอความช่วยเหลือจาก Gemini เกี่ยวกับกำหนดเวลาของคุณ

  • "สัปดาห์นี้ฉันมีการประชุมอะไรบ้าง"
  • "พรุ่งนี้บ่ายฉันมีเวลาว่างไหม"

Google Chat

ลองขอความช่วยเหลือจาก Gemini เพื่อค้นหาข้อความดังนี้

  • "ค้นหาข้อความที่มี '[คีย์เวิร์ด]' ใน '[ชื่อพื้นที่ทำงาน]'"

Google ไดรฟ์

ลองขอความช่วยเหลือจาก Gemini เพื่อค้นหาหรืออ่านไฟล์:

  • "ค้นหาไฟล์ใน Google ไดรฟ์ที่มีคำว่า '[คีย์เวิร์ด]'"
  • "แสดงรายการเอกสารล่าสุดที่ฉันแก้ไข"
  • "อ่านเนื้อหาในเอกสาร '[FILE_NAME]' ของฉันและสรุปเป้าหมายหลัก"

Gmail

ลองขอความช่วยเหลือจาก Gemini เพื่อค้นหาหรือจัดการอีเมลของคุณ

  • "สรุปอีเมล 5 ฉบับล่าสุดที่ฉันได้รับ"
  • "ร่างอีเมลถึง '[EMAIL_ADDRESS]' เพื่อขอข้อมูลอัปเดตเกี่ยวกับโปรเจ็กต์ '[PROJECT_NAME]'"

People API

ลองขอความช่วยเหลือจาก Gemini เกี่ยวกับโปรไฟล์หรือรายชื่อติดต่อของคุณ เช่น

  • "ฉันชื่ออะไรตามโปรไฟล์ Google"
  • "ค้นหาข้อมูลติดต่อของ '[ชื่อ]'"

การรวมบริการหลายรายการเข้าด้วยกัน

ประสิทธิภาพที่แท้จริงของ MCP จะปรากฏให้เห็นเมื่อ Gemini จัดระเบียบงานในบริการต่างๆ ลองใช้พรอมต์ต่อไปนี้ซึ่งแสดงให้เห็นถึงความสามารถในการทำงานข้ามบริการ

  • "ค้นหาไฟล์ในไดรฟ์ที่เกี่ยวข้องกับ 'ข้อมูลอัปเดตเกี่ยวกับเหตุการณ์สำคัญของ [PROJECT_NAME]' สรุปเนื้อหา ค้นหาอีเมลของ '[NAME]' และสร้างอีเมลฉบับร่างใน Gmail เพื่อส่งให้บุคคลดังกล่าวพร้อมสรุป"

สำรวจเครื่องมือเพิ่มเติม

นี่เป็นเพียงตัวอย่างบางส่วนของสิ่งที่คุณทำได้ หากต้องการดูรายการเครื่องมือทั้งหมดที่ใช้ได้สำหรับแต่ละบริการและลองใช้ โปรดดูส่วนผลิตภัณฑ์ที่รองรับในเอกสารประกอบอย่างเป็นทางการ

7. ล้างข้อมูล

หากต้องการล้างโปรเจ็กต์โดยไม่ลบ คุณสามารถปิดใช้ API และบริการ MCP ที่เปิดใช้ได้โดยทำดังนี้

  1. ในคอนโซล Google Cloud ให้ไปที่แดชบอร์ด API และบริการ
  2. คลิก Google Workspace API และ MCP API แต่ละรายการที่คุณเปิดใช้ (เช่น Calendar MCP, Chat MCP) แล้วคลิกปิดใช้ API

ลบข้อมูลเข้าสู่ระบบไคลเอ็นต์ OAuth ในคอนโซล Google Auth Platform หากคุณไม่ได้วางแผนที่จะใช้ข้อมูลดังกล่าวอีกต่อไป

8. ขอแสดงความยินดี

ยินดีด้วย คุณได้กำหนดค่าและทดสอบเซิร์ฟเวอร์ MCP อย่างเป็นทางการของ Google Workspace โดยใช้ Gemini CLI เรียบร้อยแล้ว

สิ่งที่คุณได้เรียนรู้

  • วิธีเปิดใช้บริการ MCP ของ Google Workspace ใน Google Cloud
  • วิธีกำหนดค่าไคลเอ็นต์ OAuth สำหรับ MCP
  • วิธีใช้ Gemini CLI เพื่อโต้ตอบกับข้อมูล Google Workspace โดยใช้เครื่องมือมาตรฐาน

เอกสารอ้างอิง