Używamy cookies, żeby zwiększyć Twoje doświadczenia na stronie
CodeWorlds
Powrót do kolekcji
Przewodnik10 min czytania

Google Drive MCP, dokumenty dla asystenta

Oficjalny serwer MCP do Dysku Google jest wąski i we wczesnej wersji. Zakresy uprawnień, czego nie potrafi, alternatywy i jak podłączyć to bezpiecznie.

Google Drive przez MCP, czyli asystent czytający dokumenty

Firmowa wiedza rzadko siedzi w bazie danych. Znacznie częściej leży w dokumentach, arkuszach i prezentacjach, których nikt nie pamięta, a które zawierają odpowiedzi na połowę zadawanych pytań.

Serwer w protokole opisującym podłączanie narzędzi do modeli językowych ma to udostępnić asystentowi. Google wystawia po jednym takim serwerze na produkt: osobno Dysk, dokumenty, arkusze, prezentacje, kalendarz, pocztę i czat. Ten tekst dotyczy serwera Dysku, bo to on odpowiada za odnajdywanie plików i czytanie ich treści.

Zanim przejdziemy dalej, dwie rzeczy do postawienia od razu, bo bez nich cały tekst wprowadzałby w błąd: serwer jest we wczesnej wersji przeznaczonej dla programistów, a jego zakres jest celowo wąski.

Wczesna wersja i wąski zakres

Oficjalny serwer nie osiągnął stanu ogólnej dostępności i udostępnia osiem narzędzi nastawionych głównie na odczyt: wyszukiwanie plików, listę ostatnio używanych, metadane pliku, jego uprawnienia, odczyt treści, pobranie zawartości, kopiowanie i tworzenie nowego pliku. To nie jest niedopatrzenie, tylko świadoma decyzja, i warto rozumieć jej konsekwencje.

Serwer potrafi czytać pliki, kopiować je i tworzyć nowe. Nie potrafi natomiast aktualizować istniejących, usuwać ich, przenosić, zmieniać uprawnień ani subskrybować zmian. Te operacje pozostają dostępne wyłącznie przez interfejs programistyczny.

Zapis treści wygląda przy tym inaczej, niż wynikałoby z samego Dysku, i to jest najczęstsze nieporozumienie przy tej rodzinie serwerów. Serwer dokumentów ma narzędzie aktualizujące dokument, serwer arkuszy zmienia wartości komórek, ustawia formuły i wstawia wiersze, a serwer prezentacji aktualizuje slajdy. Asystent zaktualizuje więc arkusz, tylko nie przez serwer Dysku: wymaga to podłączenia serwera danego produktu, z osobnym zestawem uprawnień.

Konsekwencja jest praktyczna. Asystent oparty na tym serwerze odpowiada na pytania o zawartość dokumentów i tworzy nowe pliki z podsumowaniami. Nie posprząta katalogu, nie usunie ani nie przeniesie pliku i nie udostępni go współpracownikowi.

Wczesny etap oznacza również, że opisy narzędzi mogą się zmienić przy aktualizacji po stronie Google. Przy usłudze zdalnej to zmiana, na którą nie masz wpływu, więc instrukcja opierająca się na dokładnym zachowaniu konkretnego narzędzia może przestać działać bez Twojego udziału.

Wniosek nie brzmi „nie używaj", tylko określa właściwe zastosowanie. To narzędzie do czytania i podsumowywania, a nie do zarządzania plikami. Do drugiego potrzebujesz czegoś innego, o czym niżej.

Zakresy uprawnień, czyli rzecz najważniejsza

Tu leży najbardziej niedoceniana część i jednocześnie ta, która decyduje o bezpieczeństwie całego wdrożenia.

Serwer działa na dwóch zakresach uprawnień. Pierwszy daje dostęp do odczytu całej zawartości Dysku użytkownika. Drugi jest znacznie węższy i wart osobnego zrozumienia.

Ten węższy zakres obejmuje wyłącznie pliki utworzone przez aplikację oraz te, które użytkownik jawnie wskazał do otwarcia w niej. To znaczy, że asystent nie widzi całego Dysku, tylko dokładnie te dokumenty, które sam stworzył albo które mu podano.

