feat: add MCP server packaging checks to /review and /ship#579
Open
kalraakshit042 wants to merge 1 commit into
Open
feat: add MCP server packaging checks to /review and /ship#579kalraakshit042 wants to merge 1 commit into
kalraakshit042 wants to merge 1 commit into
Conversation
Adds an "MCP Server Packaging" section to the review checklist and a Glama sync reminder to the ship workflow, based on failure patterns encountered when publishing an MCP server to Glama. review/checklist.md: - Flag package.json exports pointing to src/ instead of dist/ (AUTO-FIX) - Flag ESM imports missing .js extensions under NodeNext resolution (AUTO-FIX) - Flag moduleResolution: "bundler" on standalone Node.js MCP packages (ASK) - Flag missing or malformed glama.json (AUTO-FIX) ship/SKILL.md.tmpl (+ regenerated SKILL.md): - Step 8.25: after PR creation, check for glama.json and remind user to hit Sync in the Glama UI — Docker layer cache won't auto-update
kalraakshit042
force-pushed
the
feat/mcp-packaging-checks
branch
from
March 27, 2026 17:06
4779b75 to
3e9414c
Compare
time-attack
pushed a commit
to time-attack/gstack
that referenced
this pull request
Jul 14, 2026
time-attack
pushed a commit
to time-attack/gstack
that referenced
this pull request
Jul 14, 2026
The garrytan#579 packaging checks prescribed creating glama.json for any new MCP server, pushing one vendor's registry onto users. The manifest check now fires only when the project already publishes to a registry. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Contributor
|
Thanks for this. The change couples generic Node packaging advice to vendor-specific Glama guidance, and the proposed Glama schema requirement is not established. Split the concerns, make Node checks conditional on the actual runtime contract, correct the Glama wording, and add representative schema and build fixtures. |
time-attack
pushed a commit
to time-attack/gstack
that referenced
this pull request
Jul 22, 2026
garrytan#452 Three reviewed bug-fix overlays (MCP-packaging review, office-hours inline approval doc, host-neutral ## Review calibration), pinned set 22 -> 25 with executable regression fixtures. garrytan#1241 (compact AUQ preamble) held back: it drifts 43 baseline-render oracle hashes and needs a separate provenance call. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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
Adds MCP server packaging checks to `/review` and a Glama sync reminder to `/ship`, based on failure patterns hit when publishing a Node.js MCP server to Glama. Every pattern here caused a real build failure.
`review/checklist.md` — new "MCP Server Packaging" section (Pass 2, Informational)
`ship/SKILL.md.tmpl` — new Step 8.25 (conditional)
After PR creation, checks for `glama.json` and prints a one-line reminder to hit Sync in the Glama UI. Glama caches Docker layers aggressively and won't pick up new commits automatically.
Evidence
All four issues were found on a real production MCP server (https://github.com/kalraakshit042/ai-compass):
Wrong exports path — `package.json` had `"default": "./src/index.ts"`. Glama's Docker build ran the compiled output and got: `Cannot find module '/app/packages/core/src/recommend'`. Fix: change to `"./dist/index.js"`.
Missing `.js` extensions — `tsconfig.json` used `"moduleResolution": "bundler"` which resolved extensionless imports locally. After switching to `NodeNext` for the Docker build: `Cannot find module '/app/packages/core/dist/recommend'`. Fix: add `.js` to every relative import.
Glama Docker cache — After fixing both above and pushing a new commit, Glama still ran the old build from cached layers. No error message — just silently wrong behavior. Fix: hit the "Sync" button in the Glama UI.
Test plan
🤖 Generated with Claude Code