Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
124 changes: 57 additions & 67 deletions content/manuals/ai/mcp-catalog-and-toolkit/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ weight: 30
description: Learn about Docker's MCP catalog on Docker Hub
keywords: Docker, ai, mcp servers, ai agents, extension, docker desktop, llm, docker hub
grid:
- title: Get started
- title: Get started with MCP Toolkit
description: Learn how to quickly install and use the MCP Toolkit to set up servers and clients.
icon: explore
link: /ai/mcp-catalog-and-toolkit/get-started/
Expand All @@ -23,77 +23,67 @@ grid:
description: Learn about the MCP Toolkit to manage MCP servers and clients
icon: /icons/toolkit.svg
link: /ai/mcp-catalog-and-toolkit/toolkit/
- title: MCP Gateway
description: Learn about the underlying technology that powers the MCP Toolkit
icon: developer_board
link: /ai/mcp-catalog-and-toolkit/toolkit/
- title: Docker Hub MCP server
description: Explore about the Docker Hub server for searching images, managing repositories, and more
icon: device_hub
link: /ai/mcp-catalog-and-toolkit/toolkit/
---

{{< summary-bar feature_name="Docker MCP Catalog and Toolkit" >}}

[Model Context Protocol](https://modelcontextprotocol.io/introduction) (MCP) is
an open protocol that standardizes how AI applications access external tools and data sources. Through a client-server architecture, applications such as [Gordon](/manuals/ai/gordon/_index.md) or Claude Desktop act as clients that send requests to MCP servers, which then process these requests and deliver the necessary context to AI models.

Building and managing MCP tools can be complex. Docker MCP Catalog and Toolkit simplifies this by providing a secure, streamlined way to build, share, and run MCP tools, addressing common challenges developers face.

Docker MCP Catalog and Toolkit simplifies the developer experience across the following areas:

- Discovery: Centralized discovery through a verified catalog of versioned tools.
- Credential management: Secure credential management with OAuth-based authentication.
- Execution: Safe execution by running tools in isolated, containerized environments.
- Portability: True portability. MCP tools work seamlessly across Claude, Cursor, Visual Studio Code, and other platforms without requiring code changes.

This integrated approach means you can launch MCP servers in seconds, add new tools through either CLI or GUI interfaces, and rely on Docker's pull-based infrastructure for trusted delivery of your tools.

![MCP overview](./images/mcp-overview.svg)

To understand how Docker MCP Catalog and Toolkit achieves this streamlined experience, let's explore the underlying architecture and how its key components work together.

## MCP architecture overview

MCP follows a client-server architecture that enables standardized communication between AI applications and external tools. This foundational understanding helps you build and integrate MCP solutions effectively.

### MCP servers

MCP servers are specialized programs that provide specific tools and capabilities to AI models through [Model Context Protocol](https://modelcontextprotocol.io/introduction). Each server focuses on a particular domain, like GitHub integration, database access, or file management. You can think of them as extensions that give AI models the ability to interact with external systems and data sources.

### MCP clients

MCP clients are the bridge between AI applications and MCP servers. They enable AI systems to discover, connect to, and interact with external tools and data sources through the standardized MCP protocol. A single client can connect to multiple MCP servers, while each server can also serve multiple clients, creating a flexible many-to-many relationship that allows for rich integration possibilities.

When you interact with an AI application that supports MCP, the client establishes connections to configured servers, discovers available tools and resources from all connected servers, executes requests when needed, and manages contextual information to enhance AI responses.

### MCP Gateway

The [MCP Gateway](/manuals/ai/mcp-catalog-and-toolkit/mcp-gateway.md) is Docker's open-source solution which connects MCP servers to MCP clients. It provides a unified endpoint that consolidates multiple MCP servers from the Docker MCP Catalog into a single, manageable connection point. Instead of clients connecting directly to individual MCP servers, the MCP Gateway sits in between, providing centralized connectivity, secure layer, and enterprise controls.

In the context of Docker's MCP ecosystem:

- MCP Catalog hosts the MCP servers (the tools/capabilities)
- MCP Gateway orchestrates and secures those servers
- MCP clients connect through the Gateway to access cataloged servers

## How MCP components work together

MCP components communicate through a structured flow that connects your development environment to external services. The following diagram shows how MCP works in practice with the key components:

1. The MCP client (VS Code) serves as your development environment where you interact with AI assistance.
2. The MCP Gateway acts as a secure orchestration layer, managing and routing connection between the client (VS Code) and the GitHub Official MCP server.
3. The MCP server acts as the bridge, providing specialized capabilities. In the following example, the GitHub Official server offers tools like creating pull requests, creating branches, and retrieving issues.
4. The data source (GitHub) provides the actual service or platform that the MCP server connects to for real-time information and actions.

This architecture enables seamless integration where you can access GitHub functionality directly from VS Code through standardized MCP communication. The server translates requests between your development environment and external services, making it easy to incorporate various tools and data sources into your AI-assisted workflow without complex custom integrations.

![Example of the GitHub MCP server](./images/mcp-toolkit-overview.png)

> [!TIP]
> Example:
> If you work in Visual Studio Code's _agent mode_ and ask it to create a
> branch in GitHub, it needs an MCP server provided by GitHub to do that.
>
> The MCP server provided by GitHub provides _tools_ to your model to perform
> atomic actions, like:
>
> - `Create a PR`
> - `Create a branch`
> - ...
>
an open protocol that standardizes how AI applications access external tools
and data sources. By connecting LLMs to local development tools, databases,
APIs, and other resources, MCP extends their capabilities beyond their base
training.

Through a client-server architecture, applications such as Claude, ChatGPT, and
[Gordon](/manuals/ai/gordon/_index.md) act as clients that send requests to MCP
servers, which then process these requests and deliver the necessary context to
AI models.

MCP servers extend the utility of AI applications, but running servers locally
also presents several operational challenges. Typically, servers must be
installed directly on your machine and configured individually for each
application. Running untrusted code locally requires careful vetting, and the
responsibility of keeping servers up-to-date and resolving environment
conflicts falls on the user.

## Docker MCP features

Docker provides three integrated components that address the challenges of
running local MCP servers:

MCP Catalog
: A curated collection of verified MCP servers, packaged and distributed as
container images via Docker Hub. All servers are versioned, come with full
provenance and SBOM metadata, and are continuously maintained and updated with
security patches.

MCP Toolkit
: A graphical interface in Docker Desktop for discovering, configuring, and
managing MCP servers. The Toolkit provides a unified way to search for servers,
handle authentication, and connect them to AI applications.

MCP Gateway
: The core open source component that powers the MCP Toolkit. The MCP Gateway
manages MCP containers provides a unified endpoint that exposes your enabled
servers to all AI applications you use.

This integrated approach ensures:

- Simplified discovery and setup of trusted MCP servers from a curated catalog
of tools
- Centralized configuration and authentication from within Docker Desktop
- A secure, consistent execution environment by default
- Improved performance since applications can share a single server runtime,
compared to having to spin up duplicate servers for each application.

![MCP overview](./images/mcp-overview.svg)

## Learn more

Expand Down
57 changes: 31 additions & 26 deletions content/manuals/ai/mcp-catalog-and-toolkit/get-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,32 +8,34 @@ weight: 10

{{< summary-bar feature_name="Docker MCP Toolkit" >}}

Docker Model Context Protocol (MCP) Toolkit makes it easy to set up, manage, and run containerized MCP servers, and connect them to AI agents. It provides secure defaults, one-click setup, and support for a growing ecosystem of LLM-based clients. This page shows you how to get started quickly with the Docker MCP Toolkit.
The Docker MCP Toolkit makes it easy to set up, manage, and run containerized
Model Context Protocol (MCP) servers, and connect them to AI agents. It
provides secure defaults and support for a growing ecosystem of LLM-based
clients. This page shows you how to get started quickly with the Docker MCP
Toolkit.

## Requirements
## Setup

Before you begin, make sure you meet the following requirements to get started with Docker MCP Toolkit.

### Download and install Docker Desktop

- Install [Docker Desktop version 4.42.0](/manuals/desktop/release-notes.md#4420) and later.
- To try the MCP Toolkit Learning center walkthrough, you must install [Docker Desktop version 4.46.0](/manuals/desktop/release-notes.md#4460) and later.

### Enable Docker MCP Toolkit

1. Open the Docker Desktop settings and select **Beta features**.
2. Select **Enable Docker MCP Toolkit**.
3. Select **Apply**.
1. Download and install the latest version of [Docker Desktop](/get-started/get-docker/).
2. Open the Docker Desktop settings and select **Beta features**.
3. Select **Enable Docker MCP Toolkit**.
4. Select **Apply**.

There are multiple ways to get started with Docker MCP Toolkit. You can:
- Try the [Learning center](#learning-center) walkthrough in Docker Desktop, available in [Docker Desktop version 4.46.0](/manuals/desktop/release-notes.md#4460) and later.
- Alternatively, follow the step-by-step instructions on this page to use Docker Desktop or the CLI to [Install an MCP server](#install-an-mcp-server), [add a client, and test your setup](#install-an-mcp-client-and-test-your-setup) with example prompts.

## Learning center
- The **Learning center** in Docker Desktop provides walkthroughs and resources
to help you get started with Docker products and features.

The **Learning center** in Docker Desktop provides walkthroughs and resources to help you get started with Docker products and features.
On the **MCP Toolkit** page, the **Get started** walkthrough that guides you
through installing an MCP server, connecting a client, and testing your
setup.

On the **MCP Toolkit** page, Docker Desktop shows the **Get started** walkthrough that guides you through installing an MCP server, connecting a client, and testing your setup.
- Alternatively, follow the step-by-step instructions on this page to use
Docker Desktop or the CLI to [Install an MCP server](#install-an-mcp-server),
[add a client, and test your setup](#install-an-mcp-client-and-test-your-setup)
with example prompts.

## Install an MCP server

Expand All @@ -44,7 +46,7 @@ On the **MCP Toolkit** page, Docker Desktop shows the **Get started** walkthroug
2. Search for the **GitHub Official** server from the catalog and then select the plus icon to add it.
3. In the **GitHub Official** server page, select the **Configuration** tab and select **OAuth**.

>[!NOTE]
> [!NOTE]
>
> The type of configuration required depends on the server you select. For the GitHub Official server, you must authenticate using OAuth.

Expand All @@ -68,7 +70,7 @@ On the **MCP Toolkit** page, Docker Desktop shows the **Get started** walkthroug
$ docker mcp oauth authorize github
```

>[!NOTE]
> [!NOTE]
>
> The type of configuration required depends on the server you select. For the GitHub Official server, you must authenticate using OAuth.

Expand All @@ -79,11 +81,11 @@ On the **MCP Toolkit** page, Docker Desktop shows the **Get started** walkthroug
```console
$ docker mcp server enable playwright
```
{{< /tab >}}
{{< /tabs >}}

You’ve now successfully added an MCP server. Next, install an MCP client and test your setup with an example prompt.
{{< /tab >}}
{{< /tabs >}}

You’ve now successfully added an MCP server. Next, install an MCP client and test your setup with an example prompt.

## Install an MCP client and test your setup

Expand All @@ -96,17 +98,18 @@ After you've installed MCP servers, you can add clients to the MCP Toolkit. Thes
2. Find **Claude Desktop** and select **Connect**.

If Claude Desktop isn't installed, select **Download** to install it, then select **Connect**.

3. Restart Claude Desktop if it's running, and it can now access all the servers in the MCP Toolkit.
4. Open Claude Desktop and run a test by submitting the following prompt using the Sonnet Opus 4.1 model:
4. Open Claude Desktop and run a test by submitting the following prompt:

```text
Take a screenshot of the header element on docs.docker.com
```

Claude prompts you for permissions and shares a screenshot of the header element from the Docker documentation page.

![Screenshot showing the header of Docker docs.](./images/claude-desktop-example.png)


{{< /tab >}}
{{< tab name="From the Docker CLI">}}

Expand All @@ -115,21 +118,23 @@ After you've installed MCP servers, you can add clients to the MCP Toolkit. Thes
```console
$ docker mcp client connect claude-desktop --global
```

2. Restart Claude Desktop if it's running, and it can now access all the servers in the MCP Toolkit.
3. Open Claude Desktop and run a test by submitting the following prompt using the Sonnet 4 model:

```text
Take a screenshot of the header element on docs.docker.com
```

Claude prompts you for permissions and shares a screenshot of the header element from the Docker documentation page.

![Screenshot showing the header of Docker docs.](./images/claude-desktop-example.png)

{{< /tab >}}
{{< /tabs >}}

## Related pages
## Further reading

- [MCP Toolkit](/manuals/ai/mcp-catalog-and-toolkit/toolkit.md)
- [MCP Catalog](/manuals/ai/mcp-catalog-and-toolkit/catalog.md)
- [Open-source MCP Gateway](/manuals/ai/mcp-catalog-and-toolkit/mcp-gateway.md)
- [MCP Gateway](/manuals/ai/mcp-catalog-and-toolkit/mcp-gateway.md)
Loading