Skip to content

feat: add support for generating an mcpb package MCP-126#1126

Open
nirinchev wants to merge 5 commits intomainfrom
ni/mcpb
Open

feat: add support for generating an mcpb package MCP-126#1126
nirinchev wants to merge 5 commits intomainfrom
ni/mcpb

Conversation

@nirinchev
Copy link
Copy Markdown
Collaborator

Proposed changes

This adds support for generating an .mcpb package (the new .dxt). I've tested it with Claude desktop on macOS and it worked just fine.

Copilot AI review requested due to automatic review settings May 1, 2026 17:34
@nirinchev nirinchev requested a review from a team as a code owner May 1, 2026 17:34
@nirinchev nirinchev requested review from gagik and removed request for a team May 1, 2026 17:34
@nirinchev nirinchev changed the title feat: add support for generating an mcpb package feat: add support for generating an mcpb package MCP-126 May 1, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds support for building and publishing an .mcpb desktop-extension package for the MCP server, including CI automation and a packaging manifest.

Changes:

  • Introduces an mcpb build/validate script plus a small unit test suite and vitest project wiring.
  • Adds packaging/mcpb manifest/entrypoint/icon assets and keeps manifest version synced with package.json.
  • Updates CI workflows to validate/build .mcpb and attach artifacts to GitHub releases.

Reviewed changes

Copilot reviewed 12 out of 15 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
vitest.config.ts Adds a dedicated vitest project for the mcpb build-script tests.
src/transports/stdio.ts Simplifies stdio runner startup by removing redundant local error handling.
scripts/updatePackageVersion.ts Updates .mcpb manifest version alongside generated packageInfo.ts.
scripts/createMcpb.ts Implements staging/install/pack flow for producing .mcpb artifacts.
scripts/createMcpb.test.ts Adds initial unit tests around staging package.json generation.
pnpm-lock.yaml Locks new dependencies (@anthropic-ai/mcpb, type-fest) and transitives.
packaging/mcpb/server/index.js Adds the .mcpb server entrypoint that loads built dist output.
packaging/mcpb/manifest.json Adds the .mcpb manifest (runtime, env wiring, user config schema).
packaging/mcpb/icon.png Adds the .mcpb icon asset.
package.json Adds build/validate scripts for .mcpb and required deps.
knip.json Marks the .mcpb server entrypoint as an entry for unused-code scanning.
.prettierignore Excludes the .mcpb manifest from prettier formatting.
.gitignore Ignores .mcpb build output directories.
.github/workflows/publish.yml Builds .mcpb during publish and attaches it to the GitHub release.
.github/workflows/mcpb.yml Adds a workflow to validate/build .mcpb and optionally upload artifacts.
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

Comment thread scripts/createMcpb.ts Outdated
Comment thread scripts/createMcpb.test.ts
Comment thread package.json
Comment thread scripts/createMcpb.ts Outdated
Comment thread scripts/createMcpb.ts Outdated
Comment thread scripts/createMcpb.ts
Comment thread scripts/createMcpb.ts Outdated
Comment thread scripts/createMcpb.ts
Comment thread package.json
@coveralls
Copy link
Copy Markdown
Collaborator

coveralls commented May 1, 2026

Coverage Report for CI Build 25228128689

Warning

No base build found for commit 949dbcd on main.
Coverage changes can't be calculated without a base build.
If a base build is processing, this comment will update automatically when it completes.

Coverage: 81.774%

Details

  • Patch coverage: 3 uncovered changes across 1 file (0 of 3 lines covered, 0.0%).

Uncovered Changes

File Changed Covered %
src/transports/stdio.ts 3 0 0.0%

Coverage Regressions

Requires a base build to compare against. How to fix this →


Coverage Stats

Coverage Status
Relevant Lines: 3665
Covered Lines: 3190
Line Coverage: 87.04%
Relevant Branches: 2299
Covered Branches: 1687
Branch Coverage: 73.38%
Branches in Coverage %: Yes
Coverage Strength: 172.77 hits per line

💛 - Coveralls

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants