faizan45640_google_classroom_mcp_server

faizan45640_google_classroom_mcp_server

by faizan45640
An MCP server that enables Claude AI to access and interact with Google Classroom data.

Google Classroom Integration for Claude AI

Overview

The Google Classroom MCP Server is a specialized tool that integrates Google Classroom data with Claude AI and other AI assistants that support the Model Context Protocol (MCP). This server allows users to access and manage their Google Classroom courses, assignments, and announcements directly through AI-powered assistants.

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

  1. Clone this repository.
  2. Install dependencies:
    shell npm install
  3. Place your Google OAuth client credentials in a file named credentials.json in the project root:
    json { "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:
    shell node index.js auth
  5. Configure Claude to use this server by updating claude_desktop_config.json:
    json { "mcpServers": { "class": { "command": "node", "args": ["PATH_TO_YOUR_DIRECTORY\\index.js"] } } }

Usage

Available Tools

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.

Parameters:
- courseId: The ID of the course (can be obtained from the courses tool)

3. assignments - Get assignments for a specific course

Use 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)

Example Prompts for Claude

  1. Show me all my Google Classroom courses.
  2. Get details for my Math course with ID 123456789.
  3. Show me all assignments for my History course with ID 987654321.

Permissions

The server requests the following Google Classroom API permissions:
- classroom.courses.readonly - To access course information
- classroom.announcements.readonly - To access course announcements
- classroom.coursework.me.readonly - To access your coursework and assignments
- classroom.rosters.readonly - To access class rosters

Troubleshooting

If you encounter permission errors, try:
1. Running the auth command again to refresh permissions:
shell node index.js auth
2. Ensuring your Google account is added as a test user in the Google Cloud Console if your app is in testing mode.
3. Checking the OAuth scopes in the authenticateAndSaveCredentials function to ensure they match your needs.

Notes

  • This server is designed to be used with Claude AI or other MCP-compatible assistants.
  • All API requests are made using your authenticated Google account.
  • Token refresh is handled automatically by the server.
  • Sensitive credentials are stored locally in the tokens.json file.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

0 forks

Report repository

Releases

No releases published

Packages 0

No packages published

Languages

Features & Capabilities

Categories
mcp_server model_context_protocol google_classroom claude javascript api_integration oauth

Implementation Details

Stats

0 Views
1 GitHub Stars

Repository Info

faizan45640 Organization

Similar MCP Servers

continuedev_continue by continuedev
25049
21423
9300