Context
Depends on #35 (cesiumjs-mcp gateway package). Once the gateway exists as a buildable package, publishing it to npm removes the last remaining friction blocker from #34 -- users no longer need to clone the repo or run a build.
Current state (after #35)
Users still need to:
- Clone the repo
- Run
pnpm install && pnpm run build
- Point their config at an absolute local path
Goal
Once published, the entire setup becomes:
{
"cesium": {
"type": "stdio",
"command": "npx",
"args": ["-y", "cesiumjs-mcp@latest"]
}
}
No clone. No build. No absolute paths.
Proposed Implementation
1. Package configuration (servers/gateway/package.json)
- Set
"name": "cesiumjs-mcp" and "version": "1.0.0"
- Add a
"bin" entry pointing at the compiled entry point
- Add
"files" array to include only the build/ output
- Set
"publishConfig": { "access": "public" }
2. GitHub Actions publish workflow (.github/workflows/publish-cesiumjs-mcp.yml)
Trigger: push of a tag matching cesiumjs-mcp@*
Steps:
- Checkout
- Setup Node 22 + pnpm
pnpm install
pnpm run build (shared + gateway only)
npm publish --workspace servers/gateway
3. Version strategy
Follow the existing monorepo pattern -- gateway version is independent of domain server versions. Each domain package can still be published or kept private separately.
Acceptance Criteria
Out of Scope
- Publishing individual domain packages (
@cesium-mcp/camera-server, etc.)
- Semantic release or automated changelog (can be a follow-up)
Context
Depends on #35 (cesiumjs-mcp gateway package). Once the gateway exists as a buildable package, publishing it to npm removes the last remaining friction blocker from #34 -- users no longer need to clone the repo or run a build.
Current state (after #35)
Users still need to:
pnpm install && pnpm run buildGoal
Once published, the entire setup becomes:
{ "cesium": { "type": "stdio", "command": "npx", "args": ["-y", "cesiumjs-mcp@latest"] } }No clone. No build. No absolute paths.
Proposed Implementation
1. Package configuration (
servers/gateway/package.json)"name": "cesiumjs-mcp"and"version": "1.0.0""bin"entry pointing at the compiled entry point"files"array to include only thebuild/output"publishConfig": { "access": "public" }2. GitHub Actions publish workflow (
.github/workflows/publish-cesiumjs-mcp.yml)Trigger: push of a tag matching
cesiumjs-mcp@*Steps:
pnpm installpnpm run build(shared + gateway only)npm publish --workspace servers/gateway3. Version strategy
Follow the existing monorepo pattern -- gateway version is independent of domain server versions. Each domain package can still be published or kept private separately.
Acceptance Criteria
npx -y cesiumjs-mcp@lateststarts the gateway without a local clonecesiumjs-mcpcesiumjs-mcp@x.y.ztag pushREADME.mdupdated to show thenpxone-liner as the primary setup pathOut of Scope
@cesium-mcp/camera-server, etc.)