Skip to content

Feature Request: Add Google Classroom API Integration #223

@malikmalikayesha

Description

@malikmalikayesha

Is your feature request related to a problem? Please describe.

The MCP server lacks support for Google Classroom, which is crucial for educational institutions. Users cannot automate or manage classroom activities through AI assistants.

Describe the solution you'd like

Add a new gclassroom/classroom_tools.py module that provides Google Classroom API integration through the MCP protocol.

Proposed Tools:

Teacher Functions:

  • list_courses - List all courses (both teaching and enrolled)
  • get_course - Get details of a specific course
  • create_course - Create new courses
  • update_course - Modify course settings
  • archive_course - Archive completed courses
  • delete_course - Delete courses
  • create_assignment - Create new assignments/coursework
  • list_assignments - List assignments for a course
  • update_assignment - Modify existing assignments
  • batch_create_assignments - Create multiple assignments
  • grade_submission - Grade student submissions
  • batch_grade_submissions - Grade multiple submissions
  • return_submission - Return graded work to students
  • list_student_submissions - View student submissions for assignments
  • list_announcements - List announcements in a course
  • create_announcement - Post announcements to a course
  • update_announcement - Edit existing announcements
  • list_topics - List topics (categories) in a course
  • create_topic - Create topics for organizing coursework
  • invite_students - Invite students to a course
  • invite_teachers - Invite co-teachers
  • list_students - List enrolled students
  • list_teachers - List teachers in a course
  • manage_guardians - Manage student guardians
  • list_guardian_invitations - View pending guardian invites
  • send_guardian_invitation - Invite guardians

Student Functions:

  • list_student_courses - List courses as a student
  • get_assignment - Get assignment details
  • submit_assignment - Submit coursework
  • unsubmit_assignment - Unsubmit work before deadline
  • list_my_submissions - View own submission history
  • add_attachment_to_submission - Attach files to submissions
  • modify_attachments - Update submission attachments
  • mark_announcement_read - Mark announcements as read
  • list_materials - View course materials
  • list_upcoming_work - View all upcoming assignments across courses
  • list_missing_work - View overdue or missing assignments
  • reclaim_submission - Reclaim returned work for resubmission

Shared Functions:

  • list_course_aliases - Get course aliases
  • search_courses - Search available courses

Additional context

  • API Documentation: https://developers.google.com/classroom

  • Required OAuth Scopes:

    • https://www.googleapis.com/auth/classroom.courses
    • https://www.googleapis.com/auth/classroom.coursework.students
    • https://www.googleapis.com/auth/classroom.rosters
    • https://www.googleapis.com/auth/classroom.announcements
    • https://www.googleapis.com/auth/classroom.guardianlinks.students
    • https://www.googleapis.com/auth/classroom.topics
  • Use Cases:

    • Teachers: Automated assignment creation, bulk grading, course management, student progress tracking, announcement scheduling
    • Students: Assignment submission, deadline tracking, course material access, submission management
    • Integration: Creating assignments that link to Google Docs/Drive files, attaching Drive files to submissions, integrating with Calendar for deadlines

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions