@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.
- package/README.md +36 -23
- 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
|
|
8
|
-
|
|
9
|
-
and
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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
|
|
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
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
90
|
-
|
|
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
|
-
|
|
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
|
-
|
|
163
|
-
and
|
|
164
|
-
|
|
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.
|
|
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.
|
|
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://
|
|
34
|
+
"homepage": "https://vardum.com",
|
|
35
35
|
"bugs": {
|
|
36
36
|
"url": "https://github.com/f-tuma/vardum/issues"
|
|
37
37
|
},
|