@ductape/mcp 0.2.12 → 0.2.13
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 +1 -0
- package/dist/index.js +13 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
## Unreleased
|
|
8
8
|
|
|
9
|
+
- Mark `ductape_function_setup` as read-only, non-destructive, idempotent, and closed-world in both MCP registration APIs so hosts do not incorrectly require mutation approval for its pure setup-plan generation.
|
|
9
10
|
- Broadened Feature guidance from durable/event-driven workflows to synchronous or asynchronous named product capabilities.
|
|
10
11
|
- Added evidence-backed `FEATURE`, `FEATURE_STEP`, `DOMAIN_SERVICE`, `UTILITY`, and `INFRASTRUCTURE_ADAPTER` classification guidance.
|
|
11
12
|
- Added synchronous multi-step examples and repository discovery/grouping rules.
|
package/dist/index.js
CHANGED
|
@@ -1468,6 +1468,15 @@ const portableFunctionSetupInputSchema = z.object({
|
|
|
1468
1468
|
version: z.string().min(1).describe('Contract version.'),
|
|
1469
1469
|
operations: z.array(z.string().min(1)).min(1).describe('Operation names that must be registered and exposed.'),
|
|
1470
1470
|
});
|
|
1471
|
+
// This tool only derives setup instructions from its arguments. It performs no network request,
|
|
1472
|
+
// filesystem write, process launch, registration, deployment, or infrastructure provisioning.
|
|
1473
|
+
// Declare that explicitly so MCP hosts do not send it through mutation approval workflows.
|
|
1474
|
+
const portableFunctionSetupAnnotations = {
|
|
1475
|
+
readOnlyHint: true,
|
|
1476
|
+
destructiveHint: false,
|
|
1477
|
+
idempotentHint: true,
|
|
1478
|
+
openWorldHint: false,
|
|
1479
|
+
};
|
|
1471
1480
|
const migrationInputSchema = z.object({
|
|
1472
1481
|
source: z.string().describe('Absolute path to the existing codebase.'),
|
|
1473
1482
|
e2e_baseline: z.string().describe('Absolute path to a passing migration-e2e baseline manifest created before migration inspection.'),
|
|
@@ -5223,10 +5232,12 @@ async function main() {
|
|
|
5223
5232
|
}, eventsDiscoveryHandler);
|
|
5224
5233
|
server.registerTool('ductape_function_setup', {
|
|
5225
5234
|
title: 'Ductape Portable Function Setup',
|
|
5226
|
-
description: '
|
|
5235
|
+
description: 'Read-only: generate (without applying) the mandatory secure local + remote runtime setup for application functions used by Features. ' +
|
|
5236
|
+
'This tool performs no network requests, writes, registrations, deployments, or infrastructure provisioning. ' +
|
|
5227
5237
|
'Use this only after a primitives-first decomposition proves residual application-owned logic remains. The result requires a registered local handler, ' +
|
|
5228
5238
|
'a deterministic HTTPS endpoint, raw-body HMAC verification, runtime checks, and fail-closed behavior.',
|
|
5229
5239
|
inputSchema: portableFunctionSetupInputSchema,
|
|
5240
|
+
annotations: portableFunctionSetupAnnotations,
|
|
5230
5241
|
}, portableFunctionSetupHandler);
|
|
5231
5242
|
server.registerTool('ductape_redis_setup', {
|
|
5232
5243
|
title: 'Ductape Local Redis Setup',
|
|
@@ -5361,7 +5372,7 @@ async function main() {
|
|
|
5361
5372
|
server.tool('ductape_schema', schemaInputSchema.shape, schemaHandler);
|
|
5362
5373
|
server.tool('ductape_docs', docsInputSchema.shape, docsHandler);
|
|
5363
5374
|
server.tool('ductape_events_discover', eventsDiscoveryInputSchema.shape, eventsDiscoveryHandler);
|
|
5364
|
-
server.tool('ductape_function_setup', portableFunctionSetupInputSchema.shape, portableFunctionSetupHandler);
|
|
5375
|
+
server.tool('ductape_function_setup', portableFunctionSetupInputSchema.shape, portableFunctionSetupAnnotations, portableFunctionSetupHandler);
|
|
5365
5376
|
server.tool('ductape_redis_setup', redisSetupInputSchema.shape, redisSetupHandler);
|
|
5366
5377
|
server.tool('ductape_migration_plan', migrationInputSchema.shape, migrationHandler);
|
|
5367
5378
|
server.tool('ductape_cli', cliInputSchema.shape, cliHandler);
|