Repository navigation
feat(mcp): runtime tool-pack switching with tools/list_changed - #449
Merged
Merged
Conversation
Add list_tool_packs / set_tool_packs meta-tools so agents can enable or disable domain tool packs mid-session instead of only via the boot-time VCAD_MCP_PACKS env var. - On stdio/persistent transports the change is live: ListTools reflects it immediately and notifications/tools/list_changed is emitted (tools.listChanged capability now advertised). - On the stateless HTTP transport a signed-in user's choice is persisted keyed by user (mcp_tool_packs table / in-memory fake) and re-derived on the next request; anonymous callers fall back to VCAD_MCP_PACKS. - VCAD_MCP_PACKS remains the boot-time default; default with nothing set is still "all packs". Disabled-pack calls still return an actionable error, now naming set_tool_packs. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Supabase's schema_migrations keys on the numeric version prefix: 030 (live_broadcast_gate) and 031 (documents_realtime) landed on main first, so the pack-preferences migration takes the next free slot. Also absorbs #453, clearing the nightly clippy red on this branch. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M5Jh8P571762nh3812kj76
What shippedTwo new tools —
Plain-English summary generated by Choji from this pull request. |
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.
Closes #432
Lets agents enable/disable MCP tool packs at runtime instead of only via the boot-time
VCAD_MCP_PACKSenv var.What
list_tool_packs— packs, per-pack enabled state, and tool count.set_tool_packs— enable/disable by name (enable/disablearrays, orset= array /"all"/"none").notifications/tools/list_changedis emitted (now advertisestools.listChanged).mcp_tool_packstable; in-memory fake for local/anon) and re-derived on the next request. No push notification there — documented.Compatibility
VCAD_MCP_PACKSstill works and remains the boot-time default; default with nothing set is unchanged ("all packs").set_tool_packs.Tests / verification
tool-packs-runtime.test.tsdrives an InMemoryTransport pair (live switch +list_changed) and the stateless-HTTP persistence path via the in-memory store fake.tool-surface.fixture.jsonfor the two new core tools.npm test -w @vcad/mcp(672 pass) andnpm run typecheck -w @vcad/mcpgreen.🤖 Generated with Claude Code