canvas-lms-mcp 2.5.2 → 2.6.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 +13 -12
- package/dist/canvas/index.cjs +3 -3
- package/dist/canvas/index.js +2 -2
- package/dist/canvas/modules.d.ts +6 -0
- package/dist/canvas/modules.d.ts.map +1 -1
- package/dist/{chunk-2EY3U7IR.js → chunk-CWDI77RZ.js} +12 -2
- package/dist/chunk-CWDI77RZ.js.map +1 -0
- package/dist/{chunk-U2FEEK3Y.js → chunk-H2NQM7XY.js} +2 -2
- package/dist/{chunk-EA5YGN5Z.cjs → chunk-LD4CRT2H.cjs} +4 -1
- package/dist/chunk-LD4CRT2H.cjs.map +1 -0
- package/dist/{chunk-QBDIQW5O.js → chunk-P3O477YD.js} +23 -4
- package/dist/chunk-P3O477YD.js.map +1 -0
- package/dist/{chunk-ZWEZ6ROI.js → chunk-QXMRHMLK.js} +4 -1
- package/dist/{chunk-ZWEZ6ROI.js.map → chunk-QXMRHMLK.js.map} +1 -1
- package/dist/{chunk-ZOOMOVE5.cjs → chunk-TRXRI2WF.cjs} +2 -2
- package/dist/{chunk-ZOOMOVE5.cjs.map → chunk-TRXRI2WF.cjs.map} +1 -1
- package/dist/{chunk-DG22XTGE.cjs → chunk-UMOP4V2I.cjs} +3 -3
- package/dist/{chunk-DG22XTGE.cjs.map → chunk-UMOP4V2I.cjs.map} +1 -1
- package/dist/{chunk-IQU4YMPO.cjs → chunk-WQMVEVJZ.cjs} +358 -339
- package/dist/chunk-WQMVEVJZ.cjs.map +1 -0
- package/dist/{chunk-27FJDG3Y.cjs → chunk-Y2CZGOKT.cjs} +15 -5
- package/dist/chunk-Y2CZGOKT.cjs.map +1 -0
- package/dist/{chunk-66TL3XQU.js → chunk-YSE25XUL.js} +2 -2
- package/dist/{chunk-66TL3XQU.js.map → chunk-YSE25XUL.js.map} +1 -1
- package/dist/cli.cjs +3 -3
- package/dist/cli.js +2 -2
- package/dist/http.cjs +9 -9
- package/dist/http.js +5 -5
- package/dist/init.cjs +3 -3
- package/dist/init.js +1 -1
- package/dist/prompts/generate.d.ts +2 -2
- package/dist/server.cjs +5 -5
- package/dist/server.d.ts +1 -1
- package/dist/server.js +4 -4
- package/dist/stdio.cjs +7 -7
- package/dist/stdio.js +5 -5
- package/dist/tools/destructive-policy.d.ts +1 -1
- package/dist/tools/destructive-policy.d.ts.map +1 -1
- package/dist/tools/index.d.ts +1 -1
- package/dist/tools/modules.d.ts.map +1 -1
- package/dist/tools/types.d.ts +1 -1
- package/package.json +2 -2
- package/dist/chunk-27FJDG3Y.cjs.map +0 -1
- package/dist/chunk-2EY3U7IR.js.map +0 -1
- package/dist/chunk-EA5YGN5Z.cjs.map +0 -1
- package/dist/chunk-IQU4YMPO.cjs.map +0 -1
- package/dist/chunk-QBDIQW5O.js.map +0 -1
- /package/dist/{chunk-U2FEEK3Y.js.map → chunk-H2NQM7XY.js.map} +0 -0
package/README.md
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
MCP server for [Canvas LMS](https://www.instructure.com/canvas). Read courses, assignments, submissions, rubrics, quizzes; grade, comment, manage course content, and handle Canvas admin workflows from any AI agent.
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
177 tools across Canvas courses, assignments, submissions, gradebook history, rubrics, quizzes, New Quizzes (LTI), files, users, groups, enrollments, discussions, modules, pages, calendar, conversations, peer reviews, accounts, analytics, outcomes, grading standards, grade projection, link audit, accessibility audit, content exports, content migrations, quiz accommodations, appointment groups, student workflows, student search, dashboard, instructor attention workflows, and health checks. Three deployment modes: stdio, HTTP, and library import.
|
|
15
15
|
|
|
16
16
|
## One-click install (Claude Desktop)
|
|
17
17
|
|
|
@@ -45,7 +45,7 @@ Installs the MCP server (via `npx canvas-lms-mcp`) and all 16 [Agent Skills](#ag
|
|
|
45
45
|
| | canvas-lms-mcp | [vishalsachdev/canvas-mcp](https://github.com/vishalsachdev/canvas-mcp) | [DMontgomery40/mcp-canvas-lms](https://github.com/DMontgomery40/mcp-canvas-lms) |
|
|
46
46
|
|---|---|---|---|
|
|
47
47
|
| Language | TypeScript | Python | TypeScript |
|
|
48
|
-
| Tools |
|
|
48
|
+
| Tools | 177 | 80+ | 54 |
|
|
49
49
|
| License | [](https://github.com/bruchris/canvas-lms-mcp/blob/main/LICENSE) | [](https://github.com/vishalsachdev/canvas-mcp/blob/main/LICENSE) | [](https://github.com/DMontgomery40/mcp-canvas-lms/blob/main/LICENSE) |
|
|
50
50
|
| Last commit | [](https://github.com/bruchris/canvas-lms-mcp) | [](https://github.com/vishalsachdev/canvas-mcp) | [](https://github.com/DMontgomery40/mcp-canvas-lms) |
|
|
51
51
|
|
|
@@ -106,7 +106,7 @@ Once configured, try these prompts with your AI client:
|
|
|
106
106
|
|
|
107
107
|
## Tool Inventory
|
|
108
108
|
|
|
109
|
-
### All Registered Tools (
|
|
109
|
+
### All Registered Tools (177)
|
|
110
110
|
|
|
111
111
|
| Category | Tools |
|
|
112
112
|
|----------|-------|
|
|
@@ -133,7 +133,7 @@ Once configured, try these prompts with your AI client:
|
|
|
133
133
|
| Groups | `list_groups`, `list_group_members` |
|
|
134
134
|
| Enrollments | `list_enrollments`, `list_course_enrollments`, `enroll_user`, `remove_enrollment` |
|
|
135
135
|
| Discussions | `list_discussions`, `get_discussion`, `list_announcements`, `post_discussion_entry`, `create_discussion`, `update_discussion`, `delete_discussion` |
|
|
136
|
-
| Modules | `list_modules`, `get_module`, `list_module_items`, `get_course_structure`, `view_course_structure`, `create_module`, `update_module`, `create_module_item`, `update_module_item`, `delete_module_item` |
|
|
136
|
+
| Modules | `list_modules`, `get_module`, `list_module_items`, `get_course_structure`, `view_course_structure`, `create_module`, `update_module`, `delete_module`, `create_module_item`, `update_module_item`, `delete_module_item` |
|
|
137
137
|
| Pages | `list_pages`, `get_page`, `create_page`, `update_page`, `delete_page` |
|
|
138
138
|
| Calendar | `list_calendar_events`, `create_calendar_event`, `update_calendar_event` |
|
|
139
139
|
| Conversations | `list_conversations`, `get_conversation`, `get_conversation_unread_count`, `send_conversation` |
|
|
@@ -152,7 +152,7 @@ Once configured, try these prompts with your AI client:
|
|
|
152
152
|
| Attention | `list_submission_comments_needing_attention`, `list_students_needing_attention` |
|
|
153
153
|
| FERPA (conditional) | `resolve_pseudonym` — stdio only, registered when `CANVAS_PSEUDONYMIZE_STUDENTS=true` and `CANVAS_PSEUDONYMIZE_REVERSE_LOOKUP=true` |
|
|
154
154
|
|
|
155
|
-
122 tools are read-only and
|
|
155
|
+
122 tools are read-only and 55 tools perform Canvas write operations. When FERPA mode is enabled **on the stdio transport**, `resolve_pseudonym` is registered as the 178th tool overall (123rd read tool). The HTTP transport never registers it — see [FERPA mode](#ferpa-mode-student-pseudonymization).
|
|
156
156
|
|
|
157
157
|
All write tools require appropriate Canvas permissions. Canvas enforces its own permission model -- the MCP server does not bypass it.
|
|
158
158
|
|
|
@@ -317,7 +317,7 @@ const courses = await canvas.courses.list()
|
|
|
317
317
|
| `--issuer` | `CANVAS_MCP_ISSUER` | (required in `oauth_brokered`) | Public URL of this server; OAuth issuer and resource prefix |
|
|
318
318
|
| `doctor` | -- | -- | Print an identity-safe setup report (also `auth status`); exit 1 when something is missing |
|
|
319
319
|
| `--role` | `CANVAS_ROLE` | (all tools) | Filter tools by Canvas role: `student`, `teacher`, or `admin` (see [Role-based tool filtering](#role-based-tool-filtering)) |
|
|
320
|
-
| `--destructive-tools=<mode>` | `CANVAS_DESTRUCTIVE_TOOLS` | `allow` | `allow` or `block`. `block` unregisters the
|
|
320
|
+
| `--destructive-tools=<mode>` | `CANVAS_DESTRUCTIVE_TOOLS` | `allow` | `allow` or `block`. `block` unregisters the eleven irreversible delete tools (see [Destructive tool policy](#destructive-tool-policy)) |
|
|
321
321
|
|
|
322
322
|
## Environment Variables
|
|
323
323
|
|
|
@@ -344,7 +344,7 @@ const courses = await canvas.courses.list()
|
|
|
344
344
|
| `CANVAS_PSEUDONYM_DIR` | No | Absolute path that overrides the default pseudonym map directory |
|
|
345
345
|
| `CANVAS_PSEUDONYM_AUDIT_LOG` | No | Path to an append-only file that mirrors `resolve_pseudonym` audit lines (stderr is always written) |
|
|
346
346
|
| `CANVAS_PROVENANCE_FENCING` | No | **On by default.** Set to exactly `false` to disable [provenance fencing](#provenance-fencing-untrusted-canvas-content) |
|
|
347
|
-
| `CANVAS_DESTRUCTIVE_TOOLS` | No | `allow` (default) or `block`. Set to exactly `block` to unregister the
|
|
347
|
+
| `CANVAS_DESTRUCTIVE_TOOLS` | No | `allow` (default) or `block`. Set to exactly `block` to unregister the eleven irreversible delete tools (see [Destructive tool policy](#destructive-tool-policy)) |
|
|
348
348
|
| `CANVAS_STRING_IDS` | No | **Off by default.** Set to exactly `true` to request Canvas identifiers as JSON strings instead of numbers (see [64-bit Canvas identifiers](#64-bit-canvas-identifiers-opt-in-string-ids)) |
|
|
349
349
|
|
|
350
350
|
## 64-bit Canvas identifiers (opt-in string IDs)
|
|
@@ -371,7 +371,7 @@ With the flag on, this server asks Canvas to render every identifier as a JSON *
|
|
|
371
371
|
|
|
372
372
|
Canvas has no undo. This server cannot restore anything it deletes -- every recovery
|
|
373
373
|
story for a mistaken delete is something you do outside this tooling, in Canvas or
|
|
374
|
-
with your institution's admin. `CANVAS_DESTRUCTIVE_TOOLS=block` removes the
|
|
374
|
+
with your institution's admin. `CANVAS_DESTRUCTIVE_TOOLS=block` removes the eleven
|
|
375
375
|
irreversible delete tools from the server entirely, so no amount of model confusion
|
|
376
376
|
or [prompt injection](#provenance-fencing-untrusted-canvas-content) can reach them.
|
|
377
377
|
|
|
@@ -384,7 +384,7 @@ canvas-lms-mcp --destructive-tools=block --base-url https://school.instructure.c
|
|
|
384
384
|
| Mode | Behaviour |
|
|
385
385
|
|------|-----------|
|
|
386
386
|
| `allow` | **Default.** Every tool is registered -- unchanged from previous releases. |
|
|
387
|
-
| `block` | The
|
|
387
|
+
| `block` | The eleven tools below are not registered at all. They are absent from `tools/list`, and a call naming one is refused by the MCP protocol layer before any Canvas request is made. |
|
|
388
388
|
|
|
389
389
|
**Blocked by `block`:**
|
|
390
390
|
|
|
@@ -398,6 +398,7 @@ canvas-lms-mcp --destructive-tools=block --base-url https://school.instructure.c
|
|
|
398
398
|
| `delete_discussion` | The whole reply thread, including student-authored posts |
|
|
399
399
|
| `delete_page` | Page body and revision history (keyed by URL slug, not a numeric ID) |
|
|
400
400
|
| `delete_rubric` | The rubric and **every assignment association on it** |
|
|
401
|
+
| `delete_module` | The module and its **whole ordered item list**; the linked assignments, pages, quizzes, files and discussions are not deleted, but the module itself has to be rebuilt item by item |
|
|
401
402
|
| `delete_file` | A file, addressed by a **global** ID with no course scoping in the call |
|
|
402
403
|
| `delete_appointment_group` | Every reservation -- and it **emails every signed-up student** |
|
|
403
404
|
|
|
@@ -567,10 +568,10 @@ Three roles, plus the default of "unset = every tool":
|
|
|
567
568
|
|
|
568
569
|
| `CANVAS_ROLE` | Tools exposed | Typical use |
|
|
569
570
|
|---------------|---------------|-------------|
|
|
570
|
-
| _(unset)_ | all (~
|
|
571
|
+
| _(unset)_ | all (~177) | default; backwards-compatible |
|
|
571
572
|
| `student` | ~63 | a student's own courses, grades, submissions, and read-only course content |
|
|
572
|
-
| `teacher` | ~
|
|
573
|
-
| `admin` | ~
|
|
573
|
+
| `teacher` | ~154 | grading, roster, content authoring, analytics |
|
|
574
|
+
| `admin` | ~166 | everything `teacher` sees plus account-level tools (`enroll_user`, `list_account_users`, …) |
|
|
574
575
|
|
|
575
576
|
Notes:
|
|
576
577
|
|
package/dist/canvas/index.cjs
CHANGED
|
@@ -6,13 +6,13 @@
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
var
|
|
9
|
+
var _chunkY2CZGOKTcjs = require('../chunk-Y2CZGOKT.cjs');
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
var
|
|
15
|
+
var _chunkTRXRI2WFcjs = require('../chunk-TRXRI2WF.cjs');
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
|
|
@@ -25,5 +25,5 @@ var _chunkZOOMOVE5cjs = require('../chunk-ZOOMOVE5.cjs');
|
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
|
|
28
|
-
exports.CANVAS_MAX_ID =
|
|
28
|
+
exports.CANVAS_MAX_ID = _chunkY2CZGOKTcjs.CANVAS_MAX_ID; exports.CanvasApiError = _chunkTRXRI2WFcjs.CanvasApiError; exports.CanvasClient = _chunkY2CZGOKTcjs.CanvasClient; exports.CanvasHttpClient = _chunkTRXRI2WFcjs.CanvasHttpClient; exports.MAX_SAFE_CANVAS_NUMBER_ID = _chunkY2CZGOKTcjs.MAX_SAFE_CANVAS_NUMBER_ID; exports.appendCanvasQuery = _chunkTRXRI2WFcjs.appendCanvasQuery; exports.canvasIdInput = _chunkY2CZGOKTcjs.canvasIdInput; exports.canvasIdList = _chunkY2CZGOKTcjs.canvasIdList; exports.compareCanvasIds = _chunkY2CZGOKTcjs.compareCanvasIds; exports.normalizeCanvasIdInput = _chunkY2CZGOKTcjs.normalizeCanvasIdInput; exports.toCanvasQuery = _chunkTRXRI2WFcjs.toCanvasQuery;
|
|
29
29
|
//# sourceMappingURL=index.cjs.map
|
package/dist/canvas/index.js
CHANGED
|
@@ -6,13 +6,13 @@ import {
|
|
|
6
6
|
canvasIdList,
|
|
7
7
|
compareCanvasIds,
|
|
8
8
|
normalizeCanvasIdInput
|
|
9
|
-
} from "../chunk-
|
|
9
|
+
} from "../chunk-CWDI77RZ.js";
|
|
10
10
|
import {
|
|
11
11
|
CanvasApiError,
|
|
12
12
|
CanvasHttpClient,
|
|
13
13
|
appendCanvasQuery,
|
|
14
14
|
toCanvasQuery
|
|
15
|
-
} from "../chunk-
|
|
15
|
+
} from "../chunk-YSE25XUL.js";
|
|
16
16
|
export {
|
|
17
17
|
CANVAS_MAX_ID,
|
|
18
18
|
CanvasApiError,
|
package/dist/canvas/modules.d.ts
CHANGED
|
@@ -48,6 +48,12 @@ export declare class ModulesModule {
|
|
|
48
48
|
position?: number;
|
|
49
49
|
published?: boolean;
|
|
50
50
|
}): Promise<CanvasModule>;
|
|
51
|
+
/**
|
|
52
|
+
* Canvas answers a module DELETE with the deleted module's body (the
|
|
53
|
+
* controller renders `module_json` with no root key). The module's items go
|
|
54
|
+
* with it; the content they link to is stored separately in the course.
|
|
55
|
+
*/
|
|
56
|
+
delete(courseId: CanvasId, moduleId: CanvasId): Promise<CanvasModule>;
|
|
51
57
|
createItem(courseId: CanvasId, moduleId: CanvasId, params: CreateModuleItemParams): Promise<CanvasModuleItem>;
|
|
52
58
|
updateItem(courseId: CanvasId, moduleId: CanvasId, itemId: CanvasId, params: UpdateModuleItemParams): Promise<CanvasModuleItem>;
|
|
53
59
|
/** Canvas answers a module-item DELETE with the deleted item's body. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../../src/canvas/modules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AACpF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAEpC,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,QAAQ,CAAA;IACrB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,QAAQ,CAAA;CACrB;AAED,qBAAa,aAAa;IACZ,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,gBAAgB;IAEtC,IAAI,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAIvD;;;;;OAKG;IACG,aAAa,CACjB,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,CAAC,YAAY,GAAG;QAAE,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAA;KAAE,CAAC,EAAE,CAAC;IAOvD,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC;IAIlE,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAM9E,MAAM,CACV,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAA;QACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,uBAAuB,CAAC,EAAE,QAAQ,EAAE,CAAA;KACrC,GACA,OAAO,CAAC,YAAY,CAAC;IAOlB,MAAM,CACV,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAChE,OAAO,CAAC,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../../src/canvas/modules.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
CanvasApiError,
|
|
3
3
|
CanvasHttpClient
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-YSE25XUL.js";
|
|
5
5
|
|
|
6
6
|
// src/canvas/courses.ts
|
|
7
7
|
var DEFAULT_LIST_INCLUDE = ["term"];
|
|
@@ -851,6 +851,16 @@ var ModulesModule = class {
|
|
|
851
851
|
body: JSON.stringify({ module: params })
|
|
852
852
|
});
|
|
853
853
|
}
|
|
854
|
+
/**
|
|
855
|
+
* Canvas answers a module DELETE with the deleted module's body (the
|
|
856
|
+
* controller renders `module_json` with no root key). The module's items go
|
|
857
|
+
* with it; the content they link to is stored separately in the course.
|
|
858
|
+
*/
|
|
859
|
+
async delete(courseId, moduleId) {
|
|
860
|
+
return this.client.request(`/api/v1/courses/${courseId}/modules/${moduleId}`, {
|
|
861
|
+
method: "DELETE"
|
|
862
|
+
});
|
|
863
|
+
}
|
|
854
864
|
async createItem(courseId, moduleId, params) {
|
|
855
865
|
return this.client.request(
|
|
856
866
|
`/api/v1/courses/${courseId}/modules/${moduleId}/items`,
|
|
@@ -2060,4 +2070,4 @@ export {
|
|
|
2060
2070
|
normalizeCanvasIdInput,
|
|
2061
2071
|
CanvasClient
|
|
2062
2072
|
};
|
|
2063
|
-
//# sourceMappingURL=chunk-
|
|
2073
|
+
//# sourceMappingURL=chunk-CWDI77RZ.js.map
|