Różnica między tymi dwoma zakresami jest ogromna i warto podjąć tę decyzję świadomie. Pierwszy jest wygodniejszy, bo asystent przeszuka wszystko i znajdzie odpowiedź gdziekolwiek leży. Drugi jest bezpieczniejszy, bo dokumenty z oceną pracowniczą, umowa i prywatne notatki pozostają poza zasięgiem, nawet jeśli model zostałby do ich przeczytania nakłoniony.

Przy wdrożeniu firmowym warto zacząć od węższego zakresu i rozszerzyć go dopiero wtedy, gdy okaże się niewystarczający. Odwrotna kolejność oznacza, że przez pierwszy miesiąc asystent czytał wszystko, a nikt tego nie zauważył.

Uwierzytelnienie odbywa się przez standardowy mechanizm z potwierdzeniem w przeglądarce, osobno dla każdego użytkownika. To dobra wiadomość, bo uprawnienia asystenta są uprawnieniami konkretnej osoby, a nie całej organizacji.

Do czego to się nadaje

Warto opisać zastosowania konkretnie, bo od nich zależy, czy wąski zakres jest ograniczeniem, czy zaletą.

Najbardziej użyteczne jest odnajdywanie informacji. Pytanie o warunki umowy z konkretnym dostawcą prowadzi asystenta do właściwego dokumentu i fragmentu, zamiast do listy dwudziestu plików o podobnych nazwach.

Drugie to podsumowywanie. Dokument na czterdzieści stron sprowadzony do listy ustaleń oszczędza godzinę, a przy okazji pokazuje, czego w nim nie ma.

Trzecie to praca z arkuszami. Odczytanie danych, policzenie czegoś i wyjaśnienie, skąd wynik pochodzi, bywa szybsze niż budowanie formuły, zwłaszcza przy arkuszu, którego nie Ty tworzyłeś.

Czwarte to łączenie z innymi źródłami. Asystent mający jednocześnie dostęp do dokumentów i do rozmów firmowych, opisanych w tekście o serwerze Slacka, potrafi powiązać ustalenie z dyskusji z dokumentem, który z niego powstał.

Czego nie zrobi: nie posprząta Dysku, nie usunie ani nie przeniesie pliku, nie zmieni uprawnień. Jeśli tego potrzebujesz, serwer Dysku nie jest właściwym narzędziem, a przy samym zapisie treści właściwym wyborem jest serwer arkuszy albo dokumentów.

Alternatywy

Skoro zakres oficjalnego serwera jest wąski, warto znać pozostałe drogi i ich koszty.

Serwery społecznościowe obejmują w jednym miejscu znacznie więcej operacji: pełne zarządzanie plikami, dyski współdzielone, uprawnienia, historię wersji, edycję dokumentów i prezentacji. To rozwiązuje problem braku możliwości zapisu i wprowadza inny: uruchamiasz cudzy kod z dostępem do firmowych dokumentów, a nikt tego kodu nie przeglądał. Zasady z tekstu o katalogu serwerów obowiązują tu w całości.

Interfejs programistyczny Google daje pełen zakres możliwości i wymaga napisania warstwy pośredniczącej. Przy zastosowaniu wąskim i powtarzalnym, na przykład dopisywaniu wiersza do arkusza po zdarzeniu, to zwykle właściwa droga: kilkadziesiąt linii kodu, pełna kontrola i brak modelu w środku.

Własny serwer w protokole to rozwiązanie pośrednie. Wystawiasz kilka nazwanych operacji, które sam napisałeś, a model wywołuje je z parametrami. Narzędzia do tego opisuje tekst o zestawie narzędzi protokołu.

Warto też pamiętać o koncie usługowym z delegacją w skali organizacji. Daje ono dostęp do dokumentów wszystkich pracowników bez ich udziału, co rozwiązuje problem uwierzytelniania i tworzy poważne ryzyko, bo pomyłka w konfiguracji oznacza asystenta czytającego całą firmę.

Wielkość dokumentów i kontekst modelu

Problem praktyczny, który przy dokumentach pojawia się szybciej niż przy jakimkolwiek innym źródle.

Dokument na czterdzieści stron to kilkadziesiąt tysięcy tokenów. Wczytanie trzech takich plików wypełnia znaczną część dostępnego kontekstu, a model musi w nim jeszcze zmieścić pytanie, historię rozmowy i miejsce na odpowiedź.

