Millrace Mirror

Pull-through caching without a surprise bill.

1.14.2 Rust · Apache-2.0 for the client, commercial for the server

Install

Container
docker run -p 8080:8080 registry.mcp-registry.de/mirror:stable
Point a client at it
npm config set registry https://registry.mcp-registry.de/npm/
Verify
curl -fsS https://registry.mcp-registry.de/health

Background

The server is a single binary with an embedded store, or an S3-compatible backend if you prefer. There is no cluster to operate and no message queue in the path between a build and the artefact it needs.

What it does

Checksum enforcement

Artefacts whose checksum does not match the upstream metadata are rejected and the attempt is logged.

Pull-through caching

First request fetches from upstream and stores; every later request is served locally. No pre-seeding step and no sync job to schedule.

Air-gapped export

Produce a signed bundle of everything a project needs and import it on a disconnected network.

Allow and deny lists

Restrict which upstream namespaces may be proxied at all, per project.

Provenance record

Upstream URL, fetch timestamp, checksum and requesting project, queryable through the API and exportable.

Read the documentation