Streamlining Enterprise AI Tooling with Custom MCP Catalogs and Profiles
Introduction
The rapid adoption of AI in the enterprise demands robust tooling that balances flexibility with governance. Today, we announce the general availability of Custom MCP Catalogs and Profiles—two complementary features that transform how organizations package, distribute, and manage AI tooling using the Model Context Protocol (MCP). Custom Catalogs allow teams to curate and share approved MCP servers, while Profiles empower developers to define portable, named groupings of servers that can be easily reused across projects. Together, they provide a scalable foundation for enterprise MCP adoption.

In this article, we’ll explore how to create a custom catalog, building on and improving previous approaches, and introduce Profiles—a new primitive designed to solve practical use cases today while laying groundwork for future expansion.
Custom MCP Catalogs: Centralized Trust and Discovery
As organizations scale their MCP usage, a common need emerges: teams need a trusted, curated list of MCP servers—including internally built ones. Without a central mechanism, each developer searches for servers across the open internet, leading to inconsistency and security risks. Custom MCP Catalogs solve this by allowing organizations to publish and distribute catalogs that define approved servers. Developers can then discover and use only those servers within organizational boundaries.
Custom Catalogs can reference servers from Docker’s MCP Catalog, community sources, and internally developed servers. This brings flexibility, control, and trust together in a single experience. Let’s walk through a practical example.
Step-by-Step: Building and Sharing a Custom MCP Catalog
In this example, we’ll create a catalog containing servers from the Docker MCP Catalog and a custom MCP server built from the CLI. We’ll then show how to import the catalog using Docker Desktop. Note: All functionality can be exercised via CLI; a subset of user-centric features is available through Docker Desktop. We’ll use the Docker Hub ID roberthouse224—adapt commands to your own information where appropriate.
Step 1: Create and Push a Custom MCP Server
We built a reference server called roll-dice (GitHub Repository available). It’s a standard MCP server communicating over stdio and built as a Docker image. The image has already been built and pushed to Docker Hub. We create metadata describing the server in a file named mcp-dice.yaml:
name: roll-dice
title: Roll Dice
type: server
image: roberthouse224/mcp-dice@latest
description: An MCP server that can roll diceStep 2: Build a Custom Catalog
Now we create a catalog that includes both the Docker MCP Catalog servers and our custom server. The catalog YAML might look like this:
catalog:
name: my-enterprise-catalog
servers:
- from: docker-mcp-catalog
include:
- brave-search
- filesystem
- from: custom
path: ./mcp-dice.yamlThis defines a catalog named my-enterprise-catalog that includes the Brave Search and Filesystem servers from Docker’s catalog, plus our custom Roll Dice server. The catalog is then published to a registry or file share for team access.
Step 3: Import the Catalog in Docker Desktop
In Docker Desktop, navigate to the MCP settings, choose “Import Catalog,” and provide the URL or file path to your catalog YAML. Once imported, the approved servers appear in the MCP server list, ready for use by developers.

MCP Profiles: Portable, Named Server Groupings
While catalogs address curation and discovery, Profiles solve a different challenge: how to easily bundle and share configurations of MCP servers for specific tasks or environments. A Profile is a portable, named grouping of MCP servers with their configurations. Developers can create profiles for common use cases—like a “development” profile with debugging servers, or a “production” profile with monitored servers—and share them across teams.
Profiles are designed to be lightweight and composable. For example, a profile can reference servers from a catalog or be defined inline. This makes them ideal for version control and CI/CD pipelines. Here’s how to create a profile.
Creating and Using a Profile
Define a profile in YAML:
profile:
name: data-analysis
servers:
- brave-search
- filesystem
- roll-dice
env:
LOG_LEVEL: debugThis profile named data-analysis includes three servers and sets an environment variable. Developers can activate the profile with a single command:
mcp profile activate data-analysisProfiles can be stored in a version-controlled repository, enabling teams to collaborate on configurations and ensure consistency across environments.
Advancing Enterprise Adoption
Custom Catalogs and Profiles together provide a powerful foundation for enterprise MCP adoption. Catalogs establish trust and governance by curating approved servers, while Profiles streamline developer workflows with reusable groupings. Organizations can start small—perhaps with a single catalog and a few profiles—and scale as their MCP ecosystem grows.
We believe these features address immediate needs while opening the door to future capabilities, such as role-based access control, auditing, and integration with existing identity providers. By combining centralized curation with portable configuration, enterprises can harness the power of AI tooling without compromising security or productivity.
Conclusion
The general availability of Custom MCP Catalogs and Profiles marks a significant step forward in making MCP enterprise-ready. Whether you’re deploying internally built servers or curating from the broader ecosystem, these tools give you the control and flexibility you need. We encourage you to explore the documentation, build your first custom catalog, and create profiles that fit your team’s workflows. The future of AI tooling is collaborative—and it starts with a solid foundation in MCP.
Related Articles
- Mastering Distributed Caching in .NET with Azure PostgreSQL
- 10 Ways Red Hat Proves Open Source Beats Cloud Giants in AI Economics
- PCPJack Worm: A Dual-Purpose Threat That Cleanses and Steals
- Dynamic Workflows: Bringing Durable Execution to Every Tenant
- Kubernetes v1.36 Alpha Feature Slashes API Server Traffic for Large Clusters: Server-Side Sharded List and Watch
- Achieving Digital Sovereignty with Microsoft’s Sovereign Cloud: A Comprehensive Guide
- Securing an LLM-Powered MCP Server for a Million-Company B2B Platform on AWS
- Amazon Redshift Launches Graviton-Powered RG Instances for Faster, Cheaper Analytics