MCP Reference: drivemcp.googleapis.com

Server Model Context Protocol (MCP) bertindak sebagai proxy antara layanan eksternal yang menyediakan konteks, data, atau kemampuan ke Model Bahasa Besar (LLM) atau aplikasi AI. Server MCP menghubungkan aplikasi AI ke sistem eksternal seperti database dan layanan web, menerjemahkan responsnya ke dalam format yang dapat dipahami oleh aplikasi AI.

Alat MCP

Alat MCP adalah fungsi atau kemampuan yang dapat dieksekusi yang diekspos server MCP ke aplikasi LLM atau AI untuk melakukan tindakan di dunia nyata.

Server MCP drivemcp.googleapis.com memiliki alat berikut:

Alat MCP
create_file

Panggil alat ini untuk membuat atau mengupload File ke Google Drive.

Jika mengupload file, konten harus dienkode base64 ke dalam kolom content, terlepas dari jenis MIME file yang diupload.

Menampilkan satu objek File setelah berhasil dibuat.

Jenis MIME pihak pertama Google Drive berikut dapat dibuat tanpa memberikan konten:

  • application/vnd.google-apps.document
  • application/vnd.google-apps.spreadsheet
  • application/vnd.google-apps.presentation

Secara default, konversi berikut akan dilakukan untuk jenis MIME berikut:

  • text/plain hingga application/vnd.google-apps.document
  • text/csv hingga application/vnd.google-apps.spreadsheet

Untuk menonaktifkan konversi untuk jenis MIME pihak pertama, tetapkan disable_conversion_to_google_type ke benar (true).

Folder dapat dibuat dengan menyetel jenis MIME ke application/vnd.google-apps.folder.

download_file_content

Panggil alat ini untuk mendownload konten file Drive sebagai data biner mentah (byte).

Jika file adalah jenis MIME pihak pertama Google Drive, kolom exportMimeType diperlukan dan akan menentukan format file yang didownload.

Jika file tidak ditemukan, coba gunakan alat lain seperti search_files untuk menemukan file yang diminta pengguna.

Jika pengguna menginginkan representasi bahasa alami dari konten Drive mereka, gunakan alat read_file_content (read_file_content harus lebih kecil dan lebih mudah diuraikan).

get_file_metadata

Panggil alat ini untuk menemukan metadata umum tentang file Drive pengguna.

Jika file tidak ditemukan, coba gunakan alat lain seperti search_files untuk menemukan file yang diminta pengguna.

get_file_permissions Panggil alat ini untuk mencantumkan izin File Drive.
list_recent_files

Panggil alat ini untuk menemukan file terbaru bagi pengguna yang menentukan urutan pengurutan. Urutan pengurutan default adalah recency.

Urutan pengurutan yang didukung adalah:

  • recency: Stempel waktu terbaru dari kolom tanggal dan waktu file.
  • lastModified: Terakhir kali file diubah oleh siapa pun.
  • lastModifiedByMe: Terakhir kali file diubah oleh pengguna.

Ukuran halaman default adalah 10. Gunakan next_page_token untuk melakukan penomoran halaman hasil.

read_file_content

Panggil alat ini untuk mengambil representasi bahasa alami dari file Drive.

Konten file mungkin tidak lengkap untuk file yang sangat besar. Representasi teks akan berubah dari waktu ke waktu, jadi jangan membuat asumsi tentang format teks tertentu yang ditampilkan oleh alat ini.

Jenis Mime yang Didukung:

  • application/vnd.google-apps.document
  • application/vnd.google-apps.presentation
  • application/vnd.google-apps.spreadsheet
  • application/pdf
  • application/msword
  • application/vnd.openxmlformats-officedocument.wordprocessingml.document
  • application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
  • application/vnd.openxmlformats-officedocument.presentationml.presentation
  • application/vnd.oasis.opendocument.spreadsheet
  • application/vnd.oasis.opendocument.presentation
  • application/x-vnd.oasis.opendocument.text
  • image/png
  • image/jpeg
  • image/jpg

Jika file tidak ditemukan, coba gunakan alat lain seperti search_files untuk menemukan file yang diminta pengguna menggunakan kata kunci.

search_files

Panggil alat ini untuk menelusuri file Drive berdasarkan kueri terstruktur.

