About gogcli-mcp-classroom
gogcli-mcp-classroom is an MCP server for Google Classroom through gogcli, aimed at users managing courses and class activity. It offers dedicated tools for common Classroom operations and an escape hatch for additional commands, with safeguards for actions that affect students.
Key features
- 01Manage courses and class rosters
- 02Create and edit coursework
- 03List, grade, and return submissions
- 04Manage announcements, topics, and invitations
- 05Run additional Classroom commands
- 06Guard student-impacting actions
Use cases
- 01Review a course roster and coursework
- 02Grade and return student submissions
- 03Manage course announcements and invitations
MCP support
Exposes gogcli-backed Google Classroom and authentication operations as MCP tools. Dedicated tools cover common tasks, while an escape hatch runs other subcommands; selected actions affecting students are refused or guarded.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y gogcli-mcp-classroomGOG_ACCOUNTEmail address of the Google account to use (matches gogcli auth)GOG_PATHOverride path to the gogcli binary (auto-discovered otherwise)DISPLAY_TZzone for *Display fields and for interpreting naive gog values; defaults to America/New_YorkGOG_READONLYblock all mutating gog API requests (injects gog's --readonly); set to 0/false/no/off (or unset) to allow writesGOG_TIMEZONEzone gog formats naive dates in; unset, runner.ts hands gog DISPLAY_TZ so the two cannot divergeLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
52Saved tool list · updated 2w ago
This tool takes no parameters.
Details
From the project READMEgogcli-mcp-classroom
Warning
AI-developed project. This codebase was built and is actively maintained by Claude Code. Review all code and tool permissions before use.
Extended Google Classroom MCP server via gogcli. Includes auth tools plus dedicated Classroom tools covering courses, rosters, coursework, submissions (grading), announcements, topics, invitations, and profiles.
Requirements
- gogcli installed and authenticated
- Node.js 22+
brew install gogcli
gog auth add [email protected] --services classroom
Installation
npm install -g gogcli-mcp-classroom
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"gogcli-classroom": {
"command": "gogcli-mcp-classroom",
"env": {
"GOG_ACCOUNT": "[email protected]"
}
}
}
}
Claude Code
claude mcp add gogcli-classroom -- gogcli-mcp-classroom
Dedicated Classroom Tools (44)
Plus 5 auth tools. Dedicated tools cover the common Classroom operations; anything not listed runs via the escape hatch.
| Namespace | Tools |
|---|---|
| Courses | gog_classroom_courses_list, _get, _create, _update, _delete, _archive, _unarchive |
| Students | gog_classroom_students_list, _get, _add, _remove |
| Teachers | gog_classroom_teachers_list, _get, _add, _remove |
| Roster | gog_classroom_roster (combined students + teachers) |
| Coursework | gog_classroom_coursework_list, _get, _create, _update, _delete |
| Submissions | gog_classroom_submissions_list, _get, _grade, _return, _turn_in, _reclaim |
| Announcements | gog_classroom_announcements_list, _get, _create, _update, _delete |
| Topics | gog_classroom_topics_list, _get, _create, _update, _delete |
| Invitations | gog_classroom_invitations_list, _get, _create, _accept, _delete |
| Profile | gog_classroom_profile_get |
Escape hatch
gog_classroom_run runs any Classroom subcommand not covered above, including:
guardians(list/get/delete)guardian-invitations(create/list/cancel)materials(course materials)coursework assignees(individualized assignment targeting)announcement assignees(individualized announcement targeting)
It refuses what would reach students without the user being asked: publishing an announcement, coursework or material (--state=PUBLISHED or --scheduled), assigning an item to more students (--mode=ALL_STUDENTS or --add-student), roster adds, submission returns and guardian invitations. Use the dedicated tool, or ask the user to do it from Classroom.
Example: { "subcommand": "guardians", "args": ["list", "<studentUserId>"] }.
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.