diff --git a/.vscode/docker.code-snippets b/.vscode/docker.code-snippets index 3be817d524d4..d59444949697 100644 --- a/.vscode/docker.code-snippets +++ b/.vscode/docker.code-snippets @@ -54,4 +54,9 @@ "body": ["{{< button url=\"$1\" text=\"$2\" >}}"], "description": "Insert a Hugo button", }, + "Insert Visual Studio Code": { + "prefix": ["vscode", "vs"], + "body": ["Visual Studio Code"], + "description": "Insert 'Visual Studio Code'", + }, } \ No newline at end of file diff --git a/_vale/config/vocabularies/Docker/accept.txt b/_vale/config/vocabularies/Docker/accept.txt index a2e494e4631f..bc3941deb09d 100644 --- a/_vale/config/vocabularies/Docker/accept.txt +++ b/_vale/config/vocabularies/Docker/accept.txt @@ -1,5 +1,6 @@ (?i)[A-Z]{2,}'?s +[Dd]ev Adreno Aleksandrov Amazon @@ -16,11 +17,13 @@ Bugsnag BuildKit buildkitd BusyBox +CD CentOS Ceph cgroup Chrome Chrome DevTools +CI CI/CD Citrix cli @@ -144,6 +147,7 @@ osquery osxfs OTel Paketo +PAT perl pgAdmin PKG @@ -193,9 +197,9 @@ Uncaptured undeterminable Unix unmanaged +Visual Studio Code VMware vpnkit -VSCode vSphere Vue Wasm diff --git a/assets/css/components.css b/assets/css/components.css index 1e3f897903fb..e01f1ec04b73 100644 --- a/assets/css/components.css +++ b/assets/css/components.css @@ -77,6 +77,13 @@ align-items: center; justify-content: center; } + .admonition p{ + margin-bottom: 1em; + } + .admonition ul{ + @apply list-disc pl-5 mb-1; + } + .download-links { @apply block; @@ -93,6 +100,7 @@ .card-image { @apply h-12 w-12 overflow-hidden; } + } .button { @apply my-2 mr-2 inline-block rounded-sm bg-blue-500 p-1 px-3 text-white hover:bg-blue-600 dark:bg-blue-500 hover:dark:bg-blue-400; diff --git a/content/manuals/ai/mcp-catalog-and-toolkit/_index.md b/content/manuals/ai/mcp-catalog-and-toolkit/_index.md index dfc27b92f7a2..0492bb2d844d 100644 --- a/content/manuals/ai/mcp-catalog-and-toolkit/_index.md +++ b/content/manuals/ai/mcp-catalog-and-toolkit/_index.md @@ -21,35 +21,17 @@ grid: link: /ai/mcp-catalog-and-toolkit/toolkit/ --- -The Model Context Protocol (MCP) is a modern standard that transforms AI agents -from passive responders into action-oriented systems. By standardizing how tools -are described, discovered, and invoked, MCP enables agents to securely query -APIs, access data, and run services across different environments. - -As agents move into production, MCP solves common integration challenges — -interoperability, reliability, and security — by providing a consistent, -decoupled, and scalable interface between agents and tools. Just as containers -redefined software deployment, MCP is reshaping how AI systems interact with the -world. - -> **Example** -> -> In simple terms, an MCP server is a way for an LLM to interact with an external system. -> -> For example: -> If you ask a model to create a meeting, it needs to communicate with your calendar app to do that. -> An MCP server for your calendar app provides _tools_ that perform atomic actions, such as: -> "getting the details of a meeting" or "creating a new meeting". - -## What is Docker MCP Catalog and Toolkit? +{{< summary-bar feature_name="Docker MCP Catalog and Toolkit" >}} Docker MCP Catalog and Toolkit is a solution for securely building, sharing, and -running MCP tools. It simplifies the developer experience across these areas: +running MCP tools. + +It simplifies the developer experience across these areas: - Discovery: A central catalog with verified, versioned tools. - Credential management: OAuth-based and secure by default. - Execution: Tools run in isolated, containerized environments. -- Portability: Use MCP tools across Claude, Cursor, VS Code, and more—no code +- Portability: Use MCP tools across Claude, Cursor, Visual Studio Code, and more—no code changes needed. With Docker Hub and the MCP Toolkit, you can: @@ -58,4 +40,24 @@ With Docker Hub and the MCP Toolkit, you can: - Add tools using the CLI or GUI. - Rely on Docker's pull-based infrastructure for trusted delivery. +## MCP servers + +MCP servers are systems that use the [Model Context Protocol](https://www.anthropic.com/news/model-context-protocol) (MCP) to help manage +and run AI or machine learning models more efficiently. MCP allows different +parts of a system, like the model, data, and runtime environment, to +communicate in a standardized way. You can see them as +add-ons that provide specific tools to an LLM. + +> [!TIP] +> Example: +> If you ask a model to create a meeting, it needs to communicate with your calendar app to do that. +> +> An MCP server provided by your calendar app provides _tools_ to your model to perform atomic +> actions, like: +> +> - `get the details of a meeting` +> - `create a new meeting` +> - ... + + {{< grid >}} diff --git a/content/manuals/ai/mcp-catalog-and-toolkit/catalog.md b/content/manuals/ai/mcp-catalog-and-toolkit/catalog.md index 705145b82400..da10ceb7348b 100644 --- a/content/manuals/ai/mcp-catalog-and-toolkit/catalog.md +++ b/content/manuals/ai/mcp-catalog-and-toolkit/catalog.md @@ -1,9 +1,13 @@ --- title: Docker MCP Catalog +linkTitle: MCP Catalog description: Learn about the benefits of the MCP Catalog, how you can use it, and how you can contribute keywords: docker hub, mcp, mcp servers, ai agents, catalog, docker +weight: 10 --- +{{< summary-bar feature_name="Docker MCP Catalog" >}} + The [Docker MCP Catalog](https://hub.docker.com/mcp) is a centralized, trusted registry for discovering, sharing, and running MCP-compatible tools. Integrated with Docker Hub, it offers verified, versioned, and curated MCP servers diff --git a/content/manuals/ai/mcp-catalog-and-toolkit/hub-mcp.md b/content/manuals/ai/mcp-catalog-and-toolkit/hub-mcp.md index 9823a1b5bae2..d4efe0933cba 100644 --- a/content/manuals/ai/mcp-catalog-and-toolkit/hub-mcp.md +++ b/content/manuals/ai/mcp-catalog-and-toolkit/hub-mcp.md @@ -1,14 +1,22 @@ --- title: Docker Hub MCP server -description: Use the MCP Toolkit to set up MCP servers and MCP clients. +linkTitle: Hub MCP server +description: The Docker Hub MCP Server makes Docker Hub image metadata accessible to LLMs for content discovery. keywords: Docker Hub MCP Server, Hub MCP server, Hub MCP +weight: 30 --- -The Docker Hub MCP Server is a Model Context Protocol (MCP) server that interfaces with Docker Hub APIs to make rich image metadata accessible to LLMs, enabling intelligent content discovery and repository management. Developers building with containers, especially in AI and LLM-powered workflows, often face inadequate context across the vast landscape of Docker Hub images. As a result, LLMs struggle to recommend the right images, and developers lose time manually searching instead of building. +The Docker Hub MCP Server is a Model Context Protocol (MCP) server that +interfaces with Docker Hub APIs to make rich image metadata accessible to LLMs, +enabling intelligent content discovery and repository management. Developers +building with containers, especially in AI and LLM-powered workflows, often face +inadequate context across the vast landscape of Docker Hub images. As a result, +LLMs struggle to recommend the right images, and developers lose time manually +searching instead of building. ## Key features -- Advanced LLM context: Our MCP Server provides LLMs with detailed, structured context for Docker Hub images, enabling smarter, more relevant recommendations for developers, whether they're choosing a base image or automating CI/CD workflows. +- Advanced LLM context: Docker's MCP Server provides LLMs with detailed, structured context for Docker Hub images, enabling smarter, more relevant recommendations for developers, whether they're choosing a base image or automating CI/CD workflows. - Natural language image discovery: Developers can find the right container image using natural language, no need to remember tags or repository names. Just describe what you need, and Docker Hub will return images that match your intent. - Simplified repository management: Hub MCP Server enables agents to manage repositories through natural language fetching image details, viewing stats, searching content, and performing key operations quickly and easily. @@ -28,95 +36,116 @@ The Docker Hub MCP Server is a Model Context Protocol (MCP) server that interfac > By default, the Gordon [client](/manuals/ai/mcp-catalog-and-toolkit/toolkit.md#install-an-mcp-client) is enabled, > which means Gordon can automatically interact with your MCP servers. -## Using other clients - -If want to integrate the Docker Hub MCP Server into your own development environment, you can find the source code and installation instructions on our [GitHub repository](https://github.com/docker/hub-mcp). - ## Use Claude Desktop as a client 1. Add the Docker Hub MCP Server configuration to your `claude_desktop_config.json`: -### For public repositories only - - - `/FULL/PATH/TO/YOUR/docker-hub-mcp-server` - The complete path to where you cloned this repository -```json -{ - "mcpServers": { - "docker-hub": { - "command": "node", - "args": ["/FULL/PATH/TO/YOUR/docker-hub-mcp-server/dist/index.js", "--transport=stdio"] - } - } -} -``` + {{< tabs >}} + {{< tab name="For public repositories only">}} + + ```json + { + "mcpServers": { + "docker-hub": { + "command": "node", + "args": ["/FULL/PATH/TO/YOUR/docker-hub-mcp-server/dist/index.js", "--transport=stdio"] + } + } + } + ``` + + Where : + - `/FULL/PATH/TO/YOUR/docker-hub-mcp-server` is the complete path to where you cloned the repository + + {{< /tab >}} + {{< tab name="For authenticated access">}} + + ```json + { + "mcpServers": { + "docker-hub": { + "command": "node", + "args": ["/FULL/PATH/TO/YOUR/docker-hub-mcp-server/dist/index.js", "--transport=stdio", "--username=YOUR_DOCKER_HUB_USERNAME"], + "env": { + "HUB_PAT_TOKEN": "YOUR_DOCKER_HUB_PERSONAL_ACCESS_TOKEN" + } + } + } + } + ``` + + Where : + - `YOUR_DOCKER_HUB_USERNAME` is your Docker Hub username. + - `YOUR_DOCKER_HUB_PERSONAL_ACCESS_TOKEN` is Docker Hub personal access token + - `/FULL/PATH/TO/YOUR/docker-hub-mcp-server` is the complete path to where you cloned the repository -### For authenticated access - - Replace the following values: - - `YOUR_DOCKER_HUB_USERNAME` - Your Docker Hub username - - `YOUR_DOCKER_HUB_PERSONAL_ACCESS_TOKEN` - Your Docker Hub Personal Access Token - - `/FULL/PATH/TO/YOUR/docker-hub-mcp-server` - The complete path to where you cloned this - -```json -{ - "mcpServers": { - "docker-hub": { - "command": "node", - "args": ["/FULL/PATH/TO/YOUR/docker-hub-mcp-server/dist/index.js", "--transport=stdio", "--username=YOUR_DOCKER_HUB_USERNAME"], - "env": { - "HUB_PAT_TOKEN": "YOUR_DOCKER_HUB_PERSONAL_ACCESS_TOKEN" - } - } - } -} -``` + + {{< /tab >}} + {{}} 1. Save the configuration file and completely restart Claude Desktop for the changes to take effect. -## Usage with VS Code +## Usage with Visual Studio Code -1. Add the Docker Hub MCP Server configuration to your User Settings (JSON) file in VS Code. You can do this by opening the `Command Palette` and typing `Preferences: Open User Settings (JSON)`. +1. Add the Docker Hub MCP Server configuration to your User Settings (JSON) + file in Visual Studio Code. You can do this by opening the `Command Palette` and + typing `Preferences: Open User Settings (JSON)`. -### For public repositories only + {{< tabs >}} + {{< tab name="For public repositories only">}} - - `/FULL/PATH/TO/YOUR/docker-hub-mcp-server` - The complete path to where you cloned this repository -```json -{ - "mcpServers": { - "docker-hub": { - "command": "node", - "args": ["/FULL/PATH/TO/YOUR/docker-hub-mcp-server/dist/index.js", "--transport=stdio"] - } - } -} -``` + ```json + { + "mcpServers": { + "docker-hub": { + "command": "node", + "args": ["/FULL/PATH/TO/YOUR/docker-hub-mcp-server/dist/index.js", "--transport=stdio"] + } + } + } + ``` + + Where : + - `/FULL/PATH/TO/YOUR/docker-hub-mcp-server` is the complete path to where you cloned the repository + + {{< /tab >}} + {{< tab name="For authenticated access">}} + + ```json + { + "mcpServers": { + "docker-hub": { + "command": "node", + "args": ["/FULL/PATH/TO/YOUR/docker-hub-mcp-server/dist/index.js", "--transport=stdio"], + "env": { + "HUB_USERNAME": "YOUR_DOCKER_HUB_USERNAME", + "HUB_PAT_TOKEN": "YOUR_DOCKER_HUB_PERSONAL_ACCESS_TOKEN" + } + } + } + } + ``` + + Where : + - `YOUR_DOCKER_HUB_USERNAME` is your Docker Hub username. + - `YOUR_DOCKER_HUB_PERSONAL_ACCESS_TOKEN` is Docker Hub personal access token + - `/FULL/PATH/TO/YOUR/docker-hub-mcp-server` is the complete path to where you cloned the repository -### For authenticated access - - Replace the following values: - - `YOUR_DOCKER_HUB_USERNAME` - Your Docker Hub username - - `YOUR_DOCKER_HUB_PERSONAL_ACCESS_TOKEN` - Your Docker Hub Personal Access Token - - `/FULL/PATH/TO/YOUR/docker-hub-mcp-server` - The complete path to where you cloned this - -```json -{ - "mcpServers": { - "docker-hub": { - "command": "node", - "args": ["/FULL/PATH/TO/YOUR/docker-hub-mcp-server/dist/index.js", "--transport=stdio"], - "env": { - "HUB_USERNAME": "YOUR_DOCKER_HUB_USERNAME", - "HUB_PAT_TOKEN": "YOUR_DOCKER_HUB_PERSONAL_ACCESS_TOKEN" - } - } - } -} -``` + + {{< /tab >}} + {{}} 1. Open the `Command Palette` and type `MCP: List Servers`. 1. Select `docker-hub` and select `Start Server`. +## Using other clients + +To integrate the Docker Hub MCP Server into your own development +environment, see the source code and installation instructions on the +[`hub-mcp` GitHub repository](https://github.com/docker/hub-mcp). + + ## Usage examples This section provides task-oriented examples for common operations with Docker Hub diff --git a/content/manuals/ai/mcp-catalog-and-toolkit/toolkit.md b/content/manuals/ai/mcp-catalog-and-toolkit/toolkit.md index f0ca96eeb727..5600ba5b06d7 100644 --- a/content/manuals/ai/mcp-catalog-and-toolkit/toolkit.md +++ b/content/manuals/ai/mcp-catalog-and-toolkit/toolkit.md @@ -1,12 +1,16 @@ --- -title: MCP Toolkit +title: Docker MCP Toolkit +linkTitle: MCP Toolkit description: Use the MCP Toolkit to set up MCP servers and MCP clients. keywords: Docker MCP Toolkit, MCP server, MCP client, AI agents +weight: 20 aliases: - /desktop/features/gordon/mcp/gordon-mcp-server/ - /ai/gordon/mcp/gordon-mcp-server/ --- +{{< summary-bar feature_name="Docker MCP Toolkit" >}} + The Docker MCP Toolkit is a gateway that lets you set up, manage, and run containerized MCP servers and connect them to AI agents. It removes friction from tool usage by offering secure defaults, one-click setup, and support for a @@ -160,7 +164,9 @@ and add Claude Desktop as a client: ### Example: Use Visual Studio Code as a client -You can interact with all your installed MCP servers in VS Code: +You can interact with all your installed MCP servers in Visual Studio Code: + + 1. To enable the MCP Toolkit: @@ -168,7 +174,7 @@ You can interact with all your installed MCP servers in VS Code: {{< tabs group="" >}} {{< tab name="Enable globally">}} - 1. Insert the following in your VS Code's User`mcp.json`: + 1. Insert the following in your Visual Studio Code's User`mcp.json`: ```json "mcp": { @@ -214,6 +220,8 @@ You can interact with all your installed MCP servers in VS Code: For more information about the Agent mode, see the [Visual Studio Code documentation](https://code.visualstudio.com/docs/copilot/chat/mcp-servers#_use-mcp-tools-in-agent-mode). + + ## Authenticate via OAuth You can connect the MCP Toolkit to your development workflow via diff --git a/content/manuals/ai/mcp-gateway/_index.md b/content/manuals/ai/mcp-gateway/_index.md index 75fae82b571e..5fa67fa8c854 100644 --- a/content/manuals/ai/mcp-gateway/_index.md +++ b/content/manuals/ai/mcp-gateway/_index.md @@ -7,10 +7,12 @@ params: group: Open source --- -The MCP Gateway is Docker's open-source enterprise-ready solution for orchestrating and -managing [Model Context Protocol (MCP)](https://spec.modelcontextprotocol.io/) servers -securely across development and production environments. -It is designed to help organizations connect MCP servers from the [Docker MCP Catalog](https://hub.docker.com/mcp) to MCP Clients without compromising security, visibility, or control. +The MCP Gateway is Docker's open-source enterprise-ready solution for +orchestrating and managing [Model Context Protocol +(MCP)](https://spec.modelcontextprotocol.io/) servers securely across +development and production environments. It is designed to help organizations +connect MCP servers from the [Docker MCP Catalog](https://hub.docker.com/mcp) to +MCP Clients without compromising security, visibility, or control. By unifying multiple MCP servers into a single, secure endpoint, the MCP Gateway offers the following benefits: @@ -57,8 +59,8 @@ You can download the latest binary from the [GitHub releases page](https://githu Rename the relevant binary and copy it to the destination matching your OS: -| OS | Binary name | Destination folder | -|---------|---------------------|-------------------------------------| +| OS | Binary name | Destination folder | +|---------|------------------|-------------------------------------| | Linux | `docker-mcp` | `$HOME/.docker/cli-plugins` | | macOS | `docker-mcp` | `$HOME/.docker/cli-plugins` | | Windows | `docker-mcp.exe` | `%USERPROFILE%\.docker\cli-plugins` | @@ -69,7 +71,6 @@ Or copy it into one of these folders for installing it system-wide: {{< tabs group="" >}} {{< tab name="On Unix environments">}} - * `/usr/local/lib/docker/cli-plugins` OR `/usr/local/libexec/docker/cli-plugins` * `/usr/lib/docker/cli-plugins` OR `/usr/libexec/docker/cli-plugins` @@ -97,13 +98,32 @@ docker mcp --help ## Use the MCP Gateway -Run: +1. Select a server of your choice from the [MCP Catalog](https://hub.docker.com/mcp) + and copy the install command from the **Manual installation** section. -```bash -docker mcp gateway run -``` +1. For example, run this command in your terminal to install the `duckduckgo` + MCP server: + + ```console + docker mcp server enable duckduckgo + ``` + +1. Connect a client, like Visual Studio Code: + + ```console + docker mcp client connect vscode + ``` + +1. Run the gateway: + + ```console + docker mcp gateway run + ``` + +Now your MCP gateway is running and you can leverage all the servers set up +behind it from Visual Studio Code. -To view all the commands and configuration options, go to the [mcp-gateway repository](https://github.com/docker/mcp-gateway?tab=readme-ov-file#usage). +[View the complete docs on GitHub.](https://github.com/docker/mcp-gateway?tab=readme-ov-file#usage" text) ## Related pages diff --git a/content/manuals/ai/model-runner/_index.md b/content/manuals/ai/model-runner/_index.md index 2d84b62d4678..f7c6dc58e34c 100644 --- a/content/manuals/ai/model-runner/_index.md +++ b/content/manuals/ai/model-runner/_index.md @@ -1,5 +1,6 @@ --- title: Docker Model Runner +linkTitle: Model Runner params: sidebar: badge: diff --git a/data/summary.yaml b/data/summary.yaml index 61d2612fe658..ed9b11e42b62 100644 --- a/data/summary.yaml +++ b/data/summary.yaml @@ -169,6 +169,12 @@ Docker Model Runner: availability: Beta requires: Docker Engine or Docker Desktop (Windows) 4.41+ or Docker Desktop (MacOS) 4.40+ for: See Requirements section below +Docker MCP Catalog and Toolkit: + availability: Beta +Docker MCP Catalog: + availability: Beta +Docker MCP Toolkit: + availability: Beta Docker Projects: availability: Beta Docker Scout exceptions: diff --git a/hugo_stats.json b/hugo_stats.json index 51b88ad6e13f..ce02090871b0 100644 --- a/hugo_stats.json +++ b/hugo_stats.json @@ -55,6 +55,8 @@ "Fedora", "For-Mac-with-Apple-silicon", "For-Mac-with-Intel-chip", + "For-authenticated-access", + "For-public-repositories-only", "From-Docker-Desktop", "From-the-Docker-CLI", "From-the-GUI",