## Tool: `list_announcement_summaries`

> [!WARNING]
> **Developer Preview:** Available as part of the [Google Workspace Developer Preview Program](https://developers.google.com/workspace/preview), which grants early access to certain features.

Lists summaries of published announcements in a course stream (not drafts or scheduled ones), with truncated text and no attachment links.

For full untruncated announcement details with attached materials, use get_announcements.

To link the user to an announcement in the Classroom web app, use <https://classroom.google.com/c/{course_id}/p/{announcement_id}>. Use IDs exactly as returned; never guess or modify them.

The following code sample shows how to use `curl` to call the `list_announcement_summaries` MCP tool.

| Curl Request |
|---|
| ```bash curl --location 'https://classroommcp.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": "list_announcement_summaries", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' ``` |

## Input Schema

Request to list announcement summaries for a course.

### ListAnnouncementSummariesRequest

| JSON representation |
|---|
| ``` { "courseId": string, "announcementContains": string, "publishDateRange": { object (`https://developers.google.com/workspace/classroom/reference/mcp/tools_list/list_courses#Input.Schema.DateRange`) }, "timeZone": string, "pageSize": integer, "pageToken": string } ``` |

| Fields ||
|---|---|
| `courseId` | `string` Required. Identifier of the course. |
| `announcementContains` | `string` Filter announcement text by case-insensitive substring. |
| `publishDateRange` | ``object (`https://developers.google.com/workspace/classroom/reference/mcp/tools_list/list_courses#Input.Schema.DateRange`)`` Filter by range of publish dates. |
| `timeZone` | `string` Required. The user's IANA timezone (e.g. `"America/Los_Angeles"`). Dates in this request are interpreted in it and dates in the response are formatted in it, matching what the user sees in Classroom. |
| `pageSize` | `integer` Maximum number of items to return. Defaults to 10; max 50. |
| `pageToken` | `string` Token for pagination. |

### DateRange

| JSON representation |
|---|
| ``` { "startDate": string, "endDate": string } ``` |

| Fields ||
|---|---|
| `startDate` | `string` Inclusive start of the range (format: YYYY-MM-DD). |
| `endDate` | `string` Inclusive end of the range (format: YYYY-MM-DD). |

## Output Schema

Response to list announcement summaries.

### ListAnnouncementSummariesResponse

| JSON representation |
|---|
| ``` { "announcementSummaries": [ { object (`https://developers.google.com/workspace/classroom/reference/mcp/tools_list/list_announcement_summaries#Output.Schema.AnnouncementSummary`) } ], "nextPageToken": string } ``` |

| Fields ||
|---|---|
| `announcementSummaries[]` | ``object (`https://developers.google.com/workspace/classroom/reference/mcp/tools_list/list_announcement_summaries#Output.Schema.AnnouncementSummary`)`` The list of announcement summaries. |
| `nextPageToken` | `string` Token to retrieve the next page of results. |

### AnnouncementSummary

| JSON representation |
|---|
| ``` { "id": string, "text": string, "publishDate": string, "textTruncated": boolean } ``` |

| Fields ||
|---|---|
| `id` | `string` Identifier. Identifier for the announcement. |
| `text` | `string` Announcement text. Text over 200 characters is cut off and ends with "...". |
| `publishDate` | `string` Date the announcement was published (YYYY-MM-DD). |
| `textTruncated` | `boolean` `true` if `text` was cut off. |

### Tool Annotations


[Tool annotations](https://modelcontextprotocol.io/specification/latest/schema#toolannotations) are sent to MCP clients to describe the basic risk of a given tool. Most clients treat these hints as untrusted, but they can be used to decide when a confirmation prompt might be sent to a user.


Along with the title string, the following boolean hints are defined as follows:

- `readOnlyHint`: If true, the tool doesn't modify its environment. Default: false.
- `destructiveHint`: If true, then the tool can perform destructive actions. If false, then the tool can only perform additive actions. Default: true.
- `idempotentHint`: If true, then calling the tool repeatedly with the same arguments will have no additional effect on its environment. Default: false.
- `openWorldHint`: If true, then the tool can interact with an 'open world' of external entities. If false, then the tool can only interact with internal entities. For example, a web search tool would be open world, while a memory tool would not be open world.

Destructive Hint: ❌ \| Idempotent Hint: ✅ \| Read Only Hint: ✅ \| Open World Hint: ❌

## Authorization Scopes

Requires one of the following OAuth scopes:

- `https://www.googleapis.com/auth/classroom.announcements`
- `https://www.googleapis.com/auth/classroom.announcements.readonly`