Product

Google Classroom

Google Classroom courses, coursework, submissions, students and teachers.

Install

gclassroom is one plugin in the google-services-mcps marketplace, and it runs one MCP server with the same name. Install it for Claude Code with the command below. For Codex, OpenCode or Antigravity, change --agent; the product id stays the same.

Install for Claude Code

npx google-services-mcps install --agent claude --plugin gclassroom

What it manages

The server carries 1 generated API bindings and 0 gateway APIs. Gateway APIs are reached through api_search, api_describe and api_call, which every product with gateway APIs lists.

Generated API bindings
APIVersion
classroomv1

Tools

The plugin's server registers 129 tools: 59 reads, 49 writes, 21 destructive actions and 0 dynamic tools. A read never asks. A write is listed only when Allow write tools is on, and asks before it runs. A destructive action asks twice. A dynamic tool decides per call.

Every tool name starts with mcp__plugin_gclassroom_gclassroom__, so a call traces back to this product. The table lists the tools this server registers, with the safety class from the plugin's tool map.

Registered tools
ToolClassWhat it does
account_removewriteRemove a signed-in account
account_set_defaultwriteSet the default account
accounts_listreadSigned-in accounts
api_methodsreadgclassroom: API methods
auth_loginwriteSign in to Google
auth_setup_clientwriteSave the Google OAuth client
auth_statusreadSign-in status
cla_materials_attachments_getreadclassroom.courses.courseWorkMaterials.addOnAttachments.get
cla_profiles_invitations_listreadclassroom.userProfiles.guardianInvitations.list
clas_posts_attachments_createwriteclassroom.courses.posts.addOnAttachments.create
clas_posts_attachments_deletedestructiveclassroom.courses.posts.addOnAttachments.delete
clas_posts_get_add_on_contextreadclassroom.courses.posts.getAddOnContext
clas_profiles_invitations_getreadclassroom.userProfiles.guardianInvitations.get
clas_work_submissions_reclaimwriteclassroom.courses.courseWork.studentSubmissions.reclaim
clas_work_submissions_turn_inwriteclassroom.courses.courseWork.studentSubmissions.turnIn
class_courses_period_settingsreadclassroom.courses.getGradingPeriodSettings
class_posts_attachments_patchwriteclassroom.courses.posts.addOnAttachments.patch
class_work_attachments_createwriteclassroom.courses.courseWork.addOnAttachments.create
class_work_attachments_deletedestructiveclassroom.courses.courseWork.addOnAttachments.delete
class_work_get_add_on_contextreadclassroom.courses.courseWork.getAddOnContext
class_work_submissions_returndestructiveclassroom.courses.courseWork.studentSubmissions.return
classr_announcements_createwriteclassroom.courses.announcements.create
classr_announcements_deletedestructiveclassroom.courses.announcements.delete
classr_groups_members_createwriteclassroom.courses.studentGroups.studentGroupMembers.create
classr_groups_members_deletedestructiveclassroom.courses.studentGroups.studentGroupMembers.delete
classr_posts_attachments_getreadclassroom.courses.posts.addOnAttachments.get
classr_posts_attachments_listreadclassroom.courses.posts.addOnAttachments.list
classr_work_attachments_getreadclassroom.courses.courseWork.addOnAttachments.get
classr_work_attachments_listreadclassroom.courses.courseWork.addOnAttachments.list
classr_work_attachments_patchwriteclassroom.courses.courseWork.addOnAttachments.patch
classr_work_modify_assigneeswriteclassroom.courses.courseWork.modifyAssignees
classr_work_submissions_getreadclassroom.courses.courseWork.studentSubmissions.get
classr_work_submissions_listreadclassroom.courses.courseWork.studentSubmissions.list
classr_work_submissions_patchwriteclassroom.courses.courseWork.studentSubmissions.patch
classroom_aliases_createwriteclassroom.courses.aliases.create
classroom_aliases_deletedestructiveclassroom.courses.aliases.delete
classroom_aliases_listreadclassroom.courses.aliases.list
classroom_announcements_getreadclassroom.courses.announcements.get
classroom_announcements_listreadclassroom.courses.announcements.list
classroom_announcements_patchwriteclassroom.courses.announcements.patch
classroom_attachments_createwriteclassroom.courses.announcements.addOnAttachments.create
classroom_attachments_deletedestructiveclassroom.courses.announcements.addOnAttachments.delete
classroom_attachments_getreadclassroom.courses.announcements.addOnAttachments.get
classroom_attachments_listreadclassroom.courses.announcements.addOnAttachments.list
classroom_attachments_patchwriteclassroom.courses.announcements.addOnAttachments.patch
classroom_cou_upd_gra_per_setwriteclassroom.courses.updateGradingPeriodSettings
classroom_cou_wor_att_sub_getreadclassroom.courses.courseWork.addOnAttachments.studentSubmissions.get
classroom_cou_wor_att_sub_patwriteclassroom.courses.courseWork.addOnAttachments.studentSubmissions.patch
classroom_cour_mate_atta_creawriteclassroom.courses.courseWorkMaterials.addOnAttachments.create
classroom_cour_mate_atta_deledestructiveclassroom.courses.courseWorkMaterials.addOnAttachments.delete
classroom_cour_mate_atta_listreadclassroom.courses.courseWorkMaterials.addOnAttachments.list
classroom_cour_mate_atta_patcwriteclassroom.courses.courseWorkMaterials.addOnAttachments.patch
classroom_courses_createwriteclassroom.courses.create
classroom_courses_deletedestructiveclassroom.courses.delete
classroom_courses_getreadclassroom.courses.get
classroom_courses_groups_listreadclassroom.courses.studentGroups.list
classroom_courses_listreadclassroom.courses.list
classroom_courses_patchwriteclassroom.courses.patch
classroom_courses_topics_getreadclassroom.courses.topics.get
classroom_courses_topics_listreadclassroom.courses.topics.list
classroom_courses_updatewriteclassroom.courses.update
classroom_courses_work_createwriteclassroom.courses.courseWork.create
classroom_courses_work_deletedestructiveclassroom.courses.courseWork.delete
classroom_courses_work_getreadclassroom.courses.courseWork.get
classroom_courses_work_listreadclassroom.courses.courseWork.list
classroom_courses_work_patchwriteclassroom.courses.courseWork.patch
classroom_createwriteclassroom.registrations.create
classroom_create_announcementwriteCreate a Classroom announcement
classroom_create_courseworkwriteCreate Classroom coursework
classroom_create_rubricwriteCreate a Classroom rubric
classroom_create_topicwriteCreate a Classroom topic
classroom_deletedestructiveclassroom.registrations.delete
classroom_get_add_on_contextreadclassroom.courses.announcements.getAddOnContext
classroom_get_announcementsreadGet Classroom announcements
classroom_get_coursereadGet a Classroom course
classroom_get_courseworkreadGet Classroom coursework
classroom_get_guardiansreadGet Classroom guardians
classroom_get_rosterreadGet a Classroom roster
classroom_get_rubricreadGet a Classroom rubric
classroom_groups_createwriteclassroom.courses.studentGroups.create
classroom_groups_deletedestructiveclassroom.courses.studentGroups.delete
classroom_groups_members_listreadclassroom.courses.studentGroups.studentGroupMembers.list
classroom_groups_patchwriteclassroom.courses.studentGroups.patch
classroom_guardians_deletedestructiveclassroom.userProfiles.guardians.delete
classroom_guardians_getreadclassroom.userProfiles.guardians.get
classroom_guardians_listreadclassroom.userProfiles.guardians.list
classroom_invitations_acceptwriteclassroom.invitations.accept
classroom_invitations_createdestructiveclassroom.invitations.create
classroom_invitations_deletedestructiveclassroom.invitations.delete
classroom_invitations_getreadclassroom.invitations.get
classroom_invitations_listreadclassroom.invitations.list
classroom_invitations_patchwriteclassroom.userProfiles.guardianInvitations.patch
classroom_list_announcementsreadList Classroom announcements
classroom_list_coursesreadList Classroom courses
classroom_list_courseworkreadList Classroom coursework
classroom_list_submissionsreadList Classroom submissions
classroom_list_topicsreadList Classroom topics
classroom_mat_get_add_on_contreadclassroom.courses.courseWorkMaterials.getAddOnContext
classroom_materials_createwriteclassroom.courses.courseWorkMaterials.create
classroom_materials_deletedestructiveclassroom.courses.courseWorkMaterials.delete
classroom_materials_getreadclassroom.courses.courseWorkMaterials.get
classroom_materials_listreadclassroom.courses.courseWorkMaterials.list
classroom_materials_patchwriteclassroom.courses.courseWorkMaterials.patch
classroom_modify_assigneeswriteclassroom.courses.announcements.modifyAssignees
classroom_modify_attachmentswriteclassroom.courses.courseWork.studentSubmissions.modifyAttachments
classroom_students_createwriteclassroom.courses.students.create
classroom_students_deletedestructiveclassroom.courses.students.delete
classroom_students_getreadclassroom.courses.students.get
classroom_students_listreadclassroom.courses.students.list
classroom_submissions_getreadclassroom.courses.posts.addOnAttachments.studentSubmissions.get
classroom_submissions_listreadclassroom.courses.courseWork.addOnAttachments.studentSubmissions.list
classroom_submissions_patchwriteclassroom.courses.posts.addOnAttachments.studentSubmissions.patch
classroom_teachers_createwriteclassroom.courses.teachers.create
classroom_teachers_deletedestructiveclassroom.courses.teachers.delete
classroom_teachers_getreadclassroom.courses.teachers.get
classroom_teachers_listreadclassroom.courses.teachers.list
classroom_topics_createwriteclassroom.courses.topics.create
classroom_topics_deletedestructiveclassroom.courses.topics.delete
classroom_topics_patchwriteclassroom.courses.topics.patch
classroom_update_courseworkwriteUpdate Classroom coursework
classroom_use_pro_gua_inv_credestructiveclassroom.userProfiles.guardianInvitations.create
classroom_user_profiles_getreadclassroom.userProfiles.get
classroom_work_rubrics_createwriteclassroom.courses.courseWork.rubrics.create
classroom_work_rubrics_deletedestructiveclassroom.courses.courseWork.rubrics.delete
classroom_work_rubrics_getreadclassroom.courses.courseWork.rubrics.get
classroom_work_rubrics_listreadclassroom.courses.courseWork.rubrics.list
classroom_work_rubrics_patchwriteclassroom.courses.courseWork.rubrics.patch
classroom_work_update_rubricwriteclassroom.courses.courseWork.updateRubric
healthreadServer health

