-
Notifications
You must be signed in to change notification settings - Fork 7.8k
Create hub-mcp.md #22912
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Create hub-mcp.md #22912
Changes from 1 commit
Commits
Show all changes
13 commits
Select commit
Hold shift + click to select a range
b4f512d
Create hub-mcp
sheltongraves 2f4e855
Update content/manuals/ai/mcp-catalog-and-toolkit/hub-mcp
sheltongraves dc132ae
Update content/manuals/ai/mcp-catalog-and-toolkit/hub-mcp
sheltongraves fce8f83
Update content/manuals/ai/mcp-catalog-and-toolkit/hub-mcp
sheltongraves a1bf2bc
Rename hub-mcp to hub-mcp.md
sheltongraves 6366a49
Update hub-mcp.md
sheltongraves 0f47ae2
Update hub-mcp.md
sheltongraves 58f2994
Merge pull request #1 from sheltongraves/sheltongraves-patch-1
sheltongraves aa58f9a
Update hub-mcp.md
sheltongraves ea7c1ab
Update hub-mcp.md
sheltongraves f57ddc4
Apply suggestions from code review
aevesdocker c10b6b6
Update content/manuals/ai/mcp-catalog-and-toolkit/hub-mcp.md
ArthurFlag f36b424
Update content/manuals/ai/mcp-catalog-and-toolkit/hub-mcp.md
ArthurFlag File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,145 @@ | ||
--- | ||
title: Hub MCP | ||
description: Use the MCP Toolkit to set up MCP servers and MCP clients. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This seems to need an update? |
||
keywords: Docker Hub MCP Server, Hub MCP server, Hub MCP | ||
--- | ||
|
||
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. | ||
sheltongraves marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
## 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. | ||
- 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. | ||
|
||
## Install Docker Hub MCP server | ||
|
||
1. From the **MCP Toolkit** menu, select the **Catalog** tab and search for **Docker Hub** and select the plus icon to add the Docker Hub MCP server. | ||
2. In the server's Configuration tab, insert your Docker Hub username and personal access token (PAT). | ||
3. In the Clients tab in MCP Toolkit, ensure Gordon is connected. | ||
4. From the **Ask Gordon** menu, you can now send requests related to your | ||
Docker Hub account, in accordance to the tools provided by the Docker Hub MCP server. To test it, ask Gordon: | ||
|
||
```text | ||
What repositories are in my namespace? | ||
``` | ||
|
||
> [!TIP] | ||
> By default, the Gordon [client](#install-an-mcp-client) is enabled, | ||
> which means Gordon can automatically interact with your MCP servers. | ||
|
||
## Usage examples | ||
|
||
This section provides task-oriented examples for common operations with Docker Hub | ||
tools. | ||
|
||
|
||
### Finding images | ||
|
||
```console | ||
# Search for official images | ||
$ docker ai "Search for official nginx images on Docker Hub" | ||
|
||
# Search for lightweight images to reduce deployment size and improve performance | ||
$ docker ai "Search for minimal Node.js images with small footprint" | ||
|
||
# Get the most recent tag of a base image | ||
$ docker ai "Show me the latest tag details for go" | ||
|
||
# Find a production-ready database with enterprise features and reliability | ||
$ docker ai "Search for production ready database images" | ||
|
||
# Compare Ubuntu versions to choose the right one for my project | ||
$ docker ai "Help me find the right Ubuntu version for my project" | ||
``` | ||
|
||
|
||
### Repository Management | ||
|
||
```console | ||
# Create a repository | ||
$ docker ai "Create a repository in my namespace" | ||
|
||
# List all repositories in my namespace | ||
$ docker ai "List all repositories in my namespace" | ||
|
||
# Find the largest repository in my namespace | ||
$ docker ai "Which of my repositories takes up the most space?" | ||
|
||
# Find repositories that haven't been updated recently | ||
$ docker ai "Which of my repositories haven't had any pushes in the last 60 days?" | ||
|
||
# Find which repositories are currently active and being used | ||
$ docker ai "Show me my most recently updated repositories" | ||
|
||
# Get details about a repository | ||
$ docker ai "Show me information about my '<repository-name>' repository" | ||
``` | ||
|
||
### Pull/Push Images | ||
sheltongraves marked this conversation as resolved.
Show resolved
Hide resolved
|
||
```console | ||
# Pull latest PostgreSQL version | ||
$ docker ai "Pull the latest postgres image" | ||
|
||
# Push image to your Docker Hub repository | ||
$ docker ai "Push my <image-name> to my <repository-name> repository" | ||
``` | ||
|
||
### Tag Management | ||
|
||
```console | ||
# List all tags for a repository | ||
$ $ docker ai "Show me all tags for my '<repository-name>' repository" | ||
|
||
# Find the most recently pushed tag | ||
$ docker ai "What's the most recent tag pushed to my '<repository-name>' repository?" | ||
|
||
# List tags with architecture filtering | ||
$ docker ai "List tags for in the '<repository-name>' repository that support amd64 architecture" | ||
|
||
# Get detailed information about a specific tag | ||
$ docker ai "Show me details about the '<tag-name>' tag in the '<repository-name>' repository" | ||
|
||
# Check if a specific tag exists | ||
$ docker ai "Check if version 'v1.2.0' exists for my 'my-web-app' repository" | ||
``` | ||
|
||
### Docker Hardened Images | ||
|
||
```console | ||
# List available hardened images | ||
$ docker ai "What is the most secure image I can use to run a node.js application?" | ||
|
||
# Convert Dockerfile to use a hardened image | ||
$ docker ai "Can you help me update my Dockerfile to use a docker hardened image instead of the current one" | ||
``` | ||
> [!NOTE] | ||
> To access Docker Hardened Images, a subscription is required. If you're interested in using Docker Hardened Images, please visit: | ||
[Docker Hardened Images](https://www.docker.com/products/hardened-images/) | ||
sheltongraves marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
|
||
## Reference | ||
|
||
This section provides a comprehensive listing of the tools you can find | ||
in the Docker Hub MCP Server. | ||
|
||
### Docker Hub MCP Server tools | ||
|
||
Tools to interact with your Docker repositories and discover content on Docker Hub. | ||
|
||
| Name | Description | | ||
|------|-------------| | ||
| `check-repository` | Check repository | | ||
| `check-repository-tag` | Check repository tag | | ||
| `check-repository-tags` | Check repository tags | | ||
| `create-repository` | Creates a new repository | | ||
| `docker-hardened-images` | Lists available [Docker Hardened Images](https://www.docker.com/products/hardened-images/) in specified namespace | | ||
| `get-namespaces` | Get organizations/namespaces for a user | | ||
| `get-repository-dockerfile` | Gets dockerfile for repository | | ||
| `get-repository-info` | Gets repository info | | ||
| `list-repositories-by-namespace` | Lists repositories under namespace | | ||
| `list-repository-tags` | List repository tags | | ||
| `read-repository-tag` | Read repository tag | | ||
| `search` | Search content on Docker Hub | | ||
| `set-repository-dockerfile` | Sets Dockerfile for repository | | ||
| `update-repository-info` | Updates repository info | |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@sheltongraves Looks like we are missing the extension
.md
in the filename and therefore the Netlify preview isn't working. Thanks for spotting this @craig-osterhout.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just updated the name