Add "Toolset" as canonical deployment property#170
Merged
Conversation
Introduce "Toolset" as the top-level canonical name for the MCP server baked into an AgentToolsDeployment record. "Server" was overloaded in this codebase (MCPServerObject / StartMCPServer / InstallMCPServer vs. the per-deployment field that identifies which server was deployed), and the ambiguity shows up in code review and docs. New deployments write a top-level "Toolset" -> name. The legacy "MCP"/"Server" key is still dual-written so existing consumers keep working, and the new dep["Toolset"] accessor falls back through data["MCP", "Server"] for legacy WXF records already on disk. The "Server" property shortcut is retained unchanged for backward compatibility. - Route MCPServerObject/Tools/LLMConfiguration accessors through Toolset - Switch deleteDeployment's UninstallMCPServer call to dep["Toolset"] - Summary formatting row renamed Server -> Toolset - Added legacy-fallback, Properties-list, dual-write, and on-disk WXF tests (108 tests, all passing)
Formatting.wl now renders the deployment summary row as "Toolset"; the Specs/DeployAgentTools.md Formatting section was still listing "Server" as a summary row. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR clarifies the deployment record schema by introducing "Toolset" as the canonical top-level property name for the deployed MCP server within AgentToolsDeployment, while preserving legacy compatibility via the existing "MCP" -> "Server" key and the "Server" shortcut property.
Changes:
- Add
"Toolset"as a new canonicalAgentToolsDeploymentproperty with legacy fallback throughdata["MCP","Server"]. - Route derived accessors (
"MCPServerObject","Tools","LLMConfiguration") and uninstall behavior through"Toolset". - Update formatting and documentation/specs, and extend tests to cover fallback + dual-write + on-disk WXF persistence.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| docs/deploy-agent-tools.md | Documents "Toolset" as canonical and "Server" as legacy shortcut; updates related property descriptions. |
| Specs/DeployAgentTools.md | Updates the formal data model, property mapping, delete behavior description, and formatting summary row naming. |
| Kernel/DeployAgentTools.wl | Implements "Toolset" property (with legacy fallback), routes "MCPServerObject"/uninstall through it, and dual-writes "Toolset" on new deployments. |
| Kernel/Formatting.wl | Renames the formatted summary row from Server to Toolset and reads dep["Toolset"]. |
| Tests/DeployAgentTools.wlt | Adds coverage for legacy fallback, properties list membership, dual-write on new deployments, and persisted WXF contents. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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.
Summary
"Toolset"as the top-level canonical name for the MCP server baked into anAgentToolsDeploymentrecord."Server"was overloaded acrossMCPServerObject/StartMCPServer/InstallMCPServer(the actual server) versus the per-deployment field naming which server was deployed, and the ambiguity surfaced in code review and docs."Toolset"-> name. The legacy"MCP" -> "Server"key is still dual-written so existing consumers keep working, anddep["Toolset"]falls back throughdata["MCP", "Server"]for legacy WXF records already on disk. The"Server"property shortcut is retained unchanged for backward compatibility.MCPServerObject/Tools/LLMConfigurationaccessors through"Toolset", switchesdeleteDeployment'sUninstallMCPServercall todep["Toolset"], and renames the formatting summary rowServer->Toolset(with the spec doc updated to match).Propertieslist, dual-write on new deployments, and on-disk WXF round-tripping (108 tests, all passing).Test plan
TestReportonTests/DeployAgentTools.wltpasses (108 tests, including the new legacy-fallback / dual-write / on-disk WXF cases).CodeInspectorclean onKernel/DeployAgentTools.wl,Kernel/Formatting.wl, andTests/DeployAgentTools.wlt.dep["Toolset"]anddep["Server"]both return the server name and the formatted summary row readsToolset.dep["Toolset"]resolves via the legacy"MCP" -> "Server"fallback.🤖 Generated with Claude Code