MCP Tools Reference: classroommcp.googleapis.com

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 (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 (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 (AnnouncementSummary)
    }
  ],
  "nextPageToken": string
}
Fields
announcementSummaries[]

object (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 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