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.
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.
Serwer MCP gmailmcp.googleapis.com ma te narzędzia:
| Narzędzia MCP | |
|---|---|
| create_draft |
Tworzy nową wersję roboczą e-maila na koncie Gmail uwierzytelnionego użytkownika. To narzędzie przyjmuje adresy odbiorców, temat i treść wiadomości. Zwraca identyfikator utworzonej wersji roboczej Gmaila. |
| list_drafts |
Wyświetla listę e-maili w wersji roboczej z konta Gmail uwierzytelnionego użytkownika. To narzędzie może filtrować wersje robocze na podstawie ciągu zapytania i obsługuje stronicowanie. Zwraca listę wersji roboczych, w tym ich identyfikatory i tematy. |
| get_thread | Pobiera konkretny wątek e-maili z konta Gmail uwierzytelnionego użytkownika, w tym listę wiadomości. |
| search_threads |
Wyświetla wątki e-maili z konta Gmail uwierzytelnionego użytkownika. To narzędzie może filtrować wątki na podstawie ciągu zapytania i obsługuje paginację. Zwraca listę wątków, w tym ich identyfikatory i powiązane wiadomości. Każda powiązana wiadomość zawiera szczegóły, takie jak fragment treści wiadomości, temat, nadawca, odbiorcy itp. Pamiętaj, że to narzędzie nie zwraca pełnej treści wiadomości. Jeśli jest to potrzebne, użyj narzędzia „get_thread” z identyfikatorem wątku, aby pobrać pełną treść wiadomości. |
| label_thread |
Dodaje etykiety do całego wątku na koncie Gmail uwierzytelnionego użytkownika. Ta operacja wpłynie na wszystkie wiadomości znajdujące się obecnie w wątku oraz na wszystkie wiadomości, które zostaną do niego dodane w przyszłości. Jeśli nie masz pewności, jaki jest identyfikator wątku, najpierw użyj narzędzia Jeśli nie masz pewności, jaki jest identyfikator etykiety użytkownika, najpierw użyj narzędzia |
| unlabel_thread |
Usuwa etykiety z całego wątku na koncie Gmail uwierzytelnionego użytkownika. Jeśli nie masz pewności, jaki jest identyfikator wątku, najpierw użyj narzędzia search_threads. Jeśli nie masz pewności, jaki jest identyfikator etykiety użytkownika, najpierw użyj narzędzia list_labels.
|
| list_labels |
Wyświetla wszystkie etykiety zdefiniowane przez użytkownika dostępne na koncie Gmail uwierzytelnionego użytkownika. Użyj tego narzędzia, aby poznać id etykiety użytkownika przed wywołaniem funkcji label_thread, unlabel_thread, label_message lub unlabel_message. To narzędzie nie zwraca etykiet systemowych, ale można ich używać z ich znanymi identyfikatorami: „INBOX”, „TRASH”, „SPAM”, „STARRED”, „UNREAD”, „IMPORTANT”, „CHAT”, „DRAFT”, „SENT”.
|
| label_message |
Dodaje co najmniej 1 etykietę do konkretnej wiadomości na koncie Gmail uwierzytelnionego użytkownika. Aby znaleźć identyfikator wiadomości, użyj narzędzi takich jak |
| unlabel_message |
Usuwa co najmniej 1 etykietę z konkretnej wiadomości na koncie Gmail uwierzytelnionego użytkownika. Aby znaleźć identyfikator wiadomości, użyj narzędzi takich jak search_threads lub get_thread. Jeśli nie masz pewności, jaki jest identyfikator etykiety użytkownika, najpierw użyj narzędzia list_labels, aby odkryć dostępne etykiety i ich identyfikatory.
|
| create_label | Tworzy nową etykietę na koncie Gmail uwierzytelnionego użytkownika. |
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://gmailmcp.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/list", "jsonrpc": "2.0", "id": 1 }' |