Menu

AI

Custom Docker MCP Catalog: Build an Approved Server List for Your Team

How to build a custom Docker MCP catalog of approved servers, push it to an OCI registry, import it in Docker Desktop and use it with profiles and the MCP Gateway.

By: Irina ShvayaNovember 2, 2026

Custom Docker MCP Catalog: Build an Approved Server List for Your Team

This article is part of The MCP Guide, our plain-English reference on the Model Context Protocol.

A custom Docker MCP catalog is your own list of approved MCP servers, stored as an image in a container registry, that your team imports into Docker Desktop instead of browsing Docker's full catalog. You build it with docker mcp catalog create, add servers, push it with docker mcp catalog push, and teammates pull it with docker mcp catalog pull or the Import catalog button.

It is the Docker way to answer a common IT question: "Which MCP servers are people allowed to use?" This guide explains how custom catalogs work, the commands Docker documents, and how to fit them into an approval process. It was checked against Docker's docs on 2 November 2026; eSEOspace did not run these commands for this article.

Key Takeaways

  • Docker's public catalog lists 300+ servers; a custom catalog shows only the ones you choose.
  • Catalogs are referenced by OCI reference, for example registry.example.com/mcp/my-catalog:latest.
  • You can start from a copy of Docker's catalog or build from scratch with catalog:// and docker:// server references.
  • Creating and managing custom catalogs needs the docker mcp CLI in Docker Desktop 4.62 or later.
  • Teammates import a catalog in Docker Desktop under MCP Toolkit > Catalog > Import catalog.
  • A catalog limits what people see, but you still need a review process and narrow credentials.

Why build a custom catalog

Docker's catalog docs say you can define which servers are available "Instead of exposing all 300+ servers in the Docker catalog." Among the use cases Docker lists: "Restrict which servers your organization approves for use."

Good reasons to build one:

  • Fewer risky choices. Staff pick from servers someone already reviewed.
  • Internal servers. Your own MCP servers, packaged as images, sit next to approved public ones.
  • Consistency. Everyone gets the same versions and settings.
  • Smaller tool lists. Fewer servers means fewer tool definitions in each AI session.

If you have not set up the Toolkit yet, start with our Docker MCP Toolkit setup guide.

How catalogs are stored

Docker's CLI how-to says catalogs are "referenced by OCI reference, for example registry.example.com/mcp/my-catalog:latest." OCI is the open standard behind container images, so any registry that holds images, such as Docker Hub or a private company registry, can hold your catalog.

Servers inside a catalog are referenced in two ways:

  • catalog:// points to a server in another catalog, such as Docker's.
  • docker:// points to a container image, such as your own internal server.

Build a catalog step by step

The commands below come from Docker's CLI docs. Replace registry.example.com/mcp/... with your registry path.

Option A: Start from Docker's catalog

Copy Docker's catalog under your own reference, then trim or add:

docker mcp catalog tag mcp/docker-mcp-catalog registry.example.com/mcp/team-catalog:latest

Option B: Create a new catalog

docker mcp catalog create registry.example.com/mcp/data-tools:latest \
  --title "Data Analysis Tools" \
  --server catalog://<catalog-ref>/<server-id>

Repeat --server to include several servers.

Add, list and remove servers

# Add your own server image
docker mcp catalog server add registry.example.com/mcp/data-tools:latest --server docker://<image>:<tag>

# See what is in the catalog
docker mcp catalog server ls registry.example.com/mcp/data-tools:latest
docker mcp catalog show registry.example.com/mcp/data-tools:latest

# Remove a server
docker mcp catalog server remove registry.example.com/mcp/data-tools:latest --name <server-name>

Docker's docs also show a simple server definition file you can reference with file://:

name: my-server
title: My Server
type: server
image: myimage:latest
description: Description of the server

Publish it

docker mcp catalog push registry.example.com/mcp/data-tools:latest

