Tool: list_announcement_summaries
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 |
|---|
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 ( |
| Fields | |
|---|---|
courseId |
Required. Identifier of the course. |
announcementContains |
Filter announcement text by case-insensitive substring. |
publishDateRange |
Filter by range of publish dates. |
timeZone |
Required. The user's IANA timezone (e.g. |
pageSize |
Maximum number of items to return. Defaults to 10; max 50. |
pageToken |
Token for pagination. |
DateRange
| JSON representation |
|---|
{ "startDate": string, "endDate": string } |
| Fields | |
|---|---|
startDate |
Inclusive start of the range (format: YYYY-MM-DD). |
endDate |
Inclusive end of the range (format: YYYY-MM-DD). |
Output Schema
Response to list announcement summaries.
ListAnnouncementSummariesResponse
| JSON representation |
|---|
{
"announcementSummaries": [
{
object ( |
| Fields | |
|---|---|
announcementSummaries[] |
The list of announcement summaries. |
nextPageToken |
Token to retrieve the next page of results. |
AnnouncementSummary
| JSON representation |
|---|
{ "id": string, "text": string, "publishDate": string, "textTruncated": boolean } |
| Fields | |
|---|---|
id |
Identifier. Identifier for the announcement. |
text |
Announcement text. Text over 200 characters is cut off and ends with "...". |
publishDate |
Date the announcement was published (YYYY-MM-DD). |
textTruncated |
|
Tool Annotations
Tool annotations 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.announcementshttps://www.googleapis.com/auth/classroom.announcements.readonly