Skip to content

Commit 26b2a0b

Browse files
authored
Update CONTRIBUTING.md
1 parent 533a588 commit 26b2a0b

1 file changed

Lines changed: 46 additions & 19 deletions

File tree

CONTRIBUTING.md

Lines changed: 46 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,43 @@
1-
# Contributing to Docker MCP Registry
2-
1+
# 🤝 Contributing to Docker MCP Registry
32
Thank you for your interest in contributing to the official Docker MCP Registry.
43
This document outlines how to contribute to this project.
54

6-
## Pull request process
7-
8-
- 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.
5+
## 🔄 Pull request process overview
96
- Fork the repository to your own GitHub account and clone it locally.
10-
- 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.
11-
- Correctly format your commit messages, see Commit message guidelines below.
7+
- Repository includes a `servers` folder where you should add a new folder with a `server.yaml` inside.
8+
- Repository includes a `scripts` folder with bash scripts to automate some of the steps.
9+
- 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._
1210
- Open a PR by ensuring the title and its description reflect the content of the PR.
1311
- Ensure that CI passes, if it fails, fix the failures.
1412
- Every pull request requires a review from the Docker team before merging.
1513
- Once approved, all of your commits will be squashed into a single commit with your PR title.
1614

17-
## Getting Started
18-
19-
You will need to provide:
15+
## 📋 Step-by-Step Guide
16+
### 1️⃣ Fork this repository
17+
Fork the repository to your own GitHub account and clone it locally.
2018

19+
### 2️⃣ Add your entry locally
20+
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:
2121
- A valid name for your MCP
2222
- The GitHub URL of your project. The project needs to have a valid Dockerfile.
2323
- A brief description of your MCP Server.
24-
25-
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.
24+
- A category for the MCP server, one of:
25+
* 'ai'
26+
* 'data-visualization'
27+
* 'database'
28+
* 'devops'
29+
* 'ecommerce'
30+
* 'finance'
31+
* 'games'
32+
* 'communication'
33+
* 'monitoring'
34+
* 'productivity'
35+
* 'search'
36+
37+
#### 🚀 Generate folder and `server.yaml` using `new-server.sh` script
38+
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`
39+
40+
You can call the tool passing the MCP server name, category, and github url.
2641

2742
```
2843
./scripts/new-server.sh My-ORGDB-MCP databases https://github.com/myorg/my-orgdb-mcp
@@ -65,26 +80,38 @@ source:
6580
# - param_name
6681
```
6782

68-
If you want to use a Docker image built by your organisation, you can pass it to the script as follows:
83+
If you want to provide a specific Docker image built by your organisation, you can pass it to the script as follows:
6984

7085
```
7186
IMAGE_NAME=myorg/myimage ./scripts/new-server.sh My-ORGDB-MCP databases https://github.com/myorg/my-orgdb-mcp
7287
```
7388

74-
As you can see, the configuration block has been commented out. If you need to pass environmental variables or secrets, please uncomment the
75-
necessary lines.
89+
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.
90+
91+
🔒 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.
92+
93+
### 3️⃣ Run & Test your MCP Server locally
94+
🚧 tbd
95+
96+
### 4️⃣ Create `commit` and raise the Pull Request
97+
🚧 tbd
98+
99+
### 5️⃣ Wait for review and approval
100+
Upon approval your entry will be processed and it will be available in 24 hours at:
101+
- [MCP catalog](https://hub.docker.com/mcp)
102+
- [Docker Desktop's MCP Toolkit](https://www.docker.com/products/docker-desktop/)
103+
- [Docker Hub `mcp` namespace](https://hub.docker.com/u/mcp) (for MCP servers built by Docker)
76104

77-
## Testing your MCP Server
78105

79-
## Code of Conduct
106+
## 📜 Code of Conduct
80107

81108
This project follows a Code of Conduct. Please review it in
82109
[CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md).
83110

84-
## Questions
111+
## Questions
85112

86113
If you have questions, please create an issue in the repository.
87114

88-
## License
115+
## 📄 License
89116

90117
By contributing, you agree that your contributions will be licensed under the MIT License.

0 commit comments

Comments
 (0)