MCP Reference: drivemcp.googleapis.com

Model Context Protocol (MCP) sunucusu, Büyük Dil Modeli'ne (LLM) veya yapay zeka uygulamasına bağlam, veri ya da özellikler sağlayan harici bir hizmet ile bu hizmeti kullanan uygulama arasında proxy görevi görür. MCP sunucuları, yapay zeka uygulamalarını veritabanları ve web hizmetleri gibi harici sistemlere bağlar ve yanıtlarını yapay zeka uygulamasının anlayabileceği bir biçime çevirir.

MCP Araçları

MCP aracı, bir MCP sunucusunun gerçek dünyada işlem yapmak için bir LLM'ye veya yapay zeka uygulamasına sunduğu bir işlev ya da yürütülebilir özelliktir.

drivemcp.googleapis.com MCP sunucusunda aşağıdaki araçlar bulunur:

MCP Araçları
create_file

Google Drive'da dosya oluşturmak veya yüklemek için bu aracı çağırın.

Dosya yüklüyorsanız yüklenen dosyanın MIME türünden bağımsız olarak içerik, content alanında base64 kodlu olmalıdır.

Başarılı bir oluşturma işleminden sonra tek bir File nesnesi döndürür.

Aşağıdaki Google Drive birinci taraf MIME türleri, içerik sağlanmadan oluşturulabilir:

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

Varsayılan olarak, aşağıdaki MIME türleri için aşağıdaki dönüşümler yapılır:

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

Birinci taraf MIME türleri için dönüşümleri devre dışı bırakmak üzere disable_conversion_to_google_type değerini true olarak ayarlayın.

Klasörler, mime türü application/vnd.google-apps.folder olarak ayarlanarak oluşturulabilir.

download_file_content

Drive dosyasının içeriğini ham ikili veri (bayt) olarak indirmek için bu aracı çağırın.

Dosya, Google Drive'ın birinci taraf MIME türündeyse exportMimeType alanı zorunludur ve indirilen dosyanın biçimini belirler.

Dosya bulunamazsa kullanıcının istediği dosyayı bulmak için search_files gibi diğer araçları kullanmayı deneyin.

Kullanıcı, Drive içeriğinin doğal dil gösterimini istiyorsa read_file_content aracını kullanın (read_file_content daha küçük ve ayrıştırılması daha kolay olmalıdır).

get_file_metadata

Kullanıcının Drive dosyasındaki genel meta verileri bulmak için bu aracı çağırın.

Dosya bulunamazsa kullanıcının istediği dosyayı bulmak için search_files gibi diğer araçları kullanmayı deneyin.

get_file_permissions Bir Drive dosyasının izinlerini listelemek için bu aracı çağırın.
list_recent_files

Belirli bir kullanıcının son dosyalarını belirtilen sıralama düzenine göre bulmak için bu aracı çağırın. Varsayılan sıralama düzeni recency'dır.

Desteklenen sıralama düzenleri şunlardır:

  • recency: Dosyanın tarih-saat alanlarındaki en son zaman damgası.
  • lastModified: Dosyanın herhangi bir kullanıcı tarafından en son değiştirildiği zaman.
  • lastModifiedByMe: Dosyanın kullanıcı tarafından en son değiştirildiği zaman.

Varsayılan sayfa boyutu 10'dur. Sonuçlar arasında gezinmek için next_page_token tuşunu kullanın.

read_file_content

Bir Drive dosyasının doğal dil gösterimini getirmek için bu aracı çağırın.

Çok büyük dosyalarda dosya içeriği eksik olabilir. Metin gösterimi zaman içinde değişir. Bu nedenle, bu araç tarafından döndürülen metnin belirli biçimi hakkında varsayımlarda bulunmayın.

Desteklenen MIME türleri:

  • 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

Dosya bulunamazsa kullanıcının istediği dosyayı anahtar kelimelerle bulmak için search_files gibi diğer araçları kullanmayı deneyin.

search_files

Yapılandırılmış bir sorgu verildiğinde Drive dosyalarını aramak için bu aracı çağırın.

query alanında sorgu arama operatörlerinin kullanılması gerekir.

