Google Classroom MCP
Provides comprehensive tools for managing Google Classroom environments, including the lifecycle management of courses, teacher and student rosters, invitations, topics, announcements, coursework, and student submissions.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Google Classroom MCPlist all assignments and due dates for my History 101 course"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Google Classroom MCP (local)
This MCP server exposes multiple tools for read + write:
classroom_get_user_enrollmentsclassroom_get_courseclassroom_list_coursesclassroom_create_courseclassroom_update_courseclassroom_set_course_stateclassroom_archive_courseclassroom_activate_courseclassroom_delete_courseclassroom_list_course_studentsclassroom_list_course_teachersclassroom_add_teacher_to_courseclassroom_remove_teacher_from_courseclassroom_add_student_to_courseclassroom_remove_student_from_courseclassroom_list_invitationsclassroom_get_invitationclassroom_create_invitationclassroom_delete_invitationclassroom_accept_invitationclassroom_list_course_topicsclassroom_create_topicclassroom_create_announcementclassroom_list_coursework_materialsclassroom_create_coursework_materialclassroom_list_courseworkclassroom_create_assignmentclassroom_clone_courseclassroom_list_student_submissionsclassroom_set_draft_gradeclassroom_set_assigned_gradeclassroom_turn_in_submissionclassroom_reclaim_submissionclassroom_return_submission
1) Google Workspace setup
Create (or choose) a Google Cloud project.
Enable Google Classroom API.
Create a Service Account and download its JSON key.
Enable Domain-wide delegation on that service account.
In Google Admin Console, go to
Security > API controls > Domain-wide delegationand add:Client ID: service account client ID
OAuth scopes (comma-separated):
https://www.googleapis.com/auth/classroom.courses.readonlyhttps://www.googleapis.com/auth/classroom.courseshttps://www.googleapis.com/auth/classroom.rosters.readonlyhttps://www.googleapis.com/auth/classroom.rostershttps://www.googleapis.com/auth/classroom.profile.emailshttps://www.googleapis.com/auth/classroom.topics.readonlyhttps://www.googleapis.com/auth/classroom.topicshttps://www.googleapis.com/auth/classroom.announcementshttps://www.googleapis.com/auth/classroom.coursework.students.readonlyhttps://www.googleapis.com/auth/classroom.coursework.studentshttps://www.googleapis.com/auth/classroom.coursework.mehttps://www.googleapis.com/auth/classroom.courseworkmaterials.readonlyhttps://www.googleapis.com/auth/classroom.courseworkmaterials
Ensure the delegated admin user can read Classroom data in your domain.
Related MCP server: Google Workspace MCP Server
2) Local install
cd /home/carlos/classroom-mcp
bash setup.sh
cp .env.example .env
# edit .envOptional policy in .env:
CLASSROOM_REQUIRED_TEACHERS=osvalin15@certificacionmontessori.com,online@asociacionmontessori.mx
CLASSROOM_OBSOLETE_TEACHERS=presidencia@asociacionmontessori.mxWhen set, these teachers are auto-added for:
classroom_create_courseclassroom_clone_course
Obsolete filter behavior:
classroom_list_coursesandclassroom_get_user_enrollmentsexclude courses that include any teacher fromCLASSROOM_OBSOLETE_TEACHERS.If
CLASSROOM_OBSOLETE_TEACHERSis not set, default exclusion ispresidencia@asociacionmontessori.mx.Set
CLASSROOM_OBSOLETE_TEACHERS=(empty) to disable this filter.
3) Register in Codex
codex mcp add classroom -- /home/carlos/classroom-mcp/run.sh
codex mcp list4) Example prompt in Codex
En qué materias está registrado el usuario guiarodrigo@asociacionmontessori.mx?5) Smoke test (portable)
Run the full write-path smoke test with automatic cleanup:
cd /home/carlos/classroom-mcp
./smoke_test.shYou can override inputs with flags:
./smoke_test.sh \
--teacher-email carlos@certificacionmontessori.com \
--student-email carlos@asociacionmontessori.com.mx \
--course-id 765463029199Or set defaults in .env:
SMOKE_TEST_TEACHER_EMAILSMOKE_TEST_STUDENT_EMAILSMOKE_TEST_COURSE_ID
Keep generated artifacts (no cleanup) only when debugging:
./smoke_test.sh --keep-artifacts6) Admin smoke test (course lifecycle + invitations)
This covers the newer admin tools:
create/update/archive/activate/delete course
add/remove teacher
create/get/list/accept/delete invitation
cd /home/carlos/classroom-mcp
./admin_smoke_test.shWith explicit inputs:
./admin_smoke_test.sh \
--admin-email admin@asociacionmontessori.com.mx \
--teacher-email carlos@certificacionmontessori.com \
--student-email carlos@asociacionmontessori.com.mxDefaults can live in .env:
ADMIN_SMOKE_ADMIN_EMAILADMIN_SMOKE_TEACHER_EMAILADMIN_SMOKE_STUDENT_EMAIL
7) Clone course example (MCP)
Use the new tool to clone structure + content safely as drafts:
classroom_clone_course(
source_course_id="844288618274",
new_course_name="Copia de F12 - Lenguaje",
teacher_emails=["carlos@certificacionmontessori.com"],
student_emails=["carlos@asociacionmontessori.com.mx"],
copy_topics=true,
copy_coursework=true,
copy_coursework_materials=true,
force_draft_for_created_work=true
)Notes
If the user exists outside your Workspace domain, Google may return 403/404.
If you need archived courses too, ask with
course_state="ARCHIVED".acting_user_emaillets you impersonate a teacher/admin for operations that require role-specific permissions.classroom_create_announcementdoes not support real Classroom topic binding; iftopic_idis sent, it is appended as text marker.classroom_create_coursedefaults toPROVISIONEDfor safer setup before going live.classroom_create_coursedefaultsownerIdtoacting_user_email(orGOOGLE_WORKSPACE_ADMIN_EMAIL) when not provided.classroom_delete_coursepermanently deletes the course; preferclassroom_archive_coursewhen in doubt.classroom_clone_coursecreates a new course and can copy topics, coursework, and course work materials with optional teacher/student enrollment.classroom_clone_coursedefaultsforce_draft_for_created_work=trueto avoid publishing cloned content unexpectedly.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
The Google Compute Engine MCP server is a fully-managed Model Context Protocol server that provides tools to manage Google Compute Engine resources through AI agents. It enables capabilities including instance management (creating, starting, stopping, resetting, listing), disk management, handling instance templates and group managers, viewing machine and accelerator types, managing images, and accessing reservation and commitment information. The server operates as a zero-deployment, enterprise-grade endpoint at https://compute.googleapis.com/mcp with built-in IAM-based security.
The Google GKE MCP server is a managed Model Context Protocol server that provides AI applications with tools to manage Google Kubernetes Engine (GKE) clusters and Kubernetes resources. It exposes a structured, discoverable interface that allows AI agents to interact with GKE and Kubernetes APIs, enabling them to inspect cluster configurations, retrieve Kubernetes resource YAMLs, monitor operations like cluster upgrades, diagnose issues, and optimize costs—all without needing to parse text output or use complex kubectl commands.
The Manifold Markets MCP server provides comprehensive access to prediction market features, enabling users to create and manage markets, execute trades, and manage liquidity through a clean interface. It facilitates sophisticated market interactions with Manifold's platform, including market discovery, trading operations, information retrieval for users and portfolios, and social features like following markets and transferring mana.
The BigQuery remote MCP server is a fully managed service that uses the Model Context Protocol to connect AI applications and LLMs to BigQuery data sources. It provides secure, standardized tools for AI agents to list datasets and tables, retrieve schemas, generate and execute SQL queries through natural language, and analyze data—enabling direct access to enterprise analytics data without requiring manual SQL coding.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables AI assistants to access and interact with Google Classroom data, allowing users to view courses, course details, and assignments through natural language commands.1,3056MIT
- AlicenseNot gradedqualityCmaintenanceComprehensive MCP server for Google Workspace with 95+ tools to manage Docs, Sheets, Drive, Gmail, Calendar, Slides, and Forms.1,8953MIT
- FlicenseBqualityDmaintenanceMCP server providing full access to Google Workspace services (Gmail, Drive, Calendar, Docs, Sheets, Slides, Forms, Tasks, Contacts) using OAuth authentication.1001
- AlicenseBqualityCmaintenanceComprehensive Google Workspace MCP server with Gmail, Drive, Calendar, and Contacts integration.2614MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/carlosrm22/mcp-classroom-codex'
If you have feedback or need assistance with the MCP directory API, please join our Discord server