@lumibase/mcp-server 1.0.0-rc.2 → 1.0.0-rc.3
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/dist/index.cjs +24 -12
- package/dist/index.js +24 -12
- package/package.json +4 -4
package/dist/index.cjs
CHANGED
|
@@ -234,6 +234,7 @@ var GOVERNED_TOOLS = {
|
|
|
234
234
|
// `field_name` is this transport's name for the field; the skill reads `name`.
|
|
235
235
|
// Renamed explicitly rather than dropped (see repro R17).
|
|
236
236
|
delete_field: { skill: "deleteField", rename: { field_name: "name" } },
|
|
237
|
+
create_relation: { skill: "createRelation" },
|
|
237
238
|
delete_relation: { skill: "deleteRelation" },
|
|
238
239
|
// ── access ───────────────────────────────────────────────────────────────
|
|
239
240
|
delete_role: { skill: "deleteRole" },
|
|
@@ -241,12 +242,16 @@ var GOVERNED_TOOLS = {
|
|
|
241
242
|
// ── automation ───────────────────────────────────────────────────────────
|
|
242
243
|
delete_flow: { skill: "deleteFlow" },
|
|
243
244
|
run_flow: { skill: "runFlow" },
|
|
245
|
+
create_intent: { skill: "createIntent" },
|
|
244
246
|
delete_intent: { skill: "deleteIntent" },
|
|
245
247
|
// ── config ───────────────────────────────────────────────────────────────
|
|
246
248
|
upsert_setting: { skill: "upsertSetting" },
|
|
247
249
|
delete_setting: { skill: "deleteSetting" },
|
|
248
250
|
create_translation: { skill: "createTranslation" },
|
|
251
|
+
update_translation: { skill: "updateTranslation" },
|
|
249
252
|
delete_translation: { skill: "deleteTranslation" },
|
|
253
|
+
create_webhook: { skill: "createWebhook" },
|
|
254
|
+
update_webhook: { skill: "updateWebhook" },
|
|
250
255
|
delete_webhook: { skill: "deleteWebhook" },
|
|
251
256
|
// ── api keys / users / teams ──────────────────────────────────────────────
|
|
252
257
|
create_api_key: { skill: "createApiKey" },
|
|
@@ -262,7 +267,17 @@ var GOVERNED_TOOLS = {
|
|
|
262
267
|
add_team_member: { skill: "addTeamMember", rename: { id: "teamId" } },
|
|
263
268
|
remove_team_member: { skill: "removeTeamMember", rename: { id: "teamId" } },
|
|
264
269
|
// ── extensions ───────────────────────────────────────────────────────────
|
|
265
|
-
uninstall_extension: { skill: "uninstallExtension" }
|
|
270
|
+
uninstall_extension: { skill: "uninstallExtension" },
|
|
271
|
+
// ── cdc ──────────────────────────────────────────────────────────────────
|
|
272
|
+
// The change-feed skills name the subscription `subscriptionId` (as
|
|
273
|
+
// `getCdcSubscriptionStatus`/`replayCdcSubscription` do); the CRUD-generated
|
|
274
|
+
// stdio tool takes it as `id`, like every other `delete_*` tool.
|
|
275
|
+
// Known divergence, not a skipped gate: the harness builds `SubscriptionService`
|
|
276
|
+
// without `cache`/`audit`, so REST's `cdc_subscription_deleted` audit-log row
|
|
277
|
+
// and feed-flag cache eviction do not happen on this path. The run, tool-call
|
|
278
|
+
// and approval rows record the deletion instead, and the flag cache expires on
|
|
279
|
+
// its own TTL.
|
|
280
|
+
delete_cdc_subscription: { skill: "deleteCdcSubscription", rename: { id: "subscriptionId" } }
|
|
266
281
|
};
|
|
267
282
|
var UNGOVERNED_MUTATIONS = {
|
|
268
283
|
// Skill exists, but the canonical contract is narrower than what this tool
|
|
@@ -271,17 +286,14 @@ var UNGOVERNED_MUTATIONS = {
|
|
|
271
286
|
create_policy: "contract-narrower-than-tool: enforceTfa/ipAllow/ipDeny/validFrom/validUntil",
|
|
272
287
|
create_role: "contract-narrower-than-tool: systemKey",
|
|
273
288
|
cdc_subscription_replay: "contract-narrower-than-tool: cursor has no canonical counterpart",
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
update_translation: "no-canonical-contract",
|
|
283
|
-
install_extension: "no-canonical-contract",
|
|
284
|
-
update_extension: "no-canonical-contract",
|
|
289
|
+
create_cdc_subscription: "contract-narrower-than-tool: payload_mode \u2014 the createCdcSubscription handler never forwards it, so a snapshot subscription would be created as reference",
|
|
290
|
+
// Skill and canonical contract both exist and accept the advertised arguments,
|
|
291
|
+
// but the skill's handler skips checks the REST route applies. Routing would
|
|
292
|
+
// add HITL and remove those checks, so these stay on REST until the handler
|
|
293
|
+
// carries them.
|
|
294
|
+
create_flow: "skill-weaker-than-rest: createFlow skips the active-graph validation and schedule-cron check of POST /flows and never sets nextRunAt, so an active schedule flow would never fire",
|
|
295
|
+
install_extension: "skill-weaker-than-rest: installExtension skips the bundle signature check, the reserved lumibase-* namespace check and the per-action extensions:* permission probes of POST /extensions",
|
|
296
|
+
update_extension: "skill-weaker-than-rest: updateExtension skips the per-action extensions:* permission probes, the unverified-official enable refusal, sandbox cache eviction and CDC subscription sync of PATCH /extensions/:id",
|
|
285
297
|
// No skill at all: nothing to route to. Listed so the set is closed.
|
|
286
298
|
add_policy_permission: "no-skill",
|
|
287
299
|
apply_access_import: "no-skill",
|
package/dist/index.js
CHANGED
|
@@ -233,6 +233,7 @@ var GOVERNED_TOOLS = {
|
|
|
233
233
|
// `field_name` is this transport's name for the field; the skill reads `name`.
|
|
234
234
|
// Renamed explicitly rather than dropped (see repro R17).
|
|
235
235
|
delete_field: { skill: "deleteField", rename: { field_name: "name" } },
|
|
236
|
+
create_relation: { skill: "createRelation" },
|
|
236
237
|
delete_relation: { skill: "deleteRelation" },
|
|
237
238
|
// ── access ───────────────────────────────────────────────────────────────
|
|
238
239
|
delete_role: { skill: "deleteRole" },
|
|
@@ -240,12 +241,16 @@ var GOVERNED_TOOLS = {
|
|
|
240
241
|
// ── automation ───────────────────────────────────────────────────────────
|
|
241
242
|
delete_flow: { skill: "deleteFlow" },
|
|
242
243
|
run_flow: { skill: "runFlow" },
|
|
244
|
+
create_intent: { skill: "createIntent" },
|
|
243
245
|
delete_intent: { skill: "deleteIntent" },
|
|
244
246
|
// ── config ───────────────────────────────────────────────────────────────
|
|
245
247
|
upsert_setting: { skill: "upsertSetting" },
|
|
246
248
|
delete_setting: { skill: "deleteSetting" },
|
|
247
249
|
create_translation: { skill: "createTranslation" },
|
|
250
|
+
update_translation: { skill: "updateTranslation" },
|
|
248
251
|
delete_translation: { skill: "deleteTranslation" },
|
|
252
|
+
create_webhook: { skill: "createWebhook" },
|
|
253
|
+
update_webhook: { skill: "updateWebhook" },
|
|
249
254
|
delete_webhook: { skill: "deleteWebhook" },
|
|
250
255
|
// ── api keys / users / teams ──────────────────────────────────────────────
|
|
251
256
|
create_api_key: { skill: "createApiKey" },
|
|
@@ -261,7 +266,17 @@ var GOVERNED_TOOLS = {
|
|
|
261
266
|
add_team_member: { skill: "addTeamMember", rename: { id: "teamId" } },
|
|
262
267
|
remove_team_member: { skill: "removeTeamMember", rename: { id: "teamId" } },
|
|
263
268
|
// ── extensions ───────────────────────────────────────────────────────────
|
|
264
|
-
uninstall_extension: { skill: "uninstallExtension" }
|
|
269
|
+
uninstall_extension: { skill: "uninstallExtension" },
|
|
270
|
+
// ── cdc ──────────────────────────────────────────────────────────────────
|
|
271
|
+
// The change-feed skills name the subscription `subscriptionId` (as
|
|
272
|
+
// `getCdcSubscriptionStatus`/`replayCdcSubscription` do); the CRUD-generated
|
|
273
|
+
// stdio tool takes it as `id`, like every other `delete_*` tool.
|
|
274
|
+
// Known divergence, not a skipped gate: the harness builds `SubscriptionService`
|
|
275
|
+
// without `cache`/`audit`, so REST's `cdc_subscription_deleted` audit-log row
|
|
276
|
+
// and feed-flag cache eviction do not happen on this path. The run, tool-call
|
|
277
|
+
// and approval rows record the deletion instead, and the flag cache expires on
|
|
278
|
+
// its own TTL.
|
|
279
|
+
delete_cdc_subscription: { skill: "deleteCdcSubscription", rename: { id: "subscriptionId" } }
|
|
265
280
|
};
|
|
266
281
|
var UNGOVERNED_MUTATIONS = {
|
|
267
282
|
// Skill exists, but the canonical contract is narrower than what this tool
|
|
@@ -270,17 +285,14 @@ var UNGOVERNED_MUTATIONS = {
|
|
|
270
285
|
create_policy: "contract-narrower-than-tool: enforceTfa/ipAllow/ipDeny/validFrom/validUntil",
|
|
271
286
|
create_role: "contract-narrower-than-tool: systemKey",
|
|
272
287
|
cdc_subscription_replay: "contract-narrower-than-tool: cursor has no canonical counterpart",
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
update_translation: "no-canonical-contract",
|
|
282
|
-
install_extension: "no-canonical-contract",
|
|
283
|
-
update_extension: "no-canonical-contract",
|
|
288
|
+
create_cdc_subscription: "contract-narrower-than-tool: payload_mode \u2014 the createCdcSubscription handler never forwards it, so a snapshot subscription would be created as reference",
|
|
289
|
+
// Skill and canonical contract both exist and accept the advertised arguments,
|
|
290
|
+
// but the skill's handler skips checks the REST route applies. Routing would
|
|
291
|
+
// add HITL and remove those checks, so these stay on REST until the handler
|
|
292
|
+
// carries them.
|
|
293
|
+
create_flow: "skill-weaker-than-rest: createFlow skips the active-graph validation and schedule-cron check of POST /flows and never sets nextRunAt, so an active schedule flow would never fire",
|
|
294
|
+
install_extension: "skill-weaker-than-rest: installExtension skips the bundle signature check, the reserved lumibase-* namespace check and the per-action extensions:* permission probes of POST /extensions",
|
|
295
|
+
update_extension: "skill-weaker-than-rest: updateExtension skips the per-action extensions:* permission probes, the unverified-official enable refusal, sandbox cache eviction and CDC subscription sync of PATCH /extensions/:id",
|
|
284
296
|
// No skill at all: nothing to route to. Listed so the set is closed.
|
|
285
297
|
add_policy_permission: "no-skill",
|
|
286
298
|
apply_access_import: "no-skill",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lumibase/mcp-server",
|
|
3
|
-
"version": "1.0.0-rc.
|
|
3
|
+
"version": "1.0.0-rc.3",
|
|
4
4
|
"description": "LumiBase MCP server — lets AI assistants manage the full LumiBase Content OS: collections, fields, items, relations, RBAC (roles/policies/permissions/API keys), users & teams, intents, flows, webhooks, translations & translation memory, search, media & transform presets, read-only insights, presets, editorial workflow, content releases, share links, read-only deployments, extensions, and site administration.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -27,13 +27,13 @@
|
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
30
|
-
"zod": "^4.5
|
|
30
|
+
"zod": "^4.6.5"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
|
-
"@types/node": "^26.
|
|
33
|
+
"@types/node": "^26.6.2",
|
|
34
34
|
"tsup": "^8.5.1",
|
|
35
35
|
"typescript": "^5.6.2",
|
|
36
|
-
"vitest": "^5.0.
|
|
36
|
+
"vitest": "^5.0.1"
|
|
37
37
|
},
|
|
38
38
|
"files": [
|
|
39
39
|
"dist"
|