Bir sorgu dizesi aşağıdaki üç bölümü içerir: query_term operator values. Burada:

  • query_term, sorgu terimi veya aranacak alandır.
  • operator, sorgu terimi için koşulu belirtir.
  • values, arama sonuçlarınızı filtrelemek için kullanacağınız değerlerdir.

Sorgu Terimleri

Aşağıdaki tabloda, geçerli sorgu terimleri ve açıklamaları listelenmektedir:

Sorgu Terimi Geçerli operatörler Kullanım
title contains, =, != Dosyanın başlığı. Tek tırnak işareti (') ile çevreleyin. Sorgulardaki tek tırnak işaretlerini \' ile kod dışına alın (ör. 'Valentine\'s Day').
fullText contains Dosya içeriğindeki title veya metnin eşleşip eşleşmediği. Tek tırnak işareti (') ile çevreleyin. Sorgulardaki tek tırnak işaretlerini \' ile kod dışına alın (ör. 'Valentine\'s Day').
mimeType contains, =, != Dosyanın MIME türü. Tek tırnak işareti (') ile çevreleyin. Sorgulardaki tek tırnak işaretlerini \' ile kod dışına alın (ör. 'Valentine\'s Day').
modifiedTime <=, <, =, !=, >, >= Dosyanın son değiştirildiği tarih. RFC 3339 biçimi, varsayılan saat dilimi UTC'dir (ör. 2012-06-04T12:00:00-08:00). date türündeki alanlar karşılaştırılamaz.
viewedByMeTime <=, <, =, !=, >, >= Kullanıcının bir dosyayı en son görüntülediği tarih. RFC 3339 biçimi, varsayılan saat dilimi UTC'dir (ör. 2012-06-04T12:00:00-08:00). date türündeki alanlar karşılaştırılamaz.
parentId =, != Üst öğenin belirtilen kimliğe eşit olup olmadığı. root, kullanıcının birincil hiyerarşisi olarak işlev gören "Drive'ım" bölümünü belirtmek için kullanılabilir.
owner =, != Dosyanın sahibi olan kullanıcı me, isteği yapan kullanıcıyı belirtmek için kullanılabilir.
sharedWithMe =, != Kullanıcının "Benimle paylaşılanlar" koleksiyonundaki dosyalar. Tüm dosya kullanıcıları, dosyanın erişim kontrol listesinde (EKL) yer alır. true veya false olabilir.
createdTime <=, <, =, !=, >, >= Dosyanın oluşturulduğu tarih. RFC 3339 biçimini kullanın. Varsayılan saat dilimi UTC'dir (ör. 2012-06-04T12:00:00-08:00).

Sorgu Operatörleri

Aşağıdaki tabloda geçerli sorgu operatörleri listelenmiştir:

Operatör Kullanım
contains Bir dizenin içeriği diğerinde yer alıyor.
= Bir dizenin veya boole değerinin içeriği diğerine eşittir.
!= Bir dizenin veya boole değerinin içeriği diğerine eşit değil.
< Bir değerin diğerinden küçük olması
<= Bir değer, başka bir değerden küçük veya ona eşitse
> Bir değerin diğerinden büyük olması.
>= Bir değer, başka bir değerden büyük veya ona eşitse
in Bir öğe, koleksiyon içinde yer alır.
and Her iki sorguyla da eşleşen öğeleri döndürür.
or İki sorgudan biriyle eşleşen öğeleri döndürür.
not Arama sorgusunu olumsuzlar.
has Koleksiyonda, parametrelerle eşleşen bir öğe bulunur.

Bazı sorgu örnekleri:

  • 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' (kullanıcıya ait dosyalar için)

Sonuçlar arasında gezinmek için next_page_token tuşunu kullanın. Boş yanıt, sonuç olmadığını veya döndürülecek başka sonuç olmadığını gösterir.

MCP aracı özelliklerini alma

Bir MCP sunucusundaki tüm araçlar için MCP aracı özelliklerini almak üzere tools/list yöntemini kullanın. Aşağıdaki örnekte, MCP sunucusunda şu anda kullanılabilen tüm araçları ve özelliklerini listelemek için curl komutunun nasıl kullanılacağı gösterilmektedir.

Curl İsteği
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
}'