Objawy są dwa i oba mylące. Pierwszy: model odpowiada na podstawie fragmentu, nie sygnalizując, że reszty nie widział. Drugi: odpowiedź jest poprawna i pomija rzecz zapisaną na stronie trzydziestej, bo tam kontekst już się skończył.

Trzy rzeczy ograniczają ten problem. Pierwsza to pytanie o konkretny fragment zamiast o cały dokument, na przykład o rozdział albo o sekcję. Druga to wskazanie jednego pliku zamiast pozwalania asystentowi na wczytanie wszystkiego, co znajdzie. Trzecia, przy większych zbiorach, to zbudowanie warstwy wyszukiwania po dokumentach zamiast przekazywania ich w całości.

To ostatnie rozwiązanie jest właściwe przy archiwum liczonym w setkach plików. Podział dokumentów na fragmenty, policzenie wektorów i wyszukiwanie po znaczeniu daje odpowiedzi na pytania obejmujące całe archiwum, czego samo podłączenie Dysku nie zapewnia. Serwer w protokole sprawdza się przy pracy z pojedynczymi dokumentami, a nie jako zamiennik wyszukiwania.

Arkusze, dokumenty i prezentacje

Trzy rodzaje plików zachowują się inaczej i warto wiedzieć, czego oczekiwać po każdym.

Dokumenty tekstowe są najprostszym przypadkiem. Treść trafia do modelu jako tekst z zachowaniem nagłówków, więc pytanie o zawartość działa dobrze, a podsumowanie długiego dokumentu jest najczęstszym i najbardziej udanym zastosowaniem.

Arkusze wymagają ostrożności. Zamiana tabeli na tekst gubi część znaczenia, zwłaszcza przy scalonych komórkach, wielu zakładkach i formułach, których wynik widać, a treści już nie. Pytanie o wartość konkretnej komórki działa, pytanie o „co wynika z tego arkusza" bywa odpowiadane pewnie i błędnie. Osobny serwer arkuszy czyta wartości komórek i właściwości siatki wprost, więc do pracy z danymi nadaje się lepiej niż odczyt pliku przez Dysk.

Prezentacje są przypadkiem najtrudniejszym, bo ich treść siedzi w układzie graficznym. Tekst ze slajdów da się odczytać, natomiast wykres, schemat i zależność pokazana strzałkami przepadają. Notatki prelegenta bywają tu cenniejsze niż same slajdy, bo zawierają pełne zdania.

Praktyczny wniosek: przy arkuszach i prezentacjach warto sprawdzić odpowiedź przy dwóch pytaniach, na które znasz odpowiedź. To dziesięć minut, które pokazuje, czy asystent faktycznie widzi to, co myślisz, że widzi.

Google Drive kontra alternatywy

RozwiązanieMocna stronaSłabośćKiedy wybrać
Serwer Dysku od GoogleZdalny, bez utrzymania, wąski zakres uprawnieńWczesna wersja, tylko odczyt, kopiowanie i tworzenieCzytanie i podsumowywanie dokumentów
Serwer społecznościowyPełne zarządzanie plikami i uprawnieniamiCudzy kod z dostępem do dokumentów firmyZarządzanie plikami, świadomie i po przeglądzie
Interfejs programistycznyPełny zakres, przewidywalnośćPiszesz warstwę pośredniczącą samWąska automatyzacja bez modelu
Własny serwerDokładnie te operacje, które dopuszczaszUtrzymanie po Twojej stronieWysokie wymagania bezpieczeństwa

Pierwszy wiersz jest właściwym punktem wyjścia dla większości zespołów, bo zdejmuje utrzymanie i domyślnie ogranicza zakres. Sięgaj po pozostałe wtedy, gdy zderzysz się z jego granicami, a nie zanim to nastąpi.

Trzeci wiersz warto rozważyć uczciwie. Sporo zadań opisywanych jako wymagające asystenta to w rzeczywistości powtarzalna operacja, którą wykonuje się bez modelu taniej, szybciej i bez ryzyka, że wynik będzie za każdym razem inny.

Ryzyka przy dokumentach firmowych

Ta sekcja dotyczy rzeczy, które przy dokumentach ważą więcej niż przy jakimkolwiek innym źródle danych.

Pierwsze to zakres uprawnień. Dostęp do odczytu całego Dysku obejmuje dokumenty kadrowe, umowy i notatki, których autor nigdy nie zakładał, że przeczyta je model. Węższy zakres rozwiązuje to u źródła.

