canvas-parent-mcp 0.1.3 → 0.1.4

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.
@@ -7,7 +7,7 @@
7
7
  },
8
8
  "metadata": {
9
9
  "description": "MCP server for Canvas LMS (Instructure) — courses, grades, assignments, announcements, planner, conversations, files",
10
- "version": "0.1.3"
10
+ "version": "0.1.4"
11
11
  },
12
12
  "plugins": [
13
13
  {
@@ -15,7 +15,7 @@
15
15
  "displayName": "Canvas LMS",
16
16
  "source": "./",
17
17
  "description": "Canvas LMS (Instructure) MCP server for Claude — student/observer access via natural language",
18
- "version": "0.1.3",
18
+ "version": "0.1.4",
19
19
  "author": {
20
20
  "name": "Chris Hall"
21
21
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "canvas-parent-mcp",
3
3
  "displayName": "Canvas LMS",
4
- "version": "0.1.3",
4
+ "version": "0.1.4",
5
5
  "description": "Canvas LMS (Instructure) MCP server for Claude — courses, grades, assignments, announcements, planner, conversations, files",
6
6
  "author": {
7
7
  "name": "Chris Hall",
package/.mcp.json CHANGED
@@ -6,6 +6,9 @@
6
6
  "env": {
7
7
  "CANVAS_BASE_URL": "${CANVAS_BASE_URL}",
8
8
  "CANVAS_TOKEN": "${CANVAS_TOKEN}",
9
+ "CANVAS_USERNAME": "${CANVAS_USERNAME}",
10
+ "CANVAS_PASSWORD": "${CANVAS_PASSWORD}",
11
+ "CANVAS_COOKIE": "${CANVAS_COOKIE}",
9
12
  "CANVAS_CLIENT_ID": "${CANVAS_CLIENT_ID}",
10
13
  "CANVAS_CLIENT_SECRET": "${CANVAS_CLIENT_SECRET}",
11
14
  "CANVAS_REFRESH_TOKEN": "${CANVAS_REFRESH_TOKEN}",
package/dist/bundle.js CHANGED
@@ -31642,7 +31642,7 @@ try {
31642
31642
  }
31643
31643
  var account = loadAccount();
31644
31644
  var client = new CanvasClient(account);
31645
- var server = new McpServer({ name: "canvas", version: "0.1.3" });
31645
+ var server = new McpServer({ name: "canvas", version: "0.1.4" });
31646
31646
  registerProfileTools(server, client);
31647
31647
  registerObserveeTools(server, client);
31648
31648
  registerCourseTools(server, client);
package/dist/index.js CHANGED
@@ -29,7 +29,7 @@ import { registerDiscussionTools } from './tools/discussions.js';
29
29
  import { registerFileTools } from './tools/files.js';
30
30
  const account = loadAccount();
31
31
  const client = new CanvasClient(account);
32
- const server = new McpServer({ name: 'canvas', version: '0.1.3' });
32
+ const server = new McpServer({ name: 'canvas', version: '0.1.4' });
33
33
  registerProfileTools(server, client);
34
34
  registerObserveeTools(server, client);
35
35
  registerCourseTools(server, client);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "canvas-parent-mcp",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "mcpName": "io.github.chrischall/canvas-parent-mcp",
5
5
  "description": "Canvas LMS (Instructure) MCP server — student/observer read access with optional file download",
6
6
  "author": "Claude Code (AI) <https://www.anthropic.com/claude>",
package/server.json CHANGED
@@ -6,12 +6,12 @@
6
6
  "url": "https://github.com/chrischall/canvas-parent-mcp",
7
7
  "source": "github"
8
8
  },
9
- "version": "0.1.3",
9
+ "version": "0.1.4",
10
10
  "packages": [
11
11
  {
12
12
  "registryType": "npm",
13
13
  "identifier": "canvas-parent-mcp",
14
- "version": "0.1.3",
14
+ "version": "0.1.4",
15
15
  "transport": {
16
16
  "type": "stdio"
17
17
  },
@@ -24,7 +24,27 @@
24
24
  },
25
25
  {
26
26
  "name": "CANVAS_TOKEN",
27
- "description": "Canvas personal access token (set this OR all three OAuth vars)",
27
+ "description": "Canvas personal access token (pick ONE auth mode: this, USERNAME+PASSWORD, COOKIE, or OAuth triple)",
28
+ "isRequired": false,
29
+ "format": "string",
30
+ "isSecret": true
31
+ },
32
+ {
33
+ "name": "CANVAS_USERNAME",
34
+ "description": "Canvas login username/email — pair with CANVAS_PASSWORD for auto-login (no SSO/2FA)",
35
+ "isRequired": false,
36
+ "format": "string"
37
+ },
38
+ {
39
+ "name": "CANVAS_PASSWORD",
40
+ "description": "Canvas password for auto-login — required iff CANVAS_USERNAME is set",
41
+ "isRequired": false,
42
+ "format": "string",
43
+ "isSecret": true
44
+ },
45
+ {
46
+ "name": "CANVAS_COOKIE",
47
+ "description": "Pre-minted Canvas session cookie jar (from canvas-parent-mcp-login or qr-login CLI)",
28
48
  "isRequired": false,
29
49
  "format": "string",
30
50
  "isSecret": true
@@ -34,7 +34,25 @@ Add to `.mcp.json` in your project or `~/.claude/mcp.json`:
34
34
  }
35
35
  ```
36
36
 
37
- For OAuth instead of a token:
37
+ When admins have disabled token creation, use username/password (auto-login + auto-renew):
38
+
39
+ ```json
40
+ {
41
+ "mcpServers": {
42
+ "canvas": {
43
+ "command": "npx",
44
+ "args": ["-y", "canvas-parent-mcp"],
45
+ "env": {
46
+ "CANVAS_BASE_URL": "https://cms.instructure.com",
47
+ "CANVAS_USERNAME": "me@example.com",
48
+ "CANVAS_PASSWORD": "your-canvas-password"
49
+ }
50
+ }
51
+ }
52
+ }
53
+ ```
54
+
55
+ Direct Canvas accounts only — won't work with SAML/Google/Microsoft SSO or 2FA. Or, for OAuth instead of a token:
38
56
 
39
57
  ```json
40
58
  {
@@ -72,7 +90,7 @@ npm install && npm run build
72
90
 
73
91
  ```bash
74
92
  cp .env.example .env
75
- # Edit .env: set CANVAS_BASE_URL and CANVAS_TOKEN (or the OAuth triple).
93
+ # Edit .env: set CANVAS_BASE_URL plus one of CANVAS_TOKEN, CANVAS_USERNAME+CANVAS_PASSWORD, CANVAS_COOKIE, or the OAuth triple.
76
94
  ```
77
95
 
78
96
  #### 3. Register with mcporter