
MCP Launcher
https://github.com/moeru-ai/mcp-launcher- Category
- AI Agents
- Rank
- No. 2071Tools index
Previous survey · No. 2066 ·
- Pricing
- Open Source
- Type
- TOOL
- Builder
- moeru-ai
- GitHub
- 46 stars
- Date
About
Easy-to-use MCP builder and launcher for all possible MCP servers — Ollama for MCPs.
What it does
MCP Launcher takes a GitHub repository URL, keeps a local source copy, detects its runtime, generates a Dockerfile, and builds an image. It then creates a Docker container and prints metadata about the repository, image, and container as JSON. A directory flag can target a server nested inside a larger repository.
Why it's ranked here
The core pipeline is concrete and useful: repository intake, runtime detection, image generation, and container creation sit behind one command. However, the implementation stops before starting the container, and the sparse documentation leaves prerequisites and expected output unexplained. Several configuration inconsistencies make it look experimental rather than ready for routine adoption.
What's good
It supports both HTTPS and SSH GitHub URLs, uses shallow clones for new sources, and updates cached repositories. Runtime detection avoids requiring every target project to supply its own Dockerfile. Optional manifests can patch repository JSON after cloning or before building. Structured JSON output makes the resulting repository, image, and container identifiers available to surrounding automation.
Tradeoffs
Repository parsing accepts only two GitHub URL forms. Existing dirty source copies are hard-reset, which can discard local edits. Docker must be available because the build shells out to its command-line client and container creation uses its daemon API. Manifests advertise several file extensions but always parse content as YAML. Their executor handles add and remove patches, not the declared replace operation. The created container is not started.
How to use it well
Use it as an experimental local adapter when you repeatedly turn GitHub-hosted MCP server sources into Docker images, especially when runtime detection and subdirectory selection save manual setup. Keep its source cache disposable because updates can erase changes. Wrap the JSON result in your own automation. It does not replace an MCP client, start the produced container, configure transport, or document how clients should connect.
Technical notes+
cmd/mcp-launcher/main.go contains the Cobra CLI and the full clone, build, and container-create pipeline. It invokes docker build, parses BuildKit raw JSON, then calls Docker's ContainerCreate without starting the container. pkg/manifests/manifests.go recursively loads manifest candidates but sends every format through YAML unmarshalling; execution converts only add and remove operations. pkg/jsonpatch/jsonpatch.go defines replace support, although its apply options parameter is unused. pkg/jsonpatch/jsonpatch_test.go tests add, remove, and replace helpers. .goreleaser.yml references a different project, repository, and command, so it does not describe this binary. Dockerfile provides a Go builder and distroless Debian runtime image.
Observed
- Primary language
- Go, with module language level 1.24.0.
- Interface
- Command-line application accepting one repository URL and an optional subdirectory flag.
- Build surface
- Go module plus a multi-stage container build targeting a distroless Debian runtime image.
- External runtime requirement
- Uses the Docker command-line client for image builds and the Docker API for container creation.
- Repository support
- Accepts GitHub HTTPS URLs and GitHub SSH URLs in the implemented parser.
- Tests
- A focused test file covers JSON patch add, remove, and replace behavior.
- Release configuration
- The release configuration names an unrelated project, repository, and command path.
Read from README.md, go.mod, pkg/utils/mo.go, pkg/jsonpatch/jsonpatch.go, pkg/manifests/manifests.go, internal/contexts/logger.go, internal/contexts/metadata.go, pkg/jsonpatch/jsonpatch_test.go, cmd/mcp-launcher/main.go, Dockerfile, .golangci.yml, .tool-versions, .goreleaser.yml, cspell.config.yaml, .vscode/settings.json.
What it can do
Build MCP servers
Configuration parameters and server specifications → Configured MCP server instance
Launch MCP servers
Built MCP server configuration → Running MCP server process
Manage multiple MCP server instances
Multiple MCP server configurations → Coordinated set of running MCP servers
Discover available MCP servers
Server registry or repository access → List of available MCP server options
Configure MCP server settings
Server parameters and connection details → Customized MCP server configuration
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.