MCP Reference: drivemcp.googleapis.com

Serwer Model Context Protocol (MCP) działa jako serwer proxy między usługą zewnętrzną, która udostępnia kontekst, dane lub możliwości dużemu modelowi językowemu (LLM) lub aplikacji AI. Serwery MCP łączą aplikacje AI z systemami zewnętrznymi, takimi jak bazy danych i usługi internetowe, tłumacząc ich odpowiedzi na format zrozumiały dla aplikacji AI.

Narzędzia MCP

Narzędzie MCP to funkcja lub możliwość wykonywania, którą serwer MCP udostępnia LLM lub aplikacji AI w celu wykonania działania w świecie rzeczywistym.

Serwer MCP drivemcp.googleapis.com ma te narzędzia:

Narzędzia MCP
create_file

Wywołaj to narzędzie, aby utworzyć lub przesłać plik na Dysk Google.

Jeśli przesyłasz plik, jego zawartość musi być zakodowana w formacie Base64 w polu content niezależnie od typu MIME przesyłanego pliku.

Po utworzeniu pliku zwraca pojedynczy obiekt File.

Bez podawania treści można utworzyć te typy MIME Dysku Google innych firm:

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

Domyślnie w przypadku tych typów MIME zostaną wykonane te konwersje:

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

Aby wyłączyć konwersje typów MIME Google, ustaw wartość disable_conversion_to_google_type na true.

Foldery można tworzyć, ustawiając typ MIME na application/vnd.google-apps.folder.

download_file_content

Wywołaj to narzędzie, aby pobrać zawartość pliku z Dysku jako nieprzetworzone dane binarne (bajty).

Jeśli plik ma typ MIME Dysk Google, wymagane jest pole exportMimeType, które określi format pobranego pliku.

Jeśli plik nie zostanie znaleziony, spróbuj użyć innych narzędzi, takich jak search_files, aby znaleźć plik, którego szuka użytkownik.

Jeśli użytkownik chce uzyskać reprezentację w języku naturalnym treści z Dysku, użyj narzędzia read_file_content (read_file_content powinno być mniejsze i łatwiejsze do przeanalizowania).

get_file_metadata

Wywołaj to narzędzie, aby znaleźć ogólne metadane pliku użytkownika na Dysku.

Jeśli plik nie zostanie znaleziony, spróbuj użyć innych narzędzi, takich jak search_files, aby znaleźć plik, którego szuka użytkownik.

get_file_permissions Wywołaj to narzędzie, aby wyświetlić listę uprawnień pliku na Dysku.
list_recent_files

Wywołaj to narzędzie, aby znaleźć ostatnie pliki użytkownika w określonej kolejności sortowania. Domyślna kolejność sortowania to recency.

Obsługiwane kolejności sortowania:

  • recency: najnowsza sygnatura czasowa z pól daty i godziny pliku.
  • lastModified: ostatnia modyfikacja pliku przez dowolną osobę.
  • lastModifiedByMe: ostatnia modyfikacja pliku przez użytkownika.

Domyślny rozmiar strony to 10. Aby podzielić wyniki na strony, użyj next_page_token.

read_file_content

Wywołaj to narzędzie, aby pobrać reprezentację pliku na Dysku w języku naturalnym.

W przypadku bardzo dużych plików zawartość pliku może być niekompletna. Reprezentacja tekstowa będzie się zmieniać, więc nie zakładaj, że tekst zwracany przez to narzędzie będzie miał określony format.

Obsługiwane typy MIME:

  • 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

Jeśli plik nie zostanie znaleziony, spróbuj użyć innych narzędzi, takich jak search_files, aby znaleźć plik, którego szuka użytkownik, używając słów kluczowych.

search_files

Wywołaj to narzędzie, aby wyszukać pliki na Dysku na podstawie zapytania strukturalnego.

Pole query wymaga użycia operatorów wyszukiwania.

Ciąg zapytania składa się z 3 części: query_term operator values, gdzie:

  • query_term to wyszukiwane hasło lub pole.
  • operator określa warunek dla wyszukiwanego hasła.
  • values to konkretne wartości, których należy użyć do filtrowania wyników wyszukiwania.

Wyszukiwane hasła

W tabeli poniżej znajdziesz prawidłowe wyszukiwane hasła wraz z ich opisami:

Wyszukiwane hasło Prawidłowe operatory Wykorzystanie
title contains, =, != Tytuł pliku. Umieść w pojedynczych cudzysłowach ('). W zapytaniach używaj znaku (\'), np. ('Valentine\'s Day').
fullText contains Czy title lub tekst w treści pliku pasuje. Umieść w pojedynczych cudzysłowach ('). W zapytaniach używaj znaku (\'), np. ('Valentine\'s Day').
mimeType contains, =, != Typ MIME pliku. Umieść w pojedynczych cudzysłowach ('). W zapytaniach używaj znaku (\'), np. ('Valentine\'s Day').
modifiedTime <=, <, =, !=, >, >= Data ostatniej modyfikacji pliku. Format RFC 3339, domyślna strefa czasowa to UTC, np. 2012-06-04T12:00:00-08:00. Pola typu date nie są porównywalne.
viewedByMeTime <=, <, =, !=, >, >= Data ostatniego wyświetlenia pliku przez użytkownika. Format RFC 3339, domyślna strefa czasowa to UTC, np. 2012-06-04T12:00:00-08:00. Pola typu date nie są porównywalne.
parentId =, != Czy element nadrzędny jest równy podanemu identyfikatorowi. Aby określić „Mój dysk” użytkownika, który pełni funkcję jego głównej hierarchii, możesz użyć wartości root.
owner =, != Użytkownik, do którego plik należy. Aby określić użytkownika, który wysyła żądanie, możesz użyć wartości me.
sharedWithMe =, != Pliki, które znajdują się w kolekcji „Udostępnione mnie” użytkownika. Wszyscy użytkownicy pliku znajdują się na liście kontroli dostępu (ACL) pliku. Może mieć wartość true lub false.
createdTime <=, <, =, !=, >, >= Data utworzenia pliku. Użyj formatu RFC 3339, domyślna strefa czasowa to UTC, np. 2012-06-04T12:00:00-08:00.

Operatory zapytań

W tabeli poniżej znajdziesz prawidłowe operatory zapytań:

Operator Wykorzystanie
contains Zawartość jednego ciągu znaków jest obecna w drugim.
= Zawartość ciągu znaków lub wartość logiczna jest równa drugiej.
!= Zawartość ciągu znaków lub wartość logiczna nie jest równa drugiej.
< Wartość jest mniejsza od innej.
<= Wartość jest mniejsza lub równa innej.
> Wartość jest większa od innej.
>= Wartość jest większa lub równa innej.
in Element znajduje się w kolekcji.
and Zwróć elementy pasujące do obu zapytań.
or Zwróć elementy pasujące do dowolnego zapytania.
not Neguje zapytanie.
has Kolekcja zawiera element pasujący do parametrów.

Przykłady zapytań:

  • 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' (w przypadku plików należących do użytkownika)

Aby podzielić wyniki na strony, użyj next_page_token. Pusta odpowiedź oznacza, że nie ma wyników lub nie ma więcej wyników do zwrócenia.

Pobieranie specyfikacji narzędzi MCP

Aby uzyskać specyfikacje narzędzi MCP dla wszystkich narzędzi na serwerze MCP, użyj metody tools/list. Poniższy przykład pokazuje, jak użyć curl, aby wyświetlić listę wszystkich narzędzi i ich specyfikacji dostępnych obecnie na serwerze MCP.

Żądanie 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
}'