From 517054b57dcc3d8216bd174d0a2f95972fde752c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nuno=20Cora=C3=A7=C3=A3o?= Date: Wed, 18 Jun 2025 15:11:23 +0100 Subject: [PATCH 1/3] improve readme --- README.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/README.md b/README.md index 69f8621e..914a2d47 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,20 @@ # Official Docker MCP Registry +Welcome to the Official Docker MCP (Model Context Protocol) Registry! This repository serves as a curated catalog of MCP servers that can be easily discovered, deployed, and integrated with Docker environments. Entries in this catalog will be available at [MCP catalog][https://hub.docker.com/mcp], in [Docker Desktop's MCP Toolkit][https://www.docker.com/products/docker-desktop/], and (for MCP servers images built by Docker) in `mcp` namespace in [Docker Hub][https://hub.docker.com/u/mcp]. + +## What is MCP? +The Model Context Protocol (MCP) is an open standard that enables AI assistants to securely connect with external data sources and tools. MCP servers provide specific capabilities and integrations that extend AI assistant functionality. Read more at [MCP Official Documantation][https://modelcontextprotocol.io/introduction]. + +## Why Use the Docker MCP Registry? +- *Curated Quality*: All MCP servers undergo review to ensure they meet quality and security standards +- Easy Discovery: Browse and find MCP servers for your specific use cases +- Docker Integration: Seamless deployment with Docker containers +- Community Driven: Built and maintained by the community for the community +- Standardized Format: Consistent structure and documentation across all entries + + + + ## Contributing to the Docker MCP Registry We welcome contributions to the Official Docker MCP Registry! If you'd like to contribute, please review the [CONTRIBUTING](CONTRIBUTING.md) guide for details on how to get started. From 533a5886780fef47ef0021538e2b3510068ddd33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nuno=20Cora=C3=A7=C3=A3o?= Date: Wed, 18 Jun 2025 15:52:09 +0100 Subject: [PATCH 2/3] Update README.md --- README.md | 52 +++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 37 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 914a2d47..2857bdc5 100644 --- a/README.md +++ b/README.md @@ -1,29 +1,51 @@ -# Official Docker MCP Registry +# 🐳 Official Docker MCP Registry -Welcome to the Official Docker MCP (Model Context Protocol) Registry! This repository serves as a curated catalog of MCP servers that can be easily discovered, deployed, and integrated with Docker environments. Entries in this catalog will be available at [MCP catalog][https://hub.docker.com/mcp], in [Docker Desktop's MCP Toolkit][https://www.docker.com/products/docker-desktop/], and (for MCP servers images built by Docker) in `mcp` namespace in [Docker Hub][https://hub.docker.com/u/mcp]. +Welcome to the Official Docker MCP (Model Context Protocol) Registry! This repository serves as a curated catalog of MCP servers that can be easily discovered, deployed, and integrated with any MCP Client and compatible with Docker tooling. -## What is MCP? -The Model Context Protocol (MCP) is an open standard that enables AI assistants to securely connect with external data sources and tools. MCP servers provide specific capabilities and integrations that extend AI assistant functionality. Read more at [MCP Official Documantation][https://modelcontextprotocol.io/introduction]. +Entries in this catalog will be available at: +- [MCP catalog](https://hub.docker.com/mcp) +- [Docker Desktop's MCP Toolkit](https://www.docker.com/products/docker-desktop/) +- [Docker Hub `mcp` namespace](https://hub.docker.com/u/mcp) (for MCP servers built by Docker) -## Why Use the Docker MCP Registry? -- *Curated Quality*: All MCP servers undergo review to ensure they meet quality and security standards -- Easy Discovery: Browse and find MCP servers for your specific use cases -- Docker Integration: Seamless deployment with Docker containers -- Community Driven: Built and maintained by the community for the community -- Standardized Format: Consistent structure and documentation across all entries +## 🤖 What is MCP? +The Model Context Protocol (MCP) is an open standard that enables AI assistants to securely connect with external data sources and tools. Read more at [MCP Official Documantation](https://modelcontextprotocol.io/introduction). +## ✨ Why Use the Docker MCP Registry? +- **Enterprise Security**: MCP servers built by Docker include cryptographic signatures, provenance tracking, and Software Bills of Materials (SBOMs) for maximum trust and compliance +- **Container Isolation**: All MCP servers run in isolated containers, protecting your host system from potential security vulnerabilities +- **Curated Quality**: All MCP servers undergo review to ensure they meet quality and security standards +- **Easy Discovery**: Browse and find MCP servers for your specific use cases or share yours to millions of developers using Docker tools +- **Docker Integration**: Seamless deployment with Docker containers +## 🤝 Contributing to the Docker MCP Registry +We welcome contributions to the Official Docker MCP Registry! If you'd like to contribute, you can submit a PR with the metadata information and it will be added to the [MCP catalog](https://hub.docker.com/mcp), to [Docker Desktop's MCP Toolkit](https://www.docker.com/products/docker-desktop/), and (for MCP servers images built by Docker) in `mcp` namespace in [Docker Hub](https://hub.docker.com/u/mcp). +To add your MCP server to the registry, please review the [CONTRIBUTING](CONTRIBUTING.md) guide for detailed instructions. We support two types of submissions: -## Contributing to the Docker MCP Registry +### 🏗️ Option A: Docker-Built Official Image (Recommended) +Have Docker build and maintain your server image with enhanced security features. You'll submit the required information via pull request and upon approval Docker will build, sign, and publish your image to mcp/your-server-name on Docker Hub and the catalog entry will be available in the catalog in 24 hours. -We welcome contributions to the Official Docker MCP Registry! If you'd like to contribute, please review the [CONTRIBUTING](CONTRIBUTING.md) guide for details on how to get started. +_**Benefits: Your image will include cryptographic signatures, provenance tracking, SBOMs, and automatic security updates**_ -[TODO] Adding an MCP Server to the Docker Registry (why is good) +### 📦 Option B: Self-Provided Pre-Built Image +In this option, you'll provide an already built image which will be used directly in the catalog. -To modify or remove an MCP Server from the registry, please open an issue in this repository. +_**Note: Self-built images still benefit from container isolation but won't include the enhanced security features of Docker-built images.**_ -Any MCP Server that is not compliant, will be condemned and removed from the registry. +## ✏️ Modifying or Removing Servers +To request modifications or removal of an existing MCP Server: +1. For modifications: Submit a Pull Request with your proposed changes +2. For removal requests: Open an issue explaining the reason for removal + +## ✅ Compliance and Quality Standards +All MCP servers in this registry must: +- Follow security best practices +- Include comprehensive documentation +- Provide working Docker deployment +- Maintain compatibility with MCP standards +- Include proper error handling and logging + +_**Non-compliant servers will be reviewed and may be removed from the registry.**_ ## License From 26b2a0bc59565afef63575653790dd84b99d5a56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nuno=20Cora=C3=A7=C3=A3o?= Date: Wed, 18 Jun 2025 16:14:11 +0100 Subject: [PATCH 3/3] Update CONTRIBUTING.md --- CONTRIBUTING.md | 65 ++++++++++++++++++++++++++++++++++--------------- 1 file changed, 46 insertions(+), 19 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9f724f51..bd554b58 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,28 +1,43 @@ -# Contributing to Docker MCP Registry - +# 🤝 Contributing to Docker MCP Registry Thank you for your interest in contributing to the official Docker MCP Registry. This document outlines how to contribute to this project. -## Pull request process - -- All commits must include a Signed-off-by trailer at the end of each commit message to indicate that the contributor agrees to the Developer Certificate of Origin. +## 🔄 Pull request process overview - Fork the repository to your own GitHub account and clone it locally. -- Make your changes. To add a new MCP Server, create a new folder under `servers` with the name of your server and add a `server.yaml` inside. -- Correctly format your commit messages, see Commit message guidelines below. +- Repository includes a `servers` folder where you should add a new folder with a `server.yaml` inside. +- Repository includes a `scripts` folder with bash scripts to automate some of the steps. +- Correctly format your commit messages, see Commit message guidelines below. _Note: All commits must include a Signed-off-by trailer at the end of each commit message to indicate that the contributor agrees to the Developer Certificate of Origin._ - Open a PR by ensuring the title and its description reflect the content of the PR. - Ensure that CI passes, if it fails, fix the failures. - Every pull request requires a review from the Docker team before merging. - Once approved, all of your commits will be squashed into a single commit with your PR title. -## Getting Started - -You will need to provide: +## 📋 Step-by-Step Guide +### 1️⃣ Fork this repository +Fork the repository to your own GitHub account and clone it locally. +### 2️⃣ Add your entry locally +Add your entry by creating a new folder following the `owner@name` template, and create a `server.yaml` inside describing your MCP server. You will need to provide: - A valid name for your MCP - The GitHub URL of your project. The project needs to have a valid Dockerfile. - A brief description of your MCP Server. - -Let's assume we have a new MCP Server to access my org's database. The MCP is called `My-ORGDB-MCP` and the GitHub repo is located at: https://github.com/myorg/my-orgdb-mcp We have created a bash script to simplify the creation process. +- A category for the MCP server, one of: +* 'ai' +* 'data-visualization' +* 'database' +* 'devops' +* 'ecommerce' +* 'finance' +* 'games' +* 'communication' +* 'monitoring' +* 'productivity' +* 'search' + +#### 🚀 Generate folder and `server.yaml` using `new-server.sh` script +You can use our script to automate the creation of the files. Let's assume we have a new MCP Server to access my org's database. The MCP is called `My-ORGDB-MCP` and the GitHub repo is located at: `https://github.com/myorg/my-orgdb-mcp` + +You can call the tool passing the MCP server name, category, and github url. ``` ./scripts/new-server.sh My-ORGDB-MCP databases https://github.com/myorg/my-orgdb-mcp @@ -65,26 +80,38 @@ source: # - param_name ``` -If you want to use a Docker image built by your organisation, you can pass it to the script as follows: +If you want to provide a specific Docker image built by your organisation, you can pass it to the script as follows: ``` IMAGE_NAME=myorg/myimage ./scripts/new-server.sh My-ORGDB-MCP databases https://github.com/myorg/my-orgdb-mcp ``` -As you can see, the configuration block has been commented out. If you need to pass environmental variables or secrets, please uncomment the -necessary lines. +As you can see, the configuration block has been commented out. If you need to pass environmental variables or secrets, please uncomment the necessary lines. + +🔒 If you don't provide a Docker image, we will build the image for you and host it in [Docker Hub's `mcp` namespace](https://hub.docker.com/u/mcp), the benefits are: image will include cryptographic signatures, provenance tracking, SBOMs, and automatic security updates. Otherwise, self-built images still benefit from container isolation but won't include the enhanced security features of Docker-built images. + +### 3️⃣ Run & Test your MCP Server locally +🚧 tbd + +### 4️⃣ Create `commit` and raise the Pull Request +🚧 tbd + +### 5️⃣ Wait for review and approval +Upon approval your entry will be processed and it will be available in 24 hours at: +- [MCP catalog](https://hub.docker.com/mcp) +- [Docker Desktop's MCP Toolkit](https://www.docker.com/products/docker-desktop/) +- [Docker Hub `mcp` namespace](https://hub.docker.com/u/mcp) (for MCP servers built by Docker) -## Testing your MCP Server -## Code of Conduct +## 📜 Code of Conduct This project follows a Code of Conduct. Please review it in [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md). -## Questions +## ❓ Questions If you have questions, please create an issue in the repository. -## License +## 📄 License By contributing, you agree that your contributions will be licensed under the MIT License.