Skip to content

chore(deps)!: bump mcp-toolsets-runtime to 0.8.0 - #26

Merged
ciaransweet merged 1 commit into
mainfrom
chore/runtime-0.8.0
Aug 25, 2026
Merged

chore(deps)!: bump mcp-toolsets-runtime to 0.8.0#26
ciaransweet merged 1 commit into
mainfrom
chore/runtime-0.8.0

Conversation

@ciaransweet

Copy link
Copy Markdown
Contributor

0.8.0 removes Kind and everything that resolved a parameter by type, and
lengthens a state key from <toolset>/<field> to <toolset>/<tool>/<field>.

No code changed. Nothing in this repo ever tagged a Kind, so the whole
cost was documentation — but it was a real cost, because the README explained
the old model at length and every state key it quoted is now wrong.

The pin

mcp-toolsets-runtime[web]<0.8.0,>=0.7.0<0.9.0,>=0.8.0, re-locked.
uv.lock is a shared build input, so merging redeploys all three toolsets and
the chat.

The README

Rewritten around what replaced Kind: the three-part key is the whole
contract — there is no type to agree on, the producer names the value and a
consumer names the same key — and NotAuthored is a constraint rather than a
type, saying only that a model must not write this value.

One claim in the old text was not merely stale but inverted. It said /health
reports state.produces as the list of distinct kinds, so the [] you see
means "nothing is tagged". Read off a running stac-explorer on 0.8.0:

"produces": [
  {"tool": "search_collections", "field": "collections",
   "state_key": "stac-explorer/search_collections/collections"},
  {"tool": "show_map", "field": "collection",  "state_key": "stac-explorer/show_map/collection"},
  {"tool": "show_map", "field": "tile_url",    "state_key": "stac-explorer/show_map/tile_url"}
],
"not_authored": []

produces is one entry per published data key and is not empty. not_authored
is the [], and that is the field meaning "nothing is tagged". The sample
handle annotation was obtained the same way rather than transcribed.

The paragraph explaining receipts on a parameter filled by declaration is
gone, because that path no longer exists — a value reaches a tool only because
the model wrote an @state: handle.

Checks

18 tests and ./scripts/lint clean against the published wheel, plus a live
mcp-serve for the /health shape above. The three per-toolset docker builds
are the ones that matter here: they catch 0.8.0 failing to resolve under
uv sync --package <toolset>, which the workspace venv cannot.

🤖 Generated with Claude Code

0.8.0 removes `Kind` and everything that resolved a parameter by type, and
lengthens a state key from `<toolset>/<field>` to `<toolset>/<tool>/<field>`.
Nothing here tagged a `Kind`, so no code changes — but the README documented
the old model at length, and the keys it quoted are now wrong.

Rewritten around what actually replaced it: the key is the whole contract,
and `NotAuthored` is a constraint rather than a type — it says a model must
not write this value, and an `mcp_state` client narrows the parameter to a
reference. The `/health` claim is checked against a running `stac-explorer`,
which now reports three `state.produces` entries rather than the `[]` of
distinct kinds the old text explained.

18 tests and ./scripts/lint clean against the wheel.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@ciaransweet
ciaransweet merged commit 6dff899 into main Aug 25, 2026
7 checks passed
@ciaransweet
ciaransweet deleted the chore/runtime-0.8.0 branch August 25, 2026 08:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant