Google Classroom
STDIOMCP server providing access to Google Classroom data through Claude and AI assistants.
MCP server providing access to Google Classroom data through Claude and AI assistants.
An MCP (Model Context Protocol) server that provides access to Google Classroom data through Claude and other AI assistants that support the MCP protocol.
To install Google Classroom MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @faizan45640/google-classroom-mcp-server --client claude
npm install
credentials.json
in the project root:{ "web": { "client_id": "YOUR_CLIENT_ID", "project_id": "YOUR_PROJECT_ID", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://oauth2.googleapis.com/token", "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "client_secret": "YOUR_CLIENT_SECRET", "redirect_uris": ["http://localhost:3000/auth/google/callback"] } }
node index.js auth
This will launch a browser window to complete the OAuth flow and save your credentials to tokens.json
.
claude_desktop_config.json
(typically in %APPDATA%\Claude\
):{ "mcpServers": { "class": { "command": "node", "args": [ "PATH_TO_YOUR_DIRECTORY\\index.js" ] } } }
The server provides several tools for interacting with Google Classroom:
courses
- List all your Google Classroom coursesUse the 'courses' tool to get a list of all your Google Classroom courses
course-details
- Get detailed information about a specific courseUse the 'course-details' tool with the courseId parameter to get details and announcements for a specific course
Parameters:
courseId
: The ID of the course (can be obtained from the courses
tool)assignments
- Get assignments for a specific courseUse the 'assignments' tool with the courseId parameter to get assignments and your submissions for a specific course
Parameters:
courseId
: The ID of the course (can be obtained from the courses
tool)The server requests the following Google Classroom API permissions:
classroom.courses.readonly
- To access course informationclassroom.announcements.readonly
- To access course announcementsclassroom.coursework.me.readonly
- To access your coursework and assignmentsclassroom.rosters.readonly
- To access class rostersIf you encounter permission errors, try:
Running the auth command again to refresh permissions:
node index.js auth
Ensuring your Google account is added as a test user in the Google Cloud Console if your app is in testing mode
Checking the OAuth scopes in the authenticateAndSaveCredentials
function to ensure they match your needs
tokens.json
file