brightspace-mcp-server 1.1.5 → 1.1.7

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.
Files changed (2) hide show
  1. package/README.md +46 -11
  2. package/package.json +12 -3
package/README.md CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
  > **By [Rohan Muppa](https://github.com/rohanmuppa), ECE @ Purdue**
4
4
 
5
- Talk to your Brightspace courses with AI. Ask about grades, due dates, announcements, and more. Works with Claude, ChatGPT, and Cursor.
5
+ Talk to your Brightspace courses with AI. Ask about grades, due dates, announcements, and more. Works with Claude, ChatGPT, Cursor, and Windsurf.
6
6
 
7
- This is an [MCP (Model Context Protocol)](https://modelcontextprotocol.io) server. MCP lets AI apps like ChatGPT or Claude talk to outside tools. This server connects your AI to Brightspace so it can pull your grades, assignments, and course content on demand.
7
+ This is an [MCP (Model Context Protocol)](https://modelcontextprotocol.io) server that connects your AI to D2L Brightspace so it can pull your grades, assignments, syllabus, and course content on demand.
8
8
 
9
- Works with any school that uses Brightspace.
9
+ Works with any school that uses D2L Brightspace, including Purdue, USC, and hundreds more.
10
10
 
11
11
  <p align="center">
12
12
  <img src="https://raw.githubusercontent.com/RohanMuppa/brightspace-mcp-server/main/docs/how-it-works.svg" alt="Architecture diagram" width="100%">
@@ -118,6 +118,32 @@ Windows:
118
118
  }
119
119
  ```
120
120
 
121
+ **Windsurf** (`~/.windsurf/mcp.json`):
122
+
123
+ Mac/Linux:
124
+ ```json
125
+ {
126
+ "mcpServers": {
127
+ "brightspace": {
128
+ "command": "npx",
129
+ "args": ["-y", "brightspace-mcp-server@latest"]
130
+ }
131
+ }
132
+ }
133
+ ```
134
+
135
+ Windows:
136
+ ```json
137
+ {
138
+ "mcpServers": {
139
+ "brightspace": {
140
+ "command": "cmd",
141
+ "args": ["/c", "npx", "-y", "brightspace-mcp-server@latest"]
142
+ }
143
+ }
144
+ }
145
+ ```
146
+
121
147
  After adding, restart your AI client. You still need to run `npx brightspace-mcp-server setup` first to save your credentials.
122
148
 
123
149
  ## Session Expired?
@@ -163,15 +189,24 @@ npx brightspace-mcp-server auth
163
189
  - All traffic to Brightspace is HTTPS
164
190
  - Nothing is sent anywhere except your school's login page
165
191
 
166
- ## Built With
192
+ ## Contributing & Forking
193
+
194
+ Want to add your school, build a new tool, or fix something? Fork the repo, make your changes, and open a pull request. If it gets merged, it ships to every user automatically.
195
+
196
+ ```bash
197
+ git clone https://github.com/RohanMuppa/brightspace-mcp-server.git
198
+ cd brightspace-mcp-server
199
+ npm install
200
+ npm run dev
201
+ ```
202
+
203
+ **Add your school:** Add a preset to `SCHOOL_PRESETS` in `src/setup.ts`. If your school's login flow is different, add a handler in `src/auth/`.
204
+
205
+ **Add a new tool:** Create a file in `src/tools/`, add the schema in `schemas.ts`, export it in `src/tools/index.ts`, and register it in `src/index.ts`. Use any existing tool as a template.
206
+
207
+ **Run your own version:** You can also fork and run it independently. Clone it, build it, and point your AI client to the local `build/index.js` instead of using `npx`. No npm needed. Just know that forks don't receive updates from this repo automatically. If your changes could help others, consider opening a PR.
167
208
 
168
- ![TypeScript](https://img.shields.io/badge/TypeScript-3178C6?logo=typescript&logoColor=white)
169
- ![JavaScript](https://img.shields.io/badge/JavaScript-F7DF1E?logo=javascript&logoColor=black)
170
- ![Node.js](https://img.shields.io/badge/Node.js-339933?logo=nodedotjs&logoColor=white)
171
- ![Playwright](https://img.shields.io/badge/Playwright-2EAD33?logo=playwright&logoColor=white)
172
- ![MCP](https://img.shields.io/badge/Model_Context_Protocol-black?logo=anthropic&logoColor=white)
173
- ![D2L Brightspace](https://img.shields.io/badge/D2L_Brightspace-003865?logoColor=white)
174
- ![npm](https://img.shields.io/badge/npm-CB3837?logo=npm&logoColor=white)
209
+ Licensed under AGPL-3.0. Forks must also be open source.
175
210
 
176
211
  ## Updates
177
212
 
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "brightspace-mcp-server",
3
- "version": "1.1.5",
3
+ "version": "1.1.7",
4
4
  "mcpName": "io.github.rohanmuppa/brightspace",
5
- "description": "MCP server for Brightspace (D2L). Check grades, due dates, announcements, rosters and more via Claude, ChatGPT, Cursor, or any MCP client.",
5
+ "description": "MCP server for Brightspace (D2L). Check grades, due dates, assignments, announcements, syllabus, rosters and more via Claude, ChatGPT, Cursor, Windsurf, or any MCP client.",
6
6
  "type": "module",
7
7
  "main": "build/index.js",
8
8
  "bin": {
@@ -69,10 +69,19 @@
69
69
  "claude",
70
70
  "chatgpt",
71
71
  "cursor",
72
+ "windsurf",
72
73
  "purdue",
73
74
  "university",
74
75
  "model-context-protocol",
75
76
  "brightspace-api",
76
- "d2l-api"
77
+ "d2l-api",
78
+ "assignments",
79
+ "announcements",
80
+ "syllabus",
81
+ "student",
82
+ "ai",
83
+ "duo",
84
+ "sso",
85
+ "d2l-brightspace"
77
86
  ]
78
87
  }