canvas-parent-mcp 2.1.10 → 2.2.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.
@@ -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": "2.1.10"
10
+ "version": "2.2.0"
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": "2.1.10",
18
+ "version": "2.2.0",
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": "2.1.10",
4
+ "version": "2.2.0",
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/README.md CHANGED
@@ -29,6 +29,16 @@ Mirrors the read-only parent-portal scope of sibling [`infinitecampus-mcp`](http
29
29
 
30
30
  Tools that the harness will gate as write/IO operations: `canvas_download_file`.
31
31
 
32
+ ### Planner: child names and a brief view
33
+
34
+ `canvas_list_planner_items` takes a child by name. At start the server lists your observees once (bounded to 5 s) and publishes their display names as the `observeeId` enum; the tool accepts either a name (any case) or a Canvas user id, and an unknown name is refused with the list of known ones. If the listing fails or you observe nobody, `observeeId` is published as a plain string and ids pass through as before. Two children with the same display name are listed as `Name (id)`.
35
+
36
+ `view: "brief"` returns one line per planner item, at most 120 characters: `title — due <ISO date or "no date"> — <submitted|not submitted|missing>`. Items with nothing to submit (planner notes, pages, events) carry no status. The default (`view: "full"`) is Canvas's payload, unchanged.
37
+
38
+ ### Context-group hints
39
+
40
+ Every tool except `canvas_healthcheck` carries a `_meta.mint` hint for hosts that group tools by context (mcp-host's context groups): `domain: "school"` plus an `intent` — `whats-due` for the planner and missing submissions, `whats-new` for announcements, `whats-on` for the calendar tools, `lookup` for the other reads, `other` for the download. The planner (`whats-due`) and announcements (`whats-new`) are marked `canonical`; the planner also names its subject argument (`observeeId`) and range (`startDate`/`endDate`). Hosts that do not read `_meta` see nothing different.
41
+
32
42
  `canvas_download_file` only fetches `/files/…` URLs on your `CANVAS_BASE_URL` host (https), so your Canvas credential is never sent anywhere else, and it only writes inside a download directory: `CANVAS_OUTPUT_DIR` if set, otherwise `~/Downloads`. A relative `destinationPath` is resolved against that directory. It never writes through a symlink at the destination, and new files are created owner-only (0600).
33
43
 
34
44
  ## Configuration