Kolom query memerlukan penggunaan operator penelusuran kueri.

String kueri berisi tiga bagian berikut: query_term operator values dengan:

  • query_term adalah istilah kueri atau kolom yang akan ditelusuri.
  • operator menentukan kondisi untuk istilah kueri.
  • values adalah nilai spesifik yang digunakan untuk memfilter hasil penelusuran Anda.

Persyaratan Kueri

Tabel berikut mencantumkan istilah kueri yang valid beserta deskripsinya:

Istilah Kueri Operator yang valid Penggunaan
title contains, =, != Judul file. Apiti dengan tanda kutip tunggal ('). Pisahkan tanda kutip tunggal dalam kueri dengan \', seperti 'Valentine\'s Day'.
fullText contains Apakah title atau teks dalam konten file cocok. Apiti dengan tanda kutip tunggal ('). Pisahkan tanda kutip tunggal dalam kueri dengan \', seperti 'Valentine\'s Day'.
mimeType contains, =, != Jenis MIME file. Apiti dengan tanda kutip tunggal ('). Pisahkan tanda kutip tunggal dalam kueri dengan \', seperti 'Valentine\'s Day'.
modifiedTime <=, <, =, !=, >, >= Tanggal modifikasi file terakhir. Format RFC 3339, zona waktu default adalah UTC, seperti 2012-06-04T12:00:00-08:00. Kolom jenis date tidak dapat dibandingkan.
viewedByMeTime <=, <, =, !=, >, >= Tanggal saat pengguna terakhir kali melihat file. Format RFC 3339, zona waktu default adalah UTC, seperti 2012-06-04T12:00:00-08:00. Kolom jenis date tidak dapat dibandingkan.
parentId =, != Apakah induk sama dengan ID yang ditentukan. root dapat digunakan untuk menentukan "Drive Saya" pengguna yang berfungsi sebagai hierarki utamanya.
owner =, != Pengguna yang memiliki file. me dapat digunakan untuk menentukan pengguna yang membuat permintaan.
sharedWithMe =, != File yang ada di koleksi "Dibagikan kepada saya" pengguna. Semua pengguna file berada dalam Daftar Kontrol Akses (ACL) file. Dapat berupa true atau false.
createdTime <=, <, =, !=, >, >= Tanggal saat file dibuat. Gunakan format RFC 3339, zona waktu default adalah UTC, seperti 2012-06-04T12:00:00-08:00.

Operator Kueri

Tabel berikut mencantumkan operator kueri yang valid:

Operator Penggunaan
contains Konten satu string ada di string lainnya.
= Konten string atau boolean sama dengan yang lain.
!= Konten string atau boolean tidak sama dengan yang lain.
< Nilai kurang dari nilai lainnya.
<= Nilai kurang dari atau sama dengan nilai lainnya.
> Nilai lebih besar dari nilai lainnya.
>= Nilai lebih besar dari atau sama dengan nilai lainnya.
in Elemen terdapat dalam koleksi.
and Menampilkan item yang cocok dengan kedua kueri.
or Menampilkan item yang cocok dengan salah satu kueri.
not Menegasikan kueri penelusuran.
has Koleksi berisi elemen yang cocok dengan parameter.

Beberapa contoh kueri mencakup:

  • title contains 'hello' and title contains 'goodbye'
  • modifiedTime > '2024-01-01T00:00:00Z' and (mimeType contains 'image/' or mimeType contains 'video/')
  • parentId = '1234567'
  • fullText contains 'hello'
  • owner = 'test@example.org'
  • sharedWithMe = true
  • owner = 'me' (untuk file milik pengguna)

Gunakan next_page_token untuk melakukan penomoran halaman hasil. Respons kosong menunjukkan bahwa tidak ada hasil atau tidak ada lagi hasil yang dapat ditampilkan.

Mendapatkan spesifikasi alat MCP

Untuk mendapatkan spesifikasi alat MCP untuk semua alat di server MCP, gunakan metode tools/list. Contoh berikut menunjukkan cara menggunakan curl untuk mencantumkan semua alat dan spesifikasinya yang saat ini tersedia dalam server MCP.

Permintaan Curl
curl --location 'https://drivemcp.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
    "method": "tools/list",
    "jsonrpc": "2.0",
    "id": 1
}'