🎓 Classroom Suite MCP
A unified MCP (Model Context Protocol) server for Google Workspace education tools - seamlessly integrate Google Classroom, Google Drive, and Google Docs with AI assistants like Claude.
  
✨ Features
| Service | Tools | Description | |---------|-------|-------------| | 📚 Classroom | 6 | Manage courses, assignments, and submissions | | 📁 Drive | 7 | Create, upload, download, and share files | | 📝 Docs | 4 | Create, read, edit documents and export to PDF |
17 tools total - Everything you need for education automation!
🚀 Installation
Using uvx (Recommended)
uvx classroom-suite-mcp
Using pip
pip install classroom-suite-mcp
From Source
git clone https://github.com/anasdevai/classroom-suite-mcp.git
cd classroom-suite-mcp
pip install -e .
🔐 Google Cloud Setup
Before using this server, you need to set up Google Cloud credentials:
1. Create a Google Cloud Project
- Go to Google Cloud Console
- Create a new project or select an existing one
- Enable the following APIs:
- Google Classroom API
- Google Drive API
- Google Docs API
2. Create OAuth Credentials
- Go to APIs & Services > Credentials
- Click Create Credentials > OAuth client ID
- Select Desktop app as the application type
- Download the credentials as
credentials.json
3. Configure the Server
Place credentials.json in your working directory, or set the path:
export GOOGLE_CREDENTIALS_PATH=/path/to/credentials.json
On first run, a browser window will open for OAuth authentication.
⚙️ Configuration
Environment Variables
| Variable | Default | Description | |----------|---------|-------------| | GOOGLE_CREDENTIALS_PATH | credentials.json | Path to OAuth credentials file | | GOOGLE_TOKEN_PATH | token.json | Path to store auth token |
Claude Desktop Configuration
Add to your claude_desktop_config.json:
{
"mcpServers": {
"classroom-suite": {
"command": "uvx",
"args": ["classroom-suite-mcp"]
}
}
}
Or with pip installation:
{
"mcpServers": {
"classroom-suite": {
"command": "classroom-suite-mcp"
}
}
}
🛠️ Available Tools
Google Classroom (6 tools)
| Tool | Description | |------|-------------| | list_courses | List all enrolled courses | | get_course | Get course details | | list_assignments | List course assignments | | get_assignment | Get assignment details | | list_submissions | List assignment submissions | | submit_assignment | Submit work with attachments |
Google Drive (7 tools)
| Tool | Description | |------|-------------| | list_files | List files and folders | | search_files | Search by name or content | | create_folder | Create a new folder | | upload_file | Upload a file | | download_file | Download a file | | share_file | Share with users or publicly | | delete_file | Move to trash or delete |
Google Docs (4 tools)
| Tool | Description | |------|-------------| | create_doc | Create a new document | | read_doc | Read document content | | update_doc | Append, prepend, or replace text | | export_pdf | Export as PDF |
📖 Usage Examples
With Claude
You: List my Google Classroom courses
Claude: I'll list your courses using the classroom-suite-mcp tools.
[Uses list_courses tool]
Here are your courses:
1. Introduction to Computer Science (ACTIVE)
2. Data Structures and Algorithms (ACTIVE)
...
Common Workflows
Check assignments and submit: ```
- list_courses → Get course ID
- list_assignments → Find pending assignment
- create_doc → Create solution document
- submit_assignment → Submit with Drive file
**Organize course materials:**
- create_folder → Create organized folder
- upload_file → Upload materials
- share_file → Share with classmates
## 🧪 Development
### Running Locally
Clone the repository
git clone https://github.com/anasdevai/classroom-suite-mcp.git cd classroom-suite-mcp
Install dependencies
pip install -e .
Run with stdio transport (for MCP clients)
classroom-suite-mcp
Run with HTTP transport (for testing)
classroom-suite-mcp --transport http --port 8000 ```
Testing with MCP Inspector
npx @anthropic-ai/mcp-inspector classroom-suite-mcp
📄 License
MIT License - see LICENSE for details.
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
📬 Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
---
Made with ❤️ for educators and students











