chore(mcp): name the removal target -- v0.85.0, end of August 2026 (#390) - #553
Merged
Conversation
) The MCP passthrough has been deprecated since 0.74.0, but the notice said only "will be removed in a future release". That gives nobody anything to plan against, and the deprecation had run twelve days at the time of writing. Every surface that mentions it now quotes the same two constants -- the `tool call` per-tool warning, the `tool list` banner, `kbagent context`, gotchas.md, commands-reference.md, keboola-expert.md and the CLAUDE.md command list -- so the version and the date cannot drift apart. The constants live in mcp_parity.py rather than constants.py, which is otherwise their natural home. mcp_parity.py must stay stdlib-only and standalone-importable: scripts/check_mcp_parity.py loads it by file path so the weekly canary runs on a bare python3, and constants.py imports httpx. Putting them there turned `make parity-check` red -- verified, hence the comment warning the next reader off "fixing" it. Readiness for phase 3 is otherwise green: all six port issues (#392-#397) are closed and `make parity-check` reports 39 upstream tools against 39 parity-map entries, so every tool has a native command today. Called out separately in the changelog: `agent --type mcp_tool` tasks are persisted in <config_dir>/agents.json. Unlike an interactive `tool call` they get no warning at removal time -- they simply start failing on their next cron tick -- so they need migrating to `--type cli_command` before v0.85.0.
Devin review of #553. MCP_TOOL_ACTION_DEPRECATION was the one user-facing notice left saying only "deprecated" -- and it is the surface where the date matters most. An interactive `tool call` warns on every invocation right up to removal; a scheduled task is written to agents.json once and then runs unattended, so creation time is the only moment its owner is present to hear the deadline. The 0.80.0 changelog entry makes exactly that argument, then the warning it refers to did not carry the date. Added a test class pinning all four warning surfaces to the same version, plus an AST check that mcp_parity.py stays stdlib-only and relative-import-free -- the constraint I broke earlier in this PR, so it is now enforced rather than remembered.
15 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The MCP passthrough has been deprecated since 0.74.0, but the notice said only
"will be removed in a future release". That gives nobody anything to plan
against, and the deprecation had run twelve days at the time of writing.
Every surface that mentions it now quotes the same two constants -- the
tool callper-tool warning, thetool listbanner,kbagent context,gotchas.md, commands-reference.md, keboola-expert.md and the CLAUDE.md command
list -- so the version and the date cannot drift apart.
The constants live in mcp_parity.py rather than constants.py, which is
otherwise their natural home. mcp_parity.py must stay stdlib-only and
standalone-importable: scripts/check_mcp_parity.py loads it by file path so the
weekly canary runs on a bare python3, and constants.py imports httpx. Putting
them there turned
make parity-checkred -- verified, hence the commentwarning the next reader off "fixing" it.
Readiness for phase 3 is otherwise green: all six port issues (#392-#397) are
closed and
make parity-checkreports 39 upstream tools against 39 parity-mapentries, so every tool has a native command today.
Called out separately in the changelog:
agent --type mcp_tooltasks arepersisted in <config_dir>/agents.json. Unlike an interactive
tool calltheyget no warning at removal time -- they simply start failing on their next cron
tick -- so they need migrating to
--type cli_commandbefore v0.85.0.