Make sure your team has pull access to that registry path, and that only the catalog owners can push to it.

Use the catalog on each machine

Teammates import it one of two ways, per Docker's catalog docs:

  • In Docker Desktop: MCP Toolkit > Catalog > Import catalog, enter the OCI reference, then select Import.
  • On the command line:
docker mcp catalog pull registry.example.com/mcp/data-tools:latest

From there, they add servers to a profile and connect their client as usual. The CLI docs also show running the gateway straight from a catalog with docker mcp gateway run --catalog <oci-reference>.

Fit it into an approval process

A catalog is a delivery tool, not a review process. Pair it with a short policy:

  1. Request. Someone asks for a server and explains the job it does.
  2. Review. Check the publisher, license, tools, required scopes and data it touches. Our MCP server risk checklist gives a quick list.
  3. Decide scopes. Note which tools are allowed and which credentials to issue. The tool permission planner helps.
  4. Add and push. Add the server to the catalog with a pinned image tag, then push.
  5. Re-review. Recheck on version updates. Servers can change behavior after approval, as our guide to rug pull attacks explains.

Our playbook on building an approved MCP server list covers the full process.

Naming and versioning tips

Small habits keep a catalog manageable as it grows:

  • One catalog per audience. A "data-tools" catalog for analysts and a "dev-tools" catalog for engineers keep each list short and relevant.
  • Pin image tags. Reference a specific version of each server image rather than latest, so an upstream change cannot reach staff before you review it.
  • Tag catalog releases. Push a new catalog tag when you add or remove servers, and keep a short changelog in the repository that builds it.
  • Write a description per server. Say what it is approved for and which credentials to use. People read this when they choose a server.
  • Name an owner. Every catalog needs one person who approves changes and answers questions.

What a catalog does not do

Be clear with your team about the limits.

  • It does not enforce itself on every device. Docker's catalog and Toolkit pages describe importing and choosing servers, but not a setting that stops someone from using other catalogs. Docker's MCP Gateway docs say its MCP Gateway "as part of Docker AI Governance is an invite-only feature," and Docker sells a separate MCP Enterprise Gateway through sales. For enforced policy, talk to Docker or compare other MCP gateways.
  • It does not cover non-Docker clients. Remote connectors added directly in Claude or ChatGPT bypass Docker entirely.
  • It does not vet code. Docker signs its own catalog images, but your internal images are only as safe as your build process. See MCP supply chain risks.

Next step

Start with five to ten servers your teams already use, pin their versions, and publish the catalog. Then add a request form. If you need internal MCP servers packaged as images for the catalog, our MCP development team can help, and IT leads may want our guide to MCP governance.

More in the MCP Guide

Latest research: State of MCP: October 2026

Frequently asked questions

Do I need Docker Desktop to create a custom catalog?

Docker's docs say creating and managing custom catalogs requires the CLI, and that the docker mcp commands are available in Docker Desktop 4.62 and later. On Linux with Docker Engine only, the gateway docs describe installing the CLI plugin from GitHub releases.

Can I include servers that are not in Docker's catalog?

Yes. Use a docker:// reference to any container image, including your own internal servers.

Where should I host the catalog?

Any OCI-compatible registry you control, such as a private registry your company already uses for container images. Limit push access to the catalog owners.

How is this different from the public MCP Registry?

The MCP Registry is a public metadata list that does not support private servers. A custom Docker catalog is your own private list of approved, containerized servers.

You Might Also like to Read

Get a FREE Website Audit

Enter your website and get a 20–30 page SEO, GEO, AEO & CRO audit within 24 hours. Completely free.

Don't have a site yet? Get in touch →

Ready to speak with a marketing expert?
Give us a call! (916) 866-7893

Websites Launched
1407
Websites Launched
Marketing Experts
29
Marketing Experts
Hours of Dedicated Work
204533
Hours of Dedicated Work
Irina S.Benjamin G.Jeanette M.David G.