Skip to content

Why a Registry?

You can share an MCP server by putting it on GitHub. People do this every day. So why does mpak exist?

GitHub is great for source code. If you put your MCP server on GitHub, people can:

CapabilityHow
Read the sourceBrowse the repo
Track versionsGit tags and releases
Report issuesGitHub Issues
ContributePull requests
Downloadgit clone

For developers comfortable with git, this works. But “works” and “works well for distribution” are very different things.

NeedGitHubA Registry
Bundled dependenciesUser installs them manuallyVendored in the package
Standardized executionUser figures out how to run itmpak bundle run and done
Cross-repo discoverySearch GitHub, hope for the bestmpak bundle search postgres
Trust signalsStar count (gameable)Provenance, certification, security scanning
Download statsApproximate clone countsExact download numbers
Version resolutionManual tag browsing@org/server@1.2.0 or latest
Platform detectionUser picks the right artifactAutomatic platform matching

The gap between “source available on GitHub” and “users can actually install and run this” is enormous. Every manual step in that gap is a user who gives up.

This pattern has played out before:

  • Before npm, Node.js libraries were GitHub repos you cloned and wired up manually. npm made require('express') just work.
  • Before PyPI, Python packages were tarballs on personal websites. pip made pip install requests just work.
  • Before crates.io, Rust libraries were scattered across GitHub. Cargo made cargo add serde just work.

In every case, a registry solved the same problems: discovery, trust, versioning, and frictionless installation. The ecosystem exploded once sharing became easy.

MCP servers are at the “GitHub repos you clone” stage right now. mpak is the registry that closes the gap.

Docker solves isolation, not distribution. For MCP servers, it’s the wrong tool:

ConcernDockermpak
Size100MB+ images (base OS, runtime, deps)1-10MB bundles (just code + deps)
Runtime requirementDocker Engine must be installedJust Python or Node.js
Startup timeSeconds (container init)Milliseconds (direct process)
ComplexityDockerfile, compose, networkingOne manifest.json
MCP compatibilityRequires stdio proxy configurationNative stdio support

MCP servers are CLI tools that speak JSON-RPC over stdio. They don’t need container isolation, virtual networking, or a separate operating system. Bundling dependencies is enough.

CapabilityHow
DiscoverySearch and browse mpak.dev, or mpak bundle search from the CLI
TrustProvenance proves where bundles came from. Certification grades security posture (L1-L4).
VersioningSemantic versioning with pinning support. Immutable once published.
BundlingDependencies vendored into a single .mcpb file. No installation steps.
EcosystemDownload counts, badges, README rendering, cross-linking between packages