Tool: search_messages
Sucht nach Google Chat-Nachrichten mithilfe von Keywords und Filtern und gibt sie im Markdown-Format zurück. Funktioniert in allen Bereichen, auf die der Nutzer Zugriff hat, oder kann auf eine bestimmte Unterhaltung beschränkt werden.
Beachten Sie die folgenden Hinweise, wenn Sie sich für die Verwendung von search_messages im Vergleich zu anderen Such- oder Lesetools entscheiden:
- Verwenden Sie
search_messages, wenn Sie nach bestimmten Nachrichteninhalten, Schlüsselwörtern, Erwähnungen, Links, Absendern oder ungelesenen Nachrichten suchen, die sich möglicherweise in mehreren Gruppenbereichen befinden oder für die keine Konversations-ID bekannt ist. - Verwenden Sie
list_messages, wenn Sie die spezifische Bereichs- oder Thread-ID kennen und Nachrichten sequenziell in chronologischer Reihenfolge lesen möchten. - Mit
search_conversationskönnen Sie Metadaten zu Gruppenbereichen wie Unterhaltungs-IDs anhand des Anzeigenamens des Gruppenbereichs oder der Teilnehmer finden. Es werden nur Metadaten durchsucht, nicht die Inhalte von Nachrichten.
Wenn searchParameters ohne bestimmte Filter angegeben wird, werden die letzten Nachrichten aus allen für den Nutzer zugänglichen Unterhaltungen zurückgegeben.
Das folgende Codebeispiel zeigt, wie Sie mit curl das MCP-Tool search_messages aufrufen.
| Curl-Anfrage |
|---|
curl --location 'https://chatmcp.googleapis.com/mcp/v1' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "search_messages", "arguments": { // provide these details according to the tool MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Eingabeschema
SearchMessagesRequest
| JSON-Darstellung |
|---|
{
"searchParameters": {
object ( |
| Felder | |
|---|---|
searchParameters |
Erforderlich. Die für die Suche zu verwendenden Suchparameter. |
pageSize |
Optional. Die maximale Anzahl der zurückzugebenden Ergebnisse (maximal 100). Wenn nicht angegeben, werden maximal 25 zurückgegeben. |
pageToken |
Optional. Ein Seitentoken, das von einem vorherigen |
SearchParameters
| JSON-Darstellung |
|---|
{ "keywords": [ string ], "conversationId": string, "sender": string, "isUnread": boolean, "hasLink": boolean, "startTime": string, "endTime": string, "mentionsMe": boolean, "conversationIncludesUser": string, "spaceDisplayNames": [ string ] } |
| Felder | |
|---|---|
keywords[] |
Optional. Eine Reihe von Keywords, mit denen die Ergebnisse gefiltert werden. |
conversationId |
Optional. Beschränkt die Suche auf eine bestimmte Unterhaltungs-ID, die vom Tool „search_conversations“ zurückgegeben wird. Format: |
sender |
Optional. Nach Nachrichten von einem bestimmten Nutzer filtern Es kann entweder die E‑Mail-Adresse oder der Ressourcenname des Absenders verwendet werden. Nutzerressourcennamen werden als |
isUnread |
Optional. Nachrichten filtern, die vom anrufenden Nutzer nicht gelesen wurden. |
hasLink |
Optional. Nachrichten filtern, die mindestens eine URL enthalten. |
startTime |
Optional. Nachrichten filtern, die nach diesem Zeitpunkt erstellt wurden. Format: ISO 8601-Zeitstempel. |
endTime |
Optional. Nachrichten filtern, die vor diesem Zeitpunkt erstellt wurden. Format: ISO 8601-Zeitstempel. |
mentionsMe |
Optional. Filtern Sie nach Nachrichten, in denen der anrufende Nutzer explizit erwähnt wird. |
conversationIncludesUser |
Optional. Filtern Sie nach Nachrichten in Direktnachrichten und Gruppenchats, die die E-Mail-Adresse oder ID des jeweiligen Nutzers enthalten. |
spaceDisplayNames[] |
Optional. Nach einer Liste von Gruppenbereichsnamen filtern. Anzeigenamen von Gruppenbereichen werden teilweise abgeglichen. Hinweis: Es werden nur die fünf besten Übereinstimmungen zurückgegeben. |
Ausgabeschema
Antwort auf die Suche nach Google Chat-Nachrichten. Wenn „next_page_token“ ausgefüllt ist, kann „SearchMessages“ noch einmal mit diesem Token aufgerufen werden, um die nächste Ergebnisseite abzurufen.
SearchMessagesResponse
| JSON-Darstellung |
|---|
{
"messages": [
{
object ( |
| Felder | |
|---|---|
messages[] |
Liste der Nachrichtobjekte, die den Suchkriterien entsprechen. |
nextPageToken |
Ein Token, das als |
ChatMessage
| JSON-Darstellung |
|---|
{ "messageId": string, "threadId": string, "plaintextBody": string, "sender": { object ( |
| Felder | |
|---|---|
messageId |
Ressourcenname der Nachricht. Format: spaces/{space}/messages/{message} |
threadId |
Der Thread, zu dem diese Nachricht gehört. Dieser Parameter ist leer, wenn die Nachricht nicht Teil eines Threads ist. Format: spaces/{space}/threads/{thread} |
plaintextBody |
Textkörper der Nachricht mit Markdown-Formatierung. |
sender |
Der Absender der Nachricht. |
createTime |
Nur Ausgabe. Zeitstempel für die Erstellung der Nachricht. |
threadedReply |
Gibt an, ob es sich bei der Nachricht um eine Thread-Antwort handelt. |
attachments[] |
In der Nachricht enthaltene Anhänge |
reactionSummaries[] |
Die in der Nachricht enthaltene Zusammenfassung der Emoji-Reaktionen. |
Nutzer
| JSON-Darstellung |
|---|
{
"userId": string,
"displayName": string,
"email": string,
"userType": enum ( |
| Felder | |
|---|---|
userId |
Ressourcenname eines Chat-Nutzers. Format: users/{user}. |
displayName |
Der Anzeigename eines Chat-Nutzers. |
email |
Die E-Mail-Adresse des Nutzers. Dieses Feld wird nur ausgefüllt, wenn der Nutzertyp „HUMAN“ ist. |
userType |
Der Typ des Nutzers. |
ChatAttachmentMetadata
| JSON-Darstellung |
|---|
{
"attachmentId": string,
"filename": string,
"mimeType": string,
"source": enum ( |
| Felder | |
|---|---|
attachmentId |
Ressourcenname des Anhangs. Format: spaces/{space}/messages/{message}/attachments/{attachment}. |
filename |
Name des Anhangs. |
mimeType |
Inhaltstyp (MIME-Typ). |
source |
Die Quelle des Anhangs. |
ReactionSummary
| JSON-Darstellung |
|---|
{ "emoji": string, "count": integer } |
| Felder | |
|---|---|
emoji |
Der Unicode-String des Emojis oder der Name des benutzerdefinierten Emojis. |
count |
Die Gesamtzahl der Reaktionen mit dem zugehörigen Emoji. |
UserType
Der Typ eines Google Chat-Nutzers.
| Enums | |
|---|---|
USER_TYPE_UNSPECIFIED |
Nicht angegeben |
HUMAN |
Menschlicher Nutzer. |
APP |
App-Nutzer |
Quelle
Die Quelle des Anhangs.
| Enums | |
|---|---|
SOURCE_UNSPECIFIED |
Reserviert. |
DRIVE_FILE |
Die Datei ist eine Google Drive-Datei. |
UPLOADED_CONTENT |
Die Datei wird in Chat hochgeladen. |
Tool-Annotationen
Tool-Anmerkungen werden an MCP-Clients gesendet, um das grundlegende Risiko eines bestimmten Tools zu beschreiben. Die meisten Clients behandeln diese Hinweise als nicht vertrauenswürdig, sie können aber verwendet werden, um zu entscheiden, wann eine Bestätigungsaufforderung an einen Nutzer gesendet wird.
Zusammen mit dem Titelstring sind die folgenden booleschen Hinweise definiert:
readOnlyHint: Wenn „true“, ändert das Tool seine Umgebung nicht. Standardeinstellung: false.destructiveHint: Wenn „true“, kann das Tool destruktive Aktionen ausführen. Wenn „false“, kann das Tool nur additive Aktionen ausführen. Standardeinstellung: true.idempotentHint: Wenn „true“, hat das wiederholte Aufrufen des Tools mit denselben Argumenten keine zusätzlichen Auswirkungen auf die Umgebung. Standardeinstellung: false.openWorldHint: Wenn „true“, kann das Tool mit einer „offenen Welt“ externer Einheiten interagieren. Wenn „false“, kann das Tool nur mit internen Einheiten interagieren. Ein Web-Suchtool wäre beispielsweise frei verfügbar, ein Memory-Tool jedoch nicht.
Destruktiver Hinweis: ❌ | Idempotenter Hinweis: ✅ | Nur-Lese-Hinweis: ✅ | Open-World-Hinweis: ❌
Autorisierungsbereiche
Erfordert einen der folgenden OAuth-Bereiche:
https://www.googleapis.com/auth/chat.messages.readonlyhttps://www.googleapis.com/auth/chat.spaces.readonlyhttps://www.googleapis.com/auth/chat.memberships.readonlyhttps://www.googleapis.com/auth/chat.users.readstate.readonly