Drugie to treść wracająca z narzędzia. Zawartość dokumentu trafia wprost do kontekstu modelu, a dokument może zawierać zdanie sformułowane jak polecenie. Przy plikach otrzymanych z zewnątrz, na przykład ofertach od dostawców, to nie jest hipoteza.

Trzecie to gromadzenie. Asystent czytający dokumenty przez miesiąc przekazuje ich treść tam, gdzie działa klient, a to jest zwykle usługa zewnętrzna z własną polityką przechowywania.

Czwarte to dane osobowe. Dokumenty firmowe zawierają nazwiska, wynagrodzenia i oceny, więc ich przetwarzanie podlega tym samym regułom co inne dane pracownicze.

Trzy nawyki ograniczają większość tego ryzyka: węższy zakres uprawnień na starcie, uwierzytelnienie na poziomie osoby zamiast konta usługowego oraz sprawdzenie, gdzie trafia treść po stronie klienta, zanim narzędzie zostanie zatwierdzone.

Typowe błędy

Pierwszy to przyznanie dostępu do odczytu całego Dysku, gdy wystarczy węższy zakres obejmujący wskazane pliki.

Drugi to oczekiwanie, że serwer Dysku posprząta katalog albo zmieni uprawnienia. On czyta, kopiuje i tworzy, a zapis do arkusza czy dokumentu należy do osobnych serwerów tych produktów.

Trzeci to użycie konta usługowego z delegacją w skali organizacji tam, gdzie wystarczy uwierzytelnienie pojedynczej osoby. Pierwsze daje dostęp do dokumentów całej firmy niezależnie od tego, kto pyta.

Czwarty to traktowanie treści dokumentów jako danych bezpiecznych. Plik otrzymany z zewnątrz może zawierać instrukcję, która trafi do kontekstu modelu razem z resztą.

Piąty to opieranie procesu produkcyjnego na narzędziu we wczesnej wersji. Opisy narzędzi mogą się zmienić bez Twojego udziału, więc automatyzacja krytyczna wymaga stabilniejszej podstawy.

Szósty to uruchamianie serwera społecznościowego z dostępem do dokumentów firmy bez przeglądu kodu. Zakres uprawnień takich serwerów bywa znacznie szerszy niż oficjalnego, a nikt tego kodu nie sprawdzał przed publikacją.

FAQ

Czy oficjalny serwer Google jest gotowy do produkcji?

Nie w pełni. Pozostaje we wczesnej wersji przeznaczonej dla programistów, a opisy narzędzi mogą się zmienić przy aktualizacji po stronie dostawcy. Do czytania i podsumowywania dokumentów sprawdza się dobrze, do procesów krytycznych warto poczekać albo zbudować własną warstwę.

Czego ten serwer nie potrafi?

Aktualizować istniejących plików, usuwać ich, przenosić, zmieniać uprawnień ani subskrybować zmian. Potrafi czytać, kopiować i tworzyć nowe pliki. Aktualizacja treści dokumentu, arkusza albo prezentacji jest możliwa przez osobne serwery tych produktów, a operacje na samym Dysku wyłącznie przez interfejs programistyczny albo serwery społecznościowe.

Który zakres uprawnień wybrać?

Zacznij od węższego, obejmującego wyłącznie pliki utworzone przez aplikację oraz te wskazane przez użytkownika. Szerszy daje dostęp do odczytu całego Dysku, łącznie z dokumentami, których autorzy nie zakładali, że przeczyta je model.

Czy asystent zobaczy dokumenty innych osób?

Przy uwierzytelnieniu na poziomie osoby wyłącznie to, do czego ta osoba ma dostęp. Przy koncie usługowym z delegacją w skali organizacji sytuacja jest inna i takiego układu należy unikać, o ile nie ma ku niemu wyraźnego powodu.

Kiedy lepiej użyć interfejsu programistycznego?

Przy zadaniu powtarzalnym i wąskim, na przykład dopisywaniu wiersza do arkusza po zdarzeniu. Kilkadziesiąt linii kodu daje wtedy przewidywalny wynik, pełen zakres operacji i brak modelu w środku, który mógłby zrobić coś innego, niż zaplanowałeś.

Konfigurację opisuje dokumentacja Google dla programistów, a pozostałe serwery Workspace osobna strona.