google-classroom-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CLASSROOM_OAUTH_PATH | Yes | Path to the Google Cloud OAuth 2.0 client credentials JSON file for a Desktop Application. | |
| CLASSROOM_CREDENTIALS_PATH | Yes | Path to the persisted OAuth credentials file containing the refresh token and access token (e.g., .classroom-server-credentials.json). |
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 |
|---|---|
| copy_course_contentsA | Copy published topics, coursework, class materials, announcements, rubrics when supported, and Drive attachments between courses. Dry-run defaults to true. Applying requires Drive credential paths configured separately from Classroom credentials. |
| list_coursesA | List courses where the user is a student or teacher (e.g. active or archived classes). |
| get_courseA | Get detailed information about a specific course by Course ID. |
| list_courseworkC | List assignments, quizzes, and coursework for a specific course. |
| get_courseworkA | Get detailed information for a specific assignment, including description, attached Drive files, YouTube links, and rubrics. |
| list_submissionsB | List student submissions for a coursework (status: TURNED_IN, RETURNED, NEW, late status, assigned grade). |
| get_submissionA | Get detailed student submission info including attached files, links, and assigned grade. |
| list_announcementsB | List stream announcements, notices, and updates for a course. |
| list_coursework_materialsA | List materials, syllabi, lecture slides, and resources posted under Classwork. |
| list_teachersA | List teachers of a course. |
| list_studentsB | List students enrolled in a course. |
| turn_in_assignmentC | Turn in a student submission for grading. |
| reclaim_assignmentB | Reclaim a turned-in student submission (unsubmit). |
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 13 tools
Most tools target distinct resources and actions (courses, teachers, students, coursework, submissions, announcements, turn-in/reclaim). The main overlap is between list_coursework (assignments/quizzes) and list_coursework_materials (syllabi/resources), but descriptions adequately distinguish them.
All 13 tools follow a consistent snake_case verb_noun pattern (get_course, list_students, list_submissions, turn_in_assignment, copy_course_contents). The few multi-word verbs like turn_in and reclaim are still readable and consistent.
13 tools is well-scoped for a Classroom integration, covering courses, members, coursework, materials, submissions, and announcements without redundancy. Each tool earns its place.
Covers read operations broadly plus a few actions (turn in, reclaim, copy contents), but has notable gaps: no create/update/delete for courses, coursework, or announcements, and no grading or return-submission operations, leaving teacher-side workflows incomplete.