MCP Reference: drivemcp.googleapis.com

Jest to serwer MCP udostępniany przez interfejs Drive API. Serwer udostępnia programistom narzędzia do tworzenia aplikacji LLM na podstawie Dysku.

Serwer Model Context Protocol (MCP) działa jako serwer proxy między usługą zewnętrzną, która udostępnia kontekst, dane lub funkcje 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.

Konfiguracja serwera

Przed użyciem musisz skonfigurować serwer MCP na potrzeby Dysku. Więcej informacji o korzystaniu z serwerów MCP Google i Google Cloud znajdziesz w omówieniu serwerów MCP Google Cloud.

Punkty końcowe serwera

Punkt końcowy usługi MCP to adres sieciowy i interfejs komunikacyjny (zwykle adres URL) serwera MCP, którego aplikacja AI (host klienta MCP) używa do nawiązywania bezpiecznego, standardowego połączenia. Jest to punkt kontaktowy, za pomocą którego LLM może prosić o kontekst, wywoływać narzędzie lub uzyskiwać dostęp do zasobu. Punkty końcowe Google MCP mogą być globalne lub regionalne.

Serwer MCP interfejsu Drive API ma ten globalny punkt końcowy MCP:

  • https://drivemcp.googleapis.com/mcp/v1

Narzędzia MCP

Narzędzie MCP to funkcja lub wykonywalna możliwość, którą serwer MCP udostępnia dużemu modelowi językowemu lub aplikacji AI, aby umożliwić jej wykonanie działania w świecie rzeczywistym.

Narzędzia

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

Narzędzia MCP
create_file

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

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

W przypadku pomyślnego utworzenia zwraca pojedynczy obiekt File.

Następujące typy MIME Dysku Google można utworzyć bez podawania treści:

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

Domyślnie w przypadku tych typów MIME będą przeprowadzane te konwersje:

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

Aby wyłączyć konwersje w przypadku własnych typów MIME, 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 na Dysku jako surowe dane binarne (bajty).

Jeśli plik ma typ MIME Dysku Google, pole exportMimeType jest wymagane i określa format pobranego pliku.

Jeśli pliku nie można znaleźć, spróbuj użyć innych narzędzi, np. search_files, aby znaleźć plik, o który prosi użytkownik.

Jeśli użytkownik chce uzyskać reprezentację treści na Dysku w języku naturalnym, 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 na Dysku użytkownika.

Jeśli pliku nie można znaleźć, spróbuj użyć innych narzędzi, np. search_files, aby znaleźć plik, o który prosi użytkownik.

get_file_permissions Wywołaj to narzędzie, aby wyświetlić listę uprawnień do 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 w pliku.
  • lastModified: ostatnia modyfikacja pliku przez dowolną osobę.
  • lastModifiedByMe: ostatnia modyfikacja pliku przez użytkownika.

Domyślny rozmiar strony to 10. Aby przeglądać wyniki, 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ść może być niekompletna. Reprezentacja tekstowa będzie się zmieniać z czasem, więc nie zakładaj, że narzędzie zwróci tekst w określonym formacie.

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 pliku nie można znaleźć, spróbuj użyć innych narzędzi, np. search_files, aby znaleźć plik, o który prosi użytkownik, za pomocą 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 zapytań.

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

  • query_term to wyszukiwane hasło lub pole, w którym chcesz wyszukiwać.
  • operator określa warunek dla terminu zapytania.
  • values to konkretne wartości, których możesz użyć do filtrowania wyników wyszukiwania.

Wyszukiwane hasła

W tabeli poniżej znajdziesz prawidłowe terminy wyszukiwania wraz z ich opisami:

Wyszukiwane hasło Prawidłowe operatory Wykorzystanie
title contains, =, != Tytuł pliku. Ujmij w pojedyncze cudzysłowy ('). Zmień znaczenie pojedynczych cudzysłowów w zapytaniach za pomocą znaku \', np. 'Valentine\'s Day'.
fullText contains Czy title lub tekst w zawartości pliku są zgodne. Ujmij w pojedyncze cudzysłowy ('). Zmień znaczenie pojedynczych cudzysłowów w zapytaniach za pomocą znaku \', np. 'Valentine\'s Day'.
mimeType contains, =, != Typ MIME pliku. Ujmij w pojedyncze cudzysłowy ('). Zmień znaczenie pojedynczych cudzysłowów w zapytaniach za pomocą 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. root można użyć do określenia „Mojego dysku” użytkownika, który pełni funkcję głównej hierarchii.
owner =, != Użytkownik, do którego należy plik. me można użyć do określenia użytkownika, który wysyła żądanie.
sharedWithMe =, != Pliki znajdujące się w kolekcji „Udostępnione mnie” użytkownika. Wszyscy użytkownicy pliku znajdują się na liście kontroli dostępu (ACL) pliku. Może to być 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 listę prawidłowych operatorów zapytań:

Operator Wykorzystanie
contains Zawartość jednego ciągu znaków jest obecna w drugim.
= Zawartość ciągu znaków lub wartości logicznej jest równa drugiej wartości.
!= Zawartość ciągu znaków lub wartości logicznej nie jest równa drugiej wartości.
< Wartość jest mniejsza od innej.
<= Wartość jest mniejsza lub równa innej wartości.
> Wartość jest większa od innej.
>= Wartość jest większa lub równa innej wartości.
in Element znajduje się w kolekcji.
and Zwróć elementy pasujące do obu zapytań.
or Zwraca 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 przeglądać wyniki, użyj next_page_token. Pusta odpowiedź oznacza, że nie ma wyników lub nie ma już więcej wyników do zwrócenia.

Uzyskiwanie 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 za pomocą curl wyświetlić listę wszystkich narzędzi i ich specyfikacji dostępnych obecnie na serwerze MCP.

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