loading…
Search for a command to run...
loading…
This MCP server provides comprehensive read and write access to Google Classroom, enabling management of courses, rosters, assignments, and grades. It supports
This MCP server provides comprehensive read and write access to Google Classroom, enabling management of courses, rosters, assignments, and grades. It supports full lifecycle operations for educational environments including student submissions, teacher invitations, and coursework organization.
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_submissionSecurity > API controls > Domain-wide delegation and add: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.courseworkmaterialscd /home/carlos/classroom-mcp
bash setup.sh
cp .env.example .env
# edit .env
Optional policy in .env:
CLASSROOM_REQUIRED_TEACHERS=osvalin15@certificacionmontessori.com,[email protected]
[email protected]
When set, these teachers are auto-added for:
classroom_create_courseclassroom_clone_courseObsolete filter behavior:
classroom_list_courses and classroom_get_user_enrollments exclude courses that include any teacher from CLASSROOM_OBSOLETE_TEACHERS.CLASSROOM_OBSOLETE_TEACHERS is not set, default exclusion is [email protected].CLASSROOM_OBSOLETE_TEACHERS= (empty) to disable this filter.codex mcp add classroom -- /home/carlos/classroom-mcp/run.sh
codex mcp list
En qué materias está registrado el usuario [email protected]?
Run the full write-path smoke test with automatic cleanup:
cd /home/carlos/classroom-mcp
./smoke_test.sh
You can override inputs with flags:
./smoke_test.sh \
--teacher-email [email protected] \
--student-email [email protected] \
--course-id 765463029199
Or set defaults in .env:
SMOKE_TEST_TEACHER_EMAILSMOKE_TEST_STUDENT_EMAILSMOKE_TEST_COURSE_IDKeep generated artifacts (no cleanup) only when debugging:
./smoke_test.sh --keep-artifacts
This covers the newer admin tools:
cd /home/carlos/classroom-mcp
./admin_smoke_test.sh
With explicit inputs:
./admin_smoke_test.sh \
--admin-email [email protected] \
--teacher-email [email protected] \
--student-email [email protected]
Defaults can live in .env:
ADMIN_SMOKE_ADMIN_EMAILADMIN_SMOKE_TEACHER_EMAILADMIN_SMOKE_STUDENT_EMAILUse 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=["[email protected]"],
student_emails=["[email protected]"],
copy_topics=true,
copy_coursework=true,
copy_coursework_materials=true,
force_draft_for_created_work=true
)
course_state="ARCHIVED".acting_user_email lets you impersonate a teacher/admin for operations that require role-specific permissions.classroom_create_announcement does not support real Classroom topic binding; if topic_id is sent, it is appended as text marker.classroom_create_course defaults to PROVISIONED for safer setup before going live.classroom_create_course defaults ownerId to acting_user_email (or GOOGLE_WORKSPACE_ADMIN_EMAIL) when not provided.classroom_delete_course permanently deletes the course; prefer classroom_archive_course when in doubt.classroom_clone_course creates a new course and can copy topics, coursework, and course work materials with optional teacher/student enrollment.classroom_clone_course defaults force_draft_for_created_work=true to avoid publishing cloned content unexpectedly.Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"google-classroom-mcp": {
"command": "npx",
"args": []
}
}
}