@critical-path/mcp 0.10.0 → 0.10.2

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/CHANGELOG.md CHANGED
@@ -1,5 +1,40 @@
1
1
  # @critical-path/mcp
2
2
 
3
+ ## 0.10.2
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [1a516bd]
8
+ - @critical-path/core@0.27.0
9
+ - @critical-path/client@0.16.0
10
+
11
+ ## 0.10.1
12
+
13
+ ### Patch Changes
14
+
15
+ - 719e844: Role-based authorization and multi-tenancy.
16
+
17
+ **@critical-path/core**
18
+ - New `authorize` engine option and `createRolePolicy()`:
19
+ - Project roles (`viewer`, `contributor`, `project_manager`, `admin`) come from `project.members`.
20
+ - Workspace superusers come from `actor.roles`.
21
+ - Authors manage their own comments and attachments.
22
+ - Checks run on `withActor` views. Unreadable or cross-tenant projects behave as not found, denied actions throw the new `ForbiddenError`, and lists are filtered.
23
+ - `Actor` gains `tenantId` and `roles`. Projects, workflows and teams gain `tenantId`, stamped from the actor and never accepted from payloads. Reads are scoped to the actor's tenant, including the default-workflow fallback.
24
+ - **BREAKING:** `Project.members` is now `{ userId, role }[]` (was `string[]`). Project creators become `admin` members.
25
+ - New `engine.getActivities()` and `engine.getTimeEntries()`, which respect authorization.
26
+ - **BREAKING:** on views, presigned uploads require `projectId` and are confined to `projects/<projectId>/`. The presign request schema now requires `projectId`.
27
+ - `SQLiteStore` persists `tenantId` (migrated automatically).
28
+
29
+ **@critical-path/server**
30
+ - `RequestContext` gains `tenantId` and `roles`, which are passed to the actor. `ForbiddenError` maps to `403`. Activities and time entries are read through the engine.
31
+
32
+ **@critical-path/client / @critical-path/mcp**
33
+ - Rebuilt for the new presign `projectId` requirement and project member shape.
34
+ - Updated dependencies [719e844]
35
+ - @critical-path/core@0.26.0
36
+ - @critical-path/client@0.15.1
37
+
3
38
  ## 0.10.0
4
39
 
5
40
  ### Minor Changes
package/README.md CHANGED
@@ -179,7 +179,7 @@ handle.unregister();
179
179
 
180
180
  Each tool's JSON `inputSchema` is generated from its zod schema with `defineTool`, so what the model sees always matches what is enforced. Tool arguments are validated against each tool's zod schema before execution, on both the standard server and WebMCP. Invalid or undeclared arguments return an `isError` result naming the problem (for example, `projectId` cannot be passed to `update_task`).
181
181
 
182
- **Identity:** with an `engine`, changes are attributed to the server's `actor` option (default `DEFAULT_MCP_ACTOR`, `mcp-agent`); tools never take author or actor arguments. With a `client`, the API's authentication decides who the caller is. When you pass `tools: [...]` to `createCriticalPathMcpServer`, tools outside that list are neither listed nor callable. `delete_task` is advertised with the MCP `destructiveHint` annotation.
182
+ **Identity:** with an `engine`, changes are attributed to the server's `actor` option (default `DEFAULT_MCP_ACTOR`, `mcp-agent`); tools never take author or actor arguments. If the engine has an `authorize` policy, the actor is checked like any user: give it project memberships (or `roles: ['admin']`), and a `tenantId` in multi-tenant setups. With a `client`, the API's authentication decides who the caller is. When you pass `tools: [...]` to `createCriticalPathMcpServer`, tools outside that list are neither listed nor callable. `delete_task` is advertised with the MCP `destructiveHint` annotation.
183
183
 
184
184
  ---
185
185
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@critical-path/mcp",
3
- "version": "0.10.0",
3
+ "version": "0.10.2",
4
4
  "description": "Standard Model Context Protocol (MCP) server and client-side WebMCP support for Critical Path",
5
5
  "author": "Jack James",
6
6
  "license": "MIT",
@@ -35,8 +35,8 @@
35
35
  "@modelcontextprotocol/sdk": "^1.6.0",
36
36
  "zod": "^3.24.0",
37
37
  "zod-to-json-schema": "^3.25.2",
38
- "@critical-path/client": "0.15.0",
39
- "@critical-path/core": "0.25.0"
38
+ "@critical-path/core": "0.27.0",
39
+ "@critical-path/client": "0.16.0"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@types/node": "^24.0.0",