-
Notifications
You must be signed in to change notification settings - Fork 3.4k
feat: Add MCPB bundle for Claude Desktop installation #1837
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Add Model Context Protocol Bundle (MCPB) support enabling single-click installation in Claude Desktop and other MCP hosts. Changes: - Add manifest.json with server configuration and user_config for all env vars - Add icon.png for display in Claude Desktop - Add .mcpbignore for build exclusions - Add pre-built github-mcp-server-0.28.1.mcpb bundle (31.4MB) Includes binaries for all 6 platform/architecture variants: - darwin-arm64, darwin-x64 - linux-arm64, linux-x64 - win32-arm64, win32-x64 User-configurable options exposed: - GitHub Personal Access Token (required) - Toolsets selection - GitHub Enterprise host - Read-only mode - Dynamic toolsets Addresses github#1470 🤖 Generated with [Claude Code](https://claude.com/claude-code)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds MCPB (Model Context Protocol Bundle) packaging to enable single-click installation of the GitHub MCP Server in Claude Desktop and other MCP hosts. The bundle format is similar to browser or VS Code extensions, packaging the server binaries and configuration into a single distributable file.
Changes:
- Added
manifest.jsonwith MCPB metadata, server configuration, and user-configurable options - Added
icon.pngfor visual display in Claude Desktop - Added
.mcpbignoreto exclude unnecessary files from the bundle - Added pre-built
github-mcp-server-0.28.1.mcpbbundle (31.4MB)
Reviewed changes
Copilot reviewed 2 out of 4 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
| manifest.json | MCPB manifest defining server metadata, binary paths, platform support, environment variables, and user configuration schema |
| icon.png | PNG icon image for display in MCP host applications |
| .mcpbignore | Build exclusion rules specifying which files to omit from the bundle (source code, docs, CI configs, etc.) |
| "entry_point": "bin/darwin-x64/github-mcp-server", | ||
| "mcp_config": { | ||
| "command": "${__dirname}/bin/darwin-x64/github-mcp-server", | ||
| "args": ["stdio"], | ||
| "env": { | ||
| "GITHUB_PERSONAL_ACCESS_TOKEN": "${user_config.github_token}", | ||
| "GITHUB_TOOLSETS": "${user_config.github_toolsets}", | ||
| "GITHUB_HOST": "${user_config.github_host}", | ||
| "GITHUB_READ_ONLY": "${user_config.github_read_only}", | ||
| "GITHUB_DYNAMIC_TOOLSETS": "${user_config.github_dynamic_toolsets}" | ||
| }, | ||
| "platform_overrides": { | ||
| "win32": { | ||
| "command": "${__dirname}/bin/win32-x64/github-mcp-server.exe" | ||
| }, | ||
| "linux": { | ||
| "command": "${__dirname}/bin/linux-x64/github-mcp-server" | ||
| } | ||
| } |
Copilot
AI
Jan 18, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The platform_overrides configuration only handles x64 architectures but the PR description claims "All 6 variants included" (darwin-arm64, darwin-x64, linux-arm64, linux-x64, win32-arm64, win32-x64). The current configuration will fail on ARM64 systems because:
- The default entry_point (line 23) and command (line 25) point to darwin-x64
- platform_overrides only specify win32 and linux without architecture variants
- No overrides exist for ARM64 architectures on any platform
This means ARM64 users will either get an error or the wrong binary will be executed. You need to add architecture-specific overrides or use a more sophisticated platform detection mechanism that handles both OS and architecture combinations.
| { | ||
| "manifest_version": "0.3", | ||
| "name": "GitHub MCP Server", | ||
| "version": "0.28.1", |
Copilot
AI
Jan 18, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The version "0.28.1" appears to be hardcoded and may not match the actual release version. The project uses GoReleaser with version templating (see .goreleaser.yaml line 12 which sets version via ldflags), and server.json uses a VERSION template variable. Consider whether this version should be dynamically set during the build process to ensure consistency across all release artifacts, or document how this version should be maintained when new releases are created.
| "version": "0.28.1", | |
| "version": "VERSION", |
| "tools": [ | ||
| {"name": "get_me", "description": "Get current authenticated user"}, | ||
| {"name": "search_repositories", "description": "Search GitHub repositories"}, | ||
| {"name": "get_repository", "description": "Get repository details"}, | ||
| {"name": "list_issues", "description": "List issues in a repository"}, | ||
| {"name": "create_issue", "description": "Create a new issue"}, | ||
| {"name": "list_pull_requests", "description": "List pull requests"}, | ||
| {"name": "create_pull_request", "description": "Create a pull request"} | ||
| ] |
Copilot
AI
Jan 18, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The tools list only includes 7 sample tools, which is incomplete. According to the project documentation, the GitHub MCP Server provides many more tools across multiple toolsets (repos, issues, pull_requests, users, actions, code_security, etc.). While this might be intentional to show representative examples, it creates a discrepancy between what users see in the manifest and what's actually available. Consider either including all tools or clarifying in the description that this is a partial list.
| "github_host": { | ||
| "type": "string", | ||
| "title": "GitHub Host", | ||
| "description": "For GitHub Enterprise Server (e.g., github.mycompany.com). Leave empty for github.com", |
Copilot
AI
Jan 18, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The description for the GitHub Host configuration could be more specific. The format shown "github.mycompany.com" is missing the required "https://" prefix that the actual server code expects (as documented in the environment variables section). The description should specify the full format: "https://github.mycompany.com" to prevent user configuration errors.
| "description": "For GitHub Enterprise Server (e.g., github.mycompany.com). Leave empty for github.com", | |
| "description": "For GitHub Enterprise Server (must include \"https://\", e.g., https://github.mycompany.com). Leave empty for github.com", |
| "github_token": { | ||
| "type": "string", | ||
| "title": "GitHub Personal Access Token", | ||
| "description": "Create at github.com/settings/tokens with repo scope", |
Copilot
AI
Jan 18, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The GitHub Personal Access Token description "Create at github.com/settings/tokens with repo scope" is incomplete. It doesn't mention that different scopes may be required depending on which toolsets are enabled. For example, the actions toolset requires "actions" scope, code_security requires "security_events" scope, etc. Consider providing a link to comprehensive documentation or listing the common scopes needed.
| "description": "Create at github.com/settings/tokens with repo scope", | |
| "description": "Create at github.com/settings/tokens. At minimum use the repo scope; additional scopes may be required for some toolsets (e.g., actions, security_events). See the README for full scope requirements.", |
|
Until it works cross platform not certain we're going to run with it, but thank you for taking a look. |
|
Thanks for the feedback @SamMorrowDrums! I saw issue #63 and understand the interest in alternative approaches for binary distribution. The current MCPB spec uses How it handles architecture:
Testing:
Bundle size: ~31MB (includes all platform variants) Let me know if you'd like to move forward with this, or if you'd prefer to hold off. Happy to address the other review feedback either way. |
|
@triepod-ai thanks for breaking it down, I mean that's probably tolerable. I do want to see spec improvements, but we can reasonably consider adding this to release artefacts. I'll take a look during the week. |
Summary
Adds Model Context Protocol Bundle (MCPB) support enabling single-click installation in Claude Desktop and other MCP hosts.
Addresses #1470
Changes
manifest.jsonwith server configurationicon.pngfor display in Claude Desktop.mcpbignorefor build exclusionsgithub-mcp-server-0.28.1.mcpbbundle (31.4MB)What is MCPB?
MCPB (MCP Bundle) is a packaging format that enables easy distribution of MCP servers. Similar to browser extensions (.crx) or VS Code extensions (.vsix), users can install the server with a single click.
Bundle Details
Size: 31.4MB (compressed), 89.3MB (unpacked)
Platform support: All 6 variants included:
User-configurable options (via Claude Desktop installation dialog):
Testing
mcpb validate)mcpb pack)Installation
Download the
.mcpbfile and double-click to install in Claude Desktop.Building the Bundle
If you prefer to build from source:
npx @anthropic-ai/mcpb validate manifest.json npx @anthropic-ai/mcpb pack .🤖 Generated with Claude Code