@vardum/mcp 0.4.0 → 0.4.1

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 +36 -23
  2. package/package.json +3 -3
package/README.md CHANGED
@@ -4,29 +4,30 @@ MCP server for [Vardum](https://vardum.com): lets an AI agent manage assets and
4
4
  Vards using a key scoped to one workspace. Workspace creation, membership,
5
5
  API-key management and domains are managed in the web app with a signed-in session.
6
6
 
7
- This README describes **MCP 0.4.0**, including revision-guarded Vard editing.
8
- Check the [0.8 client release notes](https://github.com/f-tuma/vardum/blob/main/docs/client-release-0.8.md)
9
- and [release status and compatibility](https://github.com/f-tuma/vardum/blob/main/docs/npm-release.md)
10
- to confirm npm availability before installing this version. Published MCP 0.3.0
11
- uses the legacy editing contract; installing it does not enable revision guards.
12
- The published 0.1.0 artifact has a broken workspace dependency.
7
+ This README describes [MCP **0.4.1**](https://www.npmjs.com/package/@vardum/mcp/v/0.4.1),
8
+ including revision-guarded Vard editing. The matching client batch uses CLI
9
+ **0.8.1** and shared **0.4.1**. This patch makes setup self-contained without
10
+ changing the tools or editor protocol. Older MCP 0.3.0 uses the legacy editing
11
+ contract; installing it does not enable revision guards. The published 0.1.0
12
+ artifact has a broken workspace dependency.
13
13
 
14
14
  ## Setup
15
15
 
16
16
  The server speaks MCP over stdio, so the client starts it. Create a workspace
17
- API key in **Settings // API keys** first; it is restricted to that workspace
17
+ API key in **Settings → API keys** first; it is restricted to that workspace
18
18
  and its selected permissions. Copy the workspace ID from Settings → General
19
19
  for tool calls. Use Node.js 22 or newer.
20
20
 
21
- **These configurations target MCP 0.4.0**; use them once the release-status page
22
- confirms that exact package is available. Deploy the matching server advertising
23
- `vardEditRevision: 1` before editing Vards. For current published setup, see the
24
- [MCP guide](../../docs/guide/mcp.md).
21
+ These configurations pin **MCP 0.4.1** and need no source-repository access.
22
+ Deploy a server advertising `vardEditRevision: 1` from `GET /api/capabilities`
23
+ before editable Vard reads or mutations; there is no legacy-edit fallback.
24
+ Use a read key for inspection or a key with the required write permissions for
25
+ mutation. Keep real keys in the client's private configuration, never in Git.
25
26
 
26
27
  Claude Code:
27
28
 
28
29
  ```sh
29
- claude mcp add vardum --env VARDUM_API_KEY=varda_... -- npx -y @vardum/mcp@0.4.0
30
+ claude mcp add vardum --env VARDUM_API_KEY=varda_... -- npx -y @vardum/mcp@0.4.1
30
31
  ```
31
32
 
32
33
  Any client that reads a JSON config (Claude Desktop, Cursor, …):
@@ -36,17 +37,13 @@ Any client that reads a JSON config (Claude Desktop, Cursor, …):
36
37
  "mcpServers": {
37
38
  "vardum": {
38
39
  "command": "npx",
39
- "args": ["-y", "@vardum/mcp@0.4.0"],
40
+ "args": ["-y", "@vardum/mcp@0.4.1"],
40
41
  "env": { "VARDUM_API_KEY": "varda_..." }
41
42
  }
42
43
  }
43
44
  }
44
45
  ```
45
46
 
46
- For a source checkout, build with `pnpm --filter "@vardum/mcp..." build` and
47
- configure the client to run `node /absolute/path/to/vardum/apps/mcp/dist/index.js`.
48
- This does not establish npm availability.
49
-
50
47
  ## Configuration
51
48
 
52
49
  | Setting | Flag | Environment | Default |
@@ -86,8 +83,9 @@ Use `set_asset_visibility` with `workspaceId`, `assetId`, and an explicit boolea
86
83
  Publishing exposes every ready version and its variants. A public Vard does not
87
84
  publish its files: its anonymous manifest remains unavailable while any mapped
88
85
  asset is private. Making a file private cannot revoke downloaded or cached
89
- copies. These tools require the matching visibility-capable API in the
90
- compatibility table.
86
+ copies. The server must implement asset visibility, enforce workspace read access to
87
+ private version/variant URLs, and require publish permission for visibility changes.
88
+ Installing this package does not add those backend capabilities.
91
89
 
92
90
  ## Guarded editing
93
91
 
@@ -123,7 +121,8 @@ A stale write returns a structured MCP tool error (`isError: true`) with
123
121
  instruction to reload. Keep the intended edit, read `get_vard` again, review the
124
122
  current definition, then reapply the edit with that reviewed definition's
125
123
  revision. Do not automatically repeat a stale replacement list with a new token.
126
- See the [guarded editor protocol](../../docs/vard-editor-concurrency.md).
124
+ An unresolved preview never permits bypassing the revision check or writing
125
+ expanded folder outputs as manual mappings.
127
126
 
128
127
  ## Folder rules
129
128
 
@@ -159,6 +158,20 @@ consumes the committed snapshot without live resolution. There is no background
159
158
  sync. Removing rules leaves source assets/manual mappings intact. Choose
160
159
  `--delete` on the membership-updating pull: a normal no-delete pull keeps stale
161
160
  disk files but drops their tracking, so a later `--delete` cannot remove them.
162
- See [CLI snapshot limitations](https://github.com/f-tuma/vardum/tree/main/apps/cli#reproducible-asset-consumption)
163
- and [operations](https://github.com/f-tuma/vardum/blob/main/docs/operations.md#folder-rule-upgrade)
164
- before upgrading or rolling back.
161
+ The CLI snapshot records locked URLs and byte checksums, not an archive. Frozen
162
+ restore needs those versions and URLs to remain reachable with the required read
163
+ permission. Source-key or workspace-slug renames, deleted versions, signing-key
164
+ rotation, expired signatures or changed transformation bytes can break an old
165
+ snapshot; checksum failure never falls back to latest. Do not assume a rule removal
166
+ or a successful live preview proves historical frozen restores.
167
+
168
+ ## Self-hosted backend
169
+
170
+ The matching backend exposes `GET /api/capabilities` with `vardEditRevision: 1`
171
+ and dedicated `/editor` endpoints. Guarded editing needs no migration beyond the
172
+ upload/import baseline through `0015_upload_request_checksum.sql`. Folder rules
173
+ need recursive ready-original resolution with the collision/limit rules above.
174
+ Asset uploads need `GET /api/upload-limits`, accepted MIME validation and ready
175
+ version processing. Images and videos have separate byte limits; video delivery
176
+ keeps original bytes without transformation variants. Verify the actual instance
177
+ before granting an agent write permissions.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vardum/mcp",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "MCP server for workspace-scoped Vardum assets and Vards",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -19,7 +19,7 @@
19
19
  },
20
20
  "dependencies": {
21
21
  "@modelcontextprotocol/sdk": "1.31.0",
22
- "@vardum/shared": "^0.4.0",
22
+ "@vardum/shared": "^0.4.1",
23
23
  "zod": "^3.24.0"
24
24
  },
25
25
  "devDependencies": {
@@ -31,7 +31,7 @@
31
31
  "url": "git+https://github.com/f-tuma/vardum.git",
32
32
  "directory": "apps/mcp"
33
33
  },
34
- "homepage": "https://github.com/f-tuma/vardum/tree/main/apps/mcp#readme",
34
+ "homepage": "https://vardum.com",
35
35
  "bugs": {
36
36
  "url": "https://github.com/f-tuma/vardum/issues"
37
37
  },