google-classroom-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| slides_get_presentationA | Read a Google Slides presentation by ID, including its slide text and structure. |
| classroom_list_coursesA | List all Google Classroom courses. Supports filtering by state (ACTIVE, ARCHIVED, PROVISIONED). Returns one page as {items, nextPageToken}; continue until nextPageToken is null. |
| classroom_search_coursesA | Search courses by name or section (client-side filter, case-insensitive). Returns one page as {items, nextPageToken}; continue until nextPageToken is null. |
| classroom_get_courseA | Get full details of a specific course by ID. |
| classroom_update_courseC | Update course fields (name, section, description, room, state). State can be ACTIVE or ARCHIVED. |
| classroom_get_assignmentA | Get full details of a specific assignment by ID. |
| classroom_list_assignmentsA | List coursework (assignments/questions) for a course. Supports filtering by state. Returns one page as {items, nextPageToken}; continue until nextPageToken is null. |
| classroom_create_assignmentB | Create an assignment or question with optional attachments, due date, and topic. |
| classroom_patch_assignmentC | Update specific fields of an existing assignment using updateMask. |
| classroom_get_topicB | Get details of a specific topic by ID. |
| classroom_list_topicsA | List all topics in a course. Returns one page as {items, nextPageToken}; continue until nextPageToken is null. |
| classroom_create_topicB | Create a new topic/unit in a course. |
| classroom_patch_topicC | Rename or update a topic. |
| classroom_get_materialA | Get full details of a specific course material by ID. |
| classroom_list_materialsA | List all non-graded materials for a course. Returns one page as {items, nextPageToken}; continue until nextPageToken is null. |
| classroom_create_materialC | Create a study material post with optional attachments and topic. |
| classroom_patch_materialC | Update fields of an existing material post. |
| classroom_list_announcementsA | List announcements for a course. Returns one page as {items, nextPageToken}; continue until nextPageToken is null. |
| classroom_post_announcementC | Post an announcement to the course stream. |
| classroom_patch_announcementB | Edit an existing announcement. |
| drive_upload_fileA | Upload a base64-encoded file to Google Drive. Returns the Drive file ID and URL. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 21 tools
Each tool targets a distinct resource/action pair: assignments, topics, materials, announcements, courses, Drive uploads, and Slides reads are clearly separated. The only potential overlap, list_courses versus search_courses, is explicitly distinguished by client-side filtering in the description.
Most tools follow a consistent classroom_verb_noun pattern, and the non-Classroom tools use service-prefixed verb_noun names. Minor inconsistency exists between update_course and patch_* tools for other resources, but the convention remains readable.
With 21 tools across several Classroom resources plus Drive and Slides, the set is somewhat heavy but each operation maps to a meaningful action. The count is reasonable for the breadth of the integration, though consolidation or deletion tools could trim it.
Core Classroom content workflows are covered with create/list/get/patch for assignments, topics, and materials, plus announcement creation and editing. However, delete operations are absent across most resources, announcements lack a get-by-ID tool, and broader Classroom operations such as students, teachers, submissions, and grading are not represented.