gogcli-mcp-classroom 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +78 -0
- package/SKILL.md +48 -0
- package/dist/index.js +30952 -0
- package/manifest.json +268 -0
- package/package.json +41 -0
- package/src/index.ts +12 -0
- package/src/tools/classroom-extra.ts +5 -0
- package/tests/tools/classroom-extra.test.ts +12 -0
- package/tsconfig.json +9 -0
- package/vitest.config.ts +17 -0
package/README.md
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# gogcli-mcp-classroom
|
|
2
|
+
|
|
3
|
+
> [!WARNING]
|
|
4
|
+
> **AI-developed project.** This codebase was built and is actively maintained by [Claude Code](https://www.anthropic.com/claude). Review all code and tool permissions before use.
|
|
5
|
+
|
|
6
|
+
Extended Google Classroom [MCP](https://modelcontextprotocol.io) server via [gogcli](https://github.com/steipete/gogcli). Includes auth tools plus dedicated Classroom tools covering courses, rosters, coursework, submissions (grading), announcements, topics, invitations, and profiles.
|
|
7
|
+
|
|
8
|
+
## Requirements
|
|
9
|
+
|
|
10
|
+
- [gogcli](https://github.com/steipete/gogcli) installed and authenticated
|
|
11
|
+
- Node.js 18+
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
brew install gogcli
|
|
15
|
+
gog auth add your@gmail.com --services classroom
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Installation
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
npm install -g gogcli-mcp-classroom
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### Claude Desktop
|
|
25
|
+
|
|
26
|
+
Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
|
|
27
|
+
|
|
28
|
+
```json
|
|
29
|
+
{
|
|
30
|
+
"mcpServers": {
|
|
31
|
+
"gogcli-classroom": {
|
|
32
|
+
"command": "gogcli-mcp-classroom",
|
|
33
|
+
"env": {
|
|
34
|
+
"GOG_ACCOUNT": "you@gmail.com"
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Claude Code
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
claude mcp add gogcli-classroom -- gogcli-mcp-classroom
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Dedicated Classroom Tools (44)
|
|
48
|
+
|
|
49
|
+
Plus 5 auth tools. Dedicated tools cover the common Classroom operations; anything not listed runs via the escape hatch.
|
|
50
|
+
|
|
51
|
+
| Namespace | Tools |
|
|
52
|
+
|-----------|-------|
|
|
53
|
+
| Courses | `gog_classroom_courses_list`, `_get`, `_create`, `_update`, `_delete`, `_archive`, `_unarchive` |
|
|
54
|
+
| Students | `gog_classroom_students_list`, `_get`, `_add`, `_remove` |
|
|
55
|
+
| Teachers | `gog_classroom_teachers_list`, `_get`, `_add`, `_remove` |
|
|
56
|
+
| Roster | `gog_classroom_roster` (combined students + teachers) |
|
|
57
|
+
| Coursework | `gog_classroom_coursework_list`, `_get`, `_create`, `_update`, `_delete` |
|
|
58
|
+
| Submissions | `gog_classroom_submissions_list`, `_get`, `_grade`, `_return`, `_turn_in`, `_reclaim` |
|
|
59
|
+
| Announcements | `gog_classroom_announcements_list`, `_get`, `_create`, `_update`, `_delete` |
|
|
60
|
+
| Topics | `gog_classroom_topics_list`, `_get`, `_create`, `_update`, `_delete` |
|
|
61
|
+
| Invitations | `gog_classroom_invitations_list`, `_get`, `_create`, `_accept`, `_delete` |
|
|
62
|
+
| Profile | `gog_classroom_profile_get` |
|
|
63
|
+
|
|
64
|
+
### Escape hatch
|
|
65
|
+
|
|
66
|
+
`gog_classroom_run` runs any Classroom subcommand not covered above, including:
|
|
67
|
+
|
|
68
|
+
- `guardians` (list/get/delete)
|
|
69
|
+
- `guardian-invitations` (create/list/cancel)
|
|
70
|
+
- `materials` (course materials)
|
|
71
|
+
- `coursework assignees` (individualized assignment targeting)
|
|
72
|
+
- `announcement assignees` (individualized announcement targeting)
|
|
73
|
+
|
|
74
|
+
Example: `{ "subcommand": "guardians", "args": ["list", "<studentUserId>"] }`.
|
|
75
|
+
|
|
76
|
+
## License
|
|
77
|
+
|
|
78
|
+
MIT
|
package/SKILL.md
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gogcli-mcp-classroom
|
|
3
|
+
description: Use when the user asks to manage Google Classroom — create or update courses, enroll students and teachers, post announcements, create assignments, view submissions, grade work, manage topics, or send/accept invitations. Triggers for requests involving classrooms, courses, assignments, coursework, homework, student rosters, gradebook, or classroom management. Includes auth and Classroom tools only.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# gogcli-mcp-classroom
|
|
7
|
+
|
|
8
|
+
Extended Google Classroom MCP server via [gogcli](https://github.com/steipete/gogcli) — 49 tools: auth (5) + 44 dedicated Classroom tools spanning courses, students, teachers, coursework, submissions, announcements, topics, invitations, and profiles.
|
|
9
|
+
|
|
10
|
+
- **Source:** [github.com/chrischall/gogcli-mcp](https://github.com/chrischall/gogcli-mcp)
|
|
11
|
+
|
|
12
|
+
## Requirements
|
|
13
|
+
|
|
14
|
+
- [gogcli](https://github.com/steipete/gogcli) installed and authenticated
|
|
15
|
+
- Node.js 18 or later
|
|
16
|
+
|
|
17
|
+
## Setup
|
|
18
|
+
|
|
19
|
+
```json
|
|
20
|
+
{
|
|
21
|
+
"mcpServers": {
|
|
22
|
+
"gogcli-classroom": {
|
|
23
|
+
"command": "npx",
|
|
24
|
+
"args": ["-y", "gogcli-mcp-classroom"],
|
|
25
|
+
"env": {
|
|
26
|
+
"GOG_ACCOUNT": "you@gmail.com"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Classroom Tools
|
|
34
|
+
|
|
35
|
+
| Area | Tools |
|
|
36
|
+
|------|-------|
|
|
37
|
+
| Courses | list / get / create / update / delete / archive / unarchive |
|
|
38
|
+
| Students | list / get / add / remove |
|
|
39
|
+
| Teachers | list / get / add / remove |
|
|
40
|
+
| Roster | combined students+teachers list |
|
|
41
|
+
| Coursework | list / get / create / update / delete |
|
|
42
|
+
| Submissions | list / get / grade / return / turn-in / reclaim |
|
|
43
|
+
| Announcements | list / get / create / update / delete |
|
|
44
|
+
| Topics | list / get / create / update / delete |
|
|
45
|
+
| Invitations | list / get / create / accept / delete |
|
|
46
|
+
| Profile | get (self or by userId) |
|
|
47
|
+
|
|
48
|
+
For guardians, guardian-invitations, materials, and assignee management, use `gog_classroom_run` (the escape hatch).
|