Google Classroom
About
Integrates with Google Classroom to retrieve courses, announcements, and assignments using OAuth2 authentication, enabling students and educators to access classroom information without switching contexts.
Details
- Author
- faizan45640
- Repository
- faizan45640/google-classroom-mcp-server
- GitHub stars
- 1
- Downloads
- 324
- License
- MIT License
- Categories
- Developer Tools, AI, Security, Infrastructure, API, Other
- Tags
- #integration
Jump to
- List all your Google Classroom courses
- Get detailed course information and announcements
- Retrieve assignments and submissions for a course
- Automatic token refresh for Google OAuth
- Read-only access to classroom data
- Compatible with Claude and other MCP-based assistants
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Google ClassroomCommand (node, npx, python, etc.)nodeArguments-
Argument 1
PATH_TO_YOUR_DIRECTORY/index.js
Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
-
Argument 1
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
To install Google Classroom MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @faizan45640/google-classroom-mcp-server --client claude
1. Clone this repository
2. Install dependencies:
npm install
3. Place your Google OAuth client credentials in a file named 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"]
}
}
4. Authenticate with Google:
node index.js auth
This will launch a browser window to complete the OAuth flow and save your credentials to tokens.json.
5. Configure Claude to use this server by updating claude_desktop_config.json (typically in %APPDATA%\Claude\):
{
"mcpServers": {
"class": {
"command": "node",
"args": [
"PATH_TO_YOUR_DIRECTORY\\index.js"
]
}
}
}
courses
List all your Google Classroom courses
course-details
Get detailed information about a specific course. Parameters: courseId (the ID of the course)
assignments
Get assignments for a specific course. Parameters: courseId (the ID of the course)
The server provides several tools for interacting with Google Classroom:
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"google classroom": {
"cwd": "string",
"env": {},
"args": [
"PATH_TO_YOUR_DIRECTORY/index.js"
],
"shell": false,
"command": "node"
}
}
}
Linux
{
"cwd": "string",
"env": [],
"args": [
"PATH_TO_YOUR_DIRECTORY/index.js"
],
"shell": false,
"command": "node"
}
Macos
{
"cwd": "string",
"env": [],
"args": [
"PATH_TO_YOUR_DIRECTORY/index.js"
],
"shell": false,
"command": "node"
}
Windows
{
"cwd": "string",
"env": [],
"args": [
"PATH_TO_YOUR_DIRECTORY\\index.js"
],
"shell": false,
"command": "node"
}
Google Classroom MCP Server
An MCP (Model Context Protocol) server that provides access to Google Classroom data through Claude and other AI assistants that support the MCP protocol.
Setup
Prerequisites
- Node.js (v16 or higher)
- A Google Cloud Platform project with the Google Classroom API enabled
- OAuth 2.0 client credentials for the Google Classroom API
Installation
Installing via Smithery
To install Google Classroom MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @faizan45640/google-classroom-mcp-server --client claude
Installing Manually
1. Clone this repository 2. Install dependencies:npm install
3. Place your Google OAuth client credentials in a file named 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"]
}
}
4. Authenticate with Google:
node index.js auth
This will launch a browser window to complete the OAuth flow and save your credentials to tokens.json.
5. Configure Claude to use this server by updating claude_desktop_config.json (typically in %APPDATA%\Claude\):
{
"mcpServers": {
"class": {
"command": "node",
"args": [
"PATH_TO_YOUR_DIRECTORY\\index.js"
]
}
}
}
Usage
Available Tools
The server provides several tools for interacting with Google Classroom:
1. courses - List all your Google Classroom courses
Use the 'courses' tool to get a list of all your Google Classroom courses
2. course-details - Get detailed information about a specific course
Use the 'course-details' tool with the courseId parameter to get details and announcements for a specific course
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




