bantamkit-mcp 0.34.3 → 0.35.0
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 +10 -5
- package/assets/tools/shiftwork_plan.json +25 -0
- package/assets/tools/work_plan.json +49 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@ store, JSON Schema validation and shift-work tools. Install it from **npm** with
|
|
|
5
5
|
command, connect it to **Claude Code**, **Claude Desktop**, **Cursor** or **GitHub Copilot in VS
|
|
6
6
|
Code**, and every later launch starts **offline**. No Python, `pip`, `uv`, `pipx` or venv.
|
|
7
7
|
|
|
8
|
-
It serves the same
|
|
8
|
+
It serves the same fourteen tools, `bantamkit_status` prompt and two resource templates as the
|
|
9
9
|
Python server on **PyPI** (`pip install "bantamkit[mcp]"`), and reads and writes the same memory
|
|
10
10
|
store. The two are compared frame by frame: 8,130 conformance cases on 2026-09-15, with every
|
|
11
11
|
intentional difference written down as a ruling.
|
|
@@ -50,9 +50,9 @@ npx -y bantamkit-mcp@latest --install claude # or claude-desktop, copilot, cur
|
|
|
50
50
|
From 0.34.0 this runs `npm install --prefix ~/.bantamkit/mcp` once (Windows:
|
|
51
51
|
`%USERPROFILE%\.bantamkit\mcp`, not measured) and records
|
|
52
52
|
`<the node that ran it> ~/.bantamkit/mcp/node_modules/bantamkit-mcp/dist/cli.js`, both absolute.
|
|
53
|
-
No later launch needs npx, the registry or your PATH. Measured from the published 0.34.0
|
|
54
|
-
|
|
55
|
-
cut.
|
|
53
|
+
No later launch needs npx, the registry or your PATH. Measured from the published 0.34.0
|
|
54
|
+
(served-tools: dated — the surface was twelve then): install exit 0 in 8.14 s; the recorded
|
|
55
|
+
command then served 12 tools in 0.09 s with the network cut.
|
|
56
56
|
|
|
57
57
|
- **`@latest` matters:** without it npx may reuse an older cached resolve.
|
|
58
58
|
- **It skips npm when the kept install already reports this version or a newer one.** It never
|
|
@@ -235,10 +235,15 @@ startup. In Claude Code: `/mcp` → reconnect. In Claude Desktop: a full restart
|
|
|
235
235
|
**Verify with `bantamkit_status`, not the install log.** It reports the version and the
|
|
236
236
|
`build_id` of *the code that is answering you*:
|
|
237
237
|
|
|
238
|
+
*(A capture from 0.30.0. The version and build-digest bytes are left as a dated transcript
|
|
239
|
+
rather than hand-edited to a number nobody ran; **line 3 is the exception and tracks the
|
|
240
|
+
surface**, for the reason `docs/status.md` gives — the tool count is a live claim this repo
|
|
241
|
+
gates against a running server, and a marker would only hide it from that gate.)*
|
|
242
|
+
|
|
238
243
|
```
|
|
239
244
|
bantamkit Active 🟢
|
|
240
245
|
version 0.30.0, build sha256:4441619d…
|
|
241
|
-
serving
|
|
246
|
+
serving 14 tools, 1 prompt, 2 resource templates
|
|
242
247
|
```
|
|
243
248
|
|
|
244
249
|
A version that moved and a `build_id` that did not means you are reading a config, not a process.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "shiftwork_plan",
|
|
3
|
+
"description": "Shift-work plan: read-only batch view of a checkpoint — which units its `depends_on` graph permits to run in parallel. Answers `{\"result\": \"plan\", \"batches\", \"ready\", \"sequence\", \"width\", \"cursor\"}`: `ready` is `batches[0]`, the units dispatchable right now, and `width` is the largest batch length, the widest fan-out. Units with status `done` or `dropped` are satisfied — dropped from the graph, and edges pointing at them treated as already resolved; `todo`, `in_progress` and `blocked` stay in it. Every unit has priority 0, because the checkpoint schema has no priority field, so order inside a batch is `plan.units` order. Same refusal sentences as `work_plan` for a duplicate id, an unknown dependency or a cycle, and the same refusals `shiftwork_status` gives for a checkpoint it cannot read. It reports what the dependency graph permits; it does not move the cursor, which is echoed unchanged so the single-pointer contract and the batch view can be read side by side. An orchestrator stays responsible for what it actually dispatches: `depends_on` encodes logical order, not file contention. Never mutates.",
|
|
4
|
+
"surfaces": [
|
|
5
|
+
"mcp"
|
|
6
|
+
],
|
|
7
|
+
"parameters": {
|
|
8
|
+
"properties": {
|
|
9
|
+
"checkpoint": {
|
|
10
|
+
"title": "Checkpoint",
|
|
11
|
+
"type": "string"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"required": [
|
|
15
|
+
"checkpoint"
|
|
16
|
+
],
|
|
17
|
+
"type": "object",
|
|
18
|
+
"title": "shiftwork_planArguments"
|
|
19
|
+
},
|
|
20
|
+
"output_schema": {
|
|
21
|
+
"type": "object",
|
|
22
|
+
"additionalProperties": true,
|
|
23
|
+
"title": "shiftwork_planDictOutput"
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "work_plan",
|
|
3
|
+
"description": "Work plan: turn a dependency graph into the batches that may run in parallel. Takes `nodes`, each `{id, depends_on, priority}` — `priority` defaults to 0 — and answers `{\"result\": \"plan\", \"batches\", \"sequence\", \"width\"}`: batch k holds every node whose dependencies all appear in batches below k, `sequence` is those batches flattened in order, and `width` is the largest batch length — the widest fan-out, which is the number an orchestrator needs to decide whether it can afford the batch. Order inside a batch is priority descending, then the order the nodes were given; both halves are contract, because determinism inside a batch is what two implementations are held to. Empty `nodes` is an ANSWER, not a refusal: no batches, no sequence, width 0. Three refusals, checked in this order and one sentence each: `duplicate node id <id>`, `node <id> depends on <dep>, which no node declares`, and `the graph has a cycle: <a> -> <b> -> <a>`. It reports what the graph permits and decides nothing about what may actually be dispatched together — `depends_on` encodes logical order, not file contention, so a batch this tool calls parallel may still hold work that writes one file. Pure computation over the nodes it was handed: it opens no file and takes no path. Never mutates.",
|
|
4
|
+
"surfaces": [
|
|
5
|
+
"mcp"
|
|
6
|
+
],
|
|
7
|
+
"parameters": {
|
|
8
|
+
"properties": {
|
|
9
|
+
"nodes": {
|
|
10
|
+
"title": "Nodes",
|
|
11
|
+
"type": "array",
|
|
12
|
+
"items": {
|
|
13
|
+
"type": "object",
|
|
14
|
+
"properties": {
|
|
15
|
+
"id": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"description": "The node's identifier, unique across `nodes`"
|
|
18
|
+
},
|
|
19
|
+
"depends_on": {
|
|
20
|
+
"type": "array",
|
|
21
|
+
"items": {
|
|
22
|
+
"type": "string"
|
|
23
|
+
},
|
|
24
|
+
"description": "Ids this node waits for; every one of them must be declared by some node"
|
|
25
|
+
},
|
|
26
|
+
"priority": {
|
|
27
|
+
"type": "integer",
|
|
28
|
+
"description": "Tie-break inside a batch, descending. Optional; 0 when absent"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"required": [
|
|
32
|
+
"id",
|
|
33
|
+
"depends_on"
|
|
34
|
+
]
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
"required": [
|
|
39
|
+
"nodes"
|
|
40
|
+
],
|
|
41
|
+
"type": "object",
|
|
42
|
+
"title": "work_planArguments"
|
|
43
|
+
},
|
|
44
|
+
"output_schema": {
|
|
45
|
+
"type": "object",
|
|
46
|
+
"additionalProperties": true,
|
|
47
|
+
"title": "work_planDictOutput"
|
|
48
|
+
}
|
|
49
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bantamkit-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.35.0",
|
|
4
4
|
"description": "Memory MCP server for Claude Code, Cursor, VS Code Copilot and Claude Desktop: per-person memory, JSON Schema validation, shift-work tools. Pure Node; install once with npx, run offline.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"mcp",
|