Google Classroom MCP server for students: read only assignments, due dates, grades, announcements.
Ask your AI what's actually left to do in Google Classroom.
This is a free, open source MCP server. It lets Claude, ChatGPT, Cursor and other AI apps read your Classroom classes, assignments, grades on returned work and announcements. It is read only. It can never turn in, edit or delete anything. Not affiliated with Google.
Free forever. No sign up and no subscription. Your login details only ever go to Google.
Google makes every app ask for its own permission, so you create a small private "app" that only you use.
GOOGLE_CLIENT_ID=your-id GOOGLE_CLIENT_SECRET=your-secret npx google-classroom-student-mcp login
Open the link it prints, approve read only access, and copy the three values it prints.
claude_desktop_config.json):{
"mcpServers": {
"classroom": {
"command": "npx",
"args": ["-y", "google-classroom-student-mcp"],
"env": {
"GOOGLE_CLIENT_ID": "your-id",
"GOOGLE_CLIENT_SECRET": "your-secret",
"GOOGLE_REFRESH_TOKEN": "paste-from-login"
}
}
}
}
Run npx google-classroom-student-mcp doctor any time to check that your setup works.
Quick test without the app setup: set
GOOGLE_ACCESS_TOKENto a token from the OAuth Playground with the Classroom read only scopes. It stops working after about an hour.
All tools are read only.
| Tool | What it does |
|---|---|
get_my_courses | Your active classes and their IDs |
get_todo | Everything assigned that you haven't turned in |
get_upcoming_due_dates | Work due soon, soonest first |
get_missing_assignments | Past due work you haven't turned in |
get_assignments | Assignments for a class with due dates and status |
get_my_grades | Points earned on returned work for each class |
get_announcements | Recent announcements |
get_course_materials | Materials posted in a class |
Google Classroom has no overall course grade, so get_my_grades adds up graded work only and says so.
| Message | Fix |
|---|---|
| Not signed in | Run login again to get a new refresh token. |
| Sign in failed, expired or revoked | While your app is in testing mode, Google expires refresh tokens after 7 days. Run login again. |
| Access denied | Your school's Google admin may block third party apps. Ask your admin or use a personal account. |
| Google did not return a refresh token | Remove the app from your connected apps and run login again. |
npm install
npm run build
npm test
Tests run against a fake Google server, so they need no account or network.
All free, open source and read only where they touch your accounts. Browse the full list at brightspacemcp.com/more-mcps.
| Server | What it does |
|---|---|
| Brightspace MCP | D2L Brightspace for AI. Due dates with real submission status, grades, a target grade calculator and course files. |
| Canvas MCP | Read-only Canvas LMS for AI. Due dates, missing work, grades and announcements. |
| Moodle MCP | Read-only Moodle for AI. Due dates, overdue work, grades and announcements. |
| GPA Calculator MCP | GPA, grade conversion and what-do-I-need-on-the-final math for AI. Works offline, no account. |
| Citations MCP | APA, MLA and Chicago citations from a DOI, an ISBN or typed details. No account. |
| Study Planner MCP | Exam study schedules, spaced repetition dates, pomodoro plans and assignment milestones. Works offline. |
| Paper Finder MCP | Search scholarly papers, find open access copies and related work through OpenAlex. No key needed. |
MIT
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y google-classroom-student-mcpMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-anonymousonyx22-google-classroom-student-mcp": {
"command": "npx",
"args": [
"-y",
"google-classroom-student-mcp"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup referencegoogle-classroom-student-mcpnpmGoogle Classroom MCP for students works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.