feat(dometrain): split the MCP server into dometrain-mcp - #5213
Conversation
dometrain becomes skills only (0.5.0, breaking): the bundled .mcp.json and the dometrain_api_key option move to the new dometrain-mcp plugin (0.1.0). A user with their own user-scope dometrain server installs dometrain alone and gets no duplicate-server warning; a user with no server installs both. Grounding and setup accept mcp__plugin_dometrain-mcp_dometrain__* and mcp__dometrain__*, and setup names both supported setups when neither is present. The override recipes move to the dometrain-mcp README and now mean "skip dometrain-mcp". Registers the plugin in the marketplace, catalog, and enabledPlugins. Refs #5209 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01H4pw3AKPP9sNePN5qwf9jL
|
PR body contract — issue linkage This PR body does not yet satisfy the issue-linkage contract:
Edit the body and this comment updates itself on the next run. |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Claude finished @kyle-sexton's task in 2m 26s —— View job Claude finished the code review
SummaryReviewed the full diff ( This is a mechanical plugin split (
I did not find a correctness or maintainability defect that clears this lane's high-signal bar (a linter/typechecker-catchable issue, a pre-existing issue on untouched lines, or a style nit don't count, and none of what I found rises above that). No inline comments were posted. Not independently re-run here (author-claimed in the PR body, not verified by this review): the shell script suite ( Branch: |
|
Claude finished @kyle-sexton's task in 1m 31s —— View job Security review (
|
There was a problem hiding this comment.
💡 Codex Review
claude-code-plugins/plugins/dometrain-mcp/.mcp.json
Lines 4 to 6 in 4f87520
Moving the authenticated remote server into this new plugin leaves the security inventory and acceptance record attached to the wrong artifact: docs/migration-playbook.md:894-904 still says dometrain is the only remote-server plugin, while its record at lines 1047-1076 evaluates dometrain and its former userConfig. Consequently, a trust audit of dometrain-mcp finds no record covering its third-party data egress and credential surface; update or repeat that record under the new plugin identity.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
The grounding and setup skills hard-coded the plugin tool prefix, a volatile harness format. They now match the dometrain server segment and tool name in the runtime inventory. The remaining literal prefix lives in the dometrain-mcp README with a basis, as-of date and recheck trigger. Refs #5209 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01H4pw3AKPP9sNePN5qwf9jL
|
Claude finished @kyle-sexton's task in 2m 39s —— View job Security review (
|
|
Claude finished @kyle-sexton's task in 3m 30s —— View job Claude finished the code review
SummaryReviewed the full diff for this PR ( This is the mechanical split of 1 inline finding posted, on a changed line:
Everything else traced cleanly: cross-file anchor links ( Not re-verified independently (author-claimed in the PR body): the shell script suite ( Out of this lane's scope, not re-litigated here: Codex's other finding ( Branch: |
…ching Refs #5209 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01H4pw3AKPP9sNePN5qwf9jL
|
Claude finished @kyle-sexton's task in 1m 19s —— View job Claude finished the code review
SummaryThis is a re-review triggered by the latest push ( The only change in this push is exactly the fix for the one finding raised in the prior round. Commit I re-verified this is the only remaining "prefix" reference that needed to change — a repo-wide I also re-scanned the rest of the diff ( Not re-run here (author-claimed in the PR body, unverified by this review): the shell script suite ( Branch: |
|
Claude finished @kyle-sexton's task in 1m 0s —— View job Security review (
|
Refs #5209
Summary
Implements option 4 of #5209.
dometrainbecomes skills only (grounding, setup, sync) at 0.5.0. The bundled HTTP server (https://mcp.dometrain.com/mcp) and thedometrain_api_keyoption move to a new plugin,dometrain-mcp0.1.0 (optional, sensitive key;defaultEnabled: false).dometrainserver installsdometrainonly: no plugin server at the same endpoint, so no duplicate-server warning.dometrainanddometrain-mcpand keeps the zero-setup path.groundingandsetupacceptmcp__plugin_dometrain-mcp_dometrain__*(plugin) andmcp__dometrain__*(user-scope). With neither present,setupnames both supported setups. The prefix keeps the hyphen, as the live tool list shows fordotnet-msbuild(mcp__plugin_dotnet-msbuild_binlog__*).vault-execoverride recipes moved to thedometrain-mcpREADME and now mean "skipdometrain-mcp".marketplace.json,docs/catalog.md(generated), and.claude/settings.jsonenabledPlugins(false, matchinganimation).docs/cloud-sessions.mdnamesdometrain-mcpas the plugin holding the key.Migration impact for existing
dometrainusersdometrain-mcpand enter the key again there. Claude Code does not carrypluginConfigsbetween plugins. Until then the skills report no server.mcp__plugin_dometrain_dometrain__*needmcp__plugin_dometrain-mcp_dometrain__*.dometrainchangelog and README ("Upgrading from 0.4.x") say this.Verification
Run in the worktree, all passing:
scripts/validate-plugins.sh(all manifests plus strict catalog)scripts/validate-plugin-contracts.mjs(58 setup skills checked)scripts/check-plugin-catalog-enablement.sh --check(failed before theenabledPluginskey, passes after)scripts/check-changelog-parity.sh --check,--check-bump origin/main,--check-orderscripts/check-plugin-manifest-presence.sh --checkscripts/generate-catalog.mjs --check,scripts/sync-plugin-options-docs.py --check,scripts/generate-cheatsheet.mjs(unchanged)scripts/check-skill-count-claims.sh(0 mismatched),scripts/check-purged-em-dashes.sh(none)markdownlint-cli2on the touched markdown (0 issues)check-skill.sh plugins/dometrain/skills(3 pass, 0 errors; warnings only) andcheck-evals-quality.shon the setup evalsNot verified
/pluginmenu behavior was not tested live: that no warning appears withdometrainonly plus a user-scope server, and thatdometrain-mcpplus a user-scope server still warns. Both follow from the documented endpoint matching in the dometrain: user-scope MCP server shadows the plugin's and /plugin shows a warning; pick a supported no-warning setup #5209 comment.docs/architecture/landscape.jsonwas not regenerated; the animation add did not touch it either.Conflict note
Draft #5210 edits the old
dometrainREADME and will conflict with this branch. Its branch is untouched.🤖 Generated with Claude Code
https://claude.ai/code/session_01H4pw3AKPP9sNePN5qwf9jL