Classroom Suite MCP
# π 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.
[](https://pypi.org/project/classroom-suite-mcp/)
[](https://opensource.org/licenses/MIT)
[](https://www.python.org/downloads/)
## β¨ 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)
```bash
uvx classroom-suite-mcp
```
### Using pip
```bash
pip install classroom-suite-mcp
```
### From Source
```bash
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
1. Go to [Google Cloud Console](https://console.cloud.google.com/)
2. Create a new project or select an existing one
3. Enable the following APIs:
- Google Classroom API
- Google Drive API
- Google Docs API
### 2. Create OAuth Credentials
1. Go to **APIs & Services > Credentials**
2. Click **Create Credentials > OAuth client ID**
3. Select **Desktop app** as the application type
4. Download the credentials as `credentials.json`
### 3. Configure the Server
Place `credentials.json` in your working directory, or set the path:
```bash
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`:
```json
{
"mcpServers": {
"classroom-suite": {
"command": "uvx",
"args": ["classroom-suite-mcp"]
}
}
}
```
Or with pip installation:
```json
{
"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:**
```
1. list_courses β Get course ID
2. list_assignments β Find pending assignment
3. create_doc β Create solution document
4. submit_assignment β Submit with Drive file
```
**Organize course materials:**
```
1. create_folder β Create organized folder
2. upload_file β Upload materials
3. share_file β Share with classmates
```
## π§ͺ Development
### Running Locally
```bash
# 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
```bash
npx @anthropic-ai/mcp-inspector classroom-suite-mcp
```
## π License
MIT License - see [LICENSE](LICENSE) for details.
## π€ Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## π¬ Support
- **Issues:** [GitHub Issues](https://github.com/anasdevai/classroom-suite-mcp/issues)
- **Discussions:** [GitHub Discussions](https://github.com/anasdevai/classroom-suite-mcp/discussions)
---
Made with β€οΈ for educators and students
TDQS
Scored across 17 tools
Each tool targets a distinct resource-action pair: courses, assignments, submissions, Drive files, and Docs all have clearly separated tools. Even similar tools like list_files and search_files are disambiguated by browsing vs. searching.
All tools follow a consistent snake_case verb_noun pattern (list_courses, get_assignment, create_folder, export_pdf). There are no mixed naming conventions or vague verbs.
17 tools is slightly above the ideal range, but the server covers two related domains: classroom workflows and Google Drive/Docs. The count feels heavy but still scoped; each tool has a clear role.
The set covers core student workflows well: viewing courses and assignments, listing and submitting work, and managing Drive files and Docs. Notable gaps exist on the teaching sideβno assignment creation, grading, or return submissionβand document deletion is absent, but these may be outside the intended scope.