The plugin option toolset can list fewer tools. google lists 19 tools that do the same jobs as Google's official MCP server for this product; curated lists the hand-written and gateway tools; all is the default.

Sign-in

gclassroom belongs to the workspace-user login group. Log in once for the group: create a Desktop OAuth client in a Google Cloud project, save its file with npx google-services-mcps setup-client, then run npx google-services-mcps login workspace-user. Products in this group share the one login.

The plugin's scope file lists 24 OAuth scopes for 1 APIs. A login asks only for the scopes of its profile: readonly (the default), readwrite, full, or an exact list.

OAuth scopes in the plugin's scope file
APIScope
gclassroomhttps://www.googleapis.com/auth/classroom.addons.student
gclassroomhttps://www.googleapis.com/auth/classroom.addons.teacher
gclassroomhttps://www.googleapis.com/auth/classroom.announcements
gclassroomhttps://www.googleapis.com/auth/classroom.announcements.readonly
gclassroomhttps://www.googleapis.com/auth/classroom.courses
gclassroomhttps://www.googleapis.com/auth/classroom.courses.readonly
gclassroomhttps://www.googleapis.com/auth/classroom.coursework.me
gclassroomhttps://www.googleapis.com/auth/classroom.coursework.me.readonly
gclassroomhttps://www.googleapis.com/auth/classroom.coursework.students
gclassroomhttps://www.googleapis.com/auth/classroom.coursework.students.readonly
gclassroomhttps://www.googleapis.com/auth/classroom.courseworkmaterials
gclassroomhttps://www.googleapis.com/auth/classroom.courseworkmaterials.readonly
gclassroomhttps://www.googleapis.com/auth/classroom.guardianlinks.me.readonly
gclassroomhttps://www.googleapis.com/auth/classroom.guardianlinks.students
gclassroomhttps://www.googleapis.com/auth/classroom.guardianlinks.students.readonly
gclassroomhttps://www.googleapis.com/auth/classroom.profile.emails
gclassroomhttps://www.googleapis.com/auth/classroom.profile.photos
gclassroomhttps://www.googleapis.com/auth/classroom.push-notifications
gclassroomhttps://www.googleapis.com/auth/classroom.rosters
gclassroomhttps://www.googleapis.com/auth/classroom.rosters.readonly
gclassroomhttps://www.googleapis.com/auth/classroom.student-submissions.me.readonly
gclassroomhttps://www.googleapis.com/auth/classroom.student-submissions.students.readonly
gclassroomhttps://www.googleapis.com/auth/classroom.topics
gclassroomhttps://www.googleapis.com/auth/classroom.topics.readonly

Plugin details

Plugin
gclassroom
MCP server
gclassroom
Display name
Google Classroom
Version
2.17.0
Marketplace
google-services-mcps
Login group
workspace-user
Marketplace category
education
Plugin options
allow_writes, confirmation, token_dir, toolset
Server kind
curated+discovery