You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Fork the repository to your own GitHub account and clone it locally.
7
14
- 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.
15
+
- Repository includes a `scripts` folder with bash scripts and Go code to automate some of the steps.
9
16
- 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._
10
17
- Open a PR by ensuring the title and its description reflect the content of the PR.
11
18
- Ensure that CI passes, if it fails, fix the failures.
@@ -22,76 +29,72 @@ Add your entry by creating a new folder following the `owner@name` template, and
22
29
- The GitHub URL of your project. The project needs to have a valid Dockerfile.
23
30
- A brief description of your MCP Server.
24
31
- 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.
32
+
* 'ai'
33
+
* 'data-visualization'
34
+
* 'database'
35
+
* 'devops'
36
+
* 'ecommerce'
37
+
* 'finance'
38
+
* 'games'
39
+
* 'communication'
40
+
* 'monitoring'
41
+
* 'productivity'
42
+
* 'search'
43
+
44
+
#### 🚀 Generate folder and `server.yaml` using `task create`
45
+
You can use our command to automate the creation of the files. Let's assume we have a new MCP Server to access my org's database. My server's GitHub repo is located at: `https://github.com/myorg/my-orgdb-mcp`
46
+
47
+
You can call the creation tool passing the category (required), and github url. If your server requires any environment variables, pass them at the end with `-e KEY=value`.
This will create a directory under `servers` as follows: `./servers/my-orgdb-mcp` and inside you will find a `server.yaml` file with your MCP definition.
53
+
This will build an image using the Dockerfile at the root of the repository, run it while verifying the MCP server is able to list tools, and then create the necessary files. It will create a directory under `servers` as follows: `./servers/my-orgdb-mcp` and inside you will find a `server.yaml` file with your MCP definition.
47
54
48
55
```
49
-
server:
50
-
name: test01
51
-
image: mcp/test01
56
+
name: my-orgdb-mcp
57
+
image: mcp/my-orgdb-mcp
52
58
type: server
53
59
meta:
54
-
category: test
60
+
category: database
55
61
tags:
56
-
- test
57
-
highlighted: false
62
+
- database
58
63
about:
59
-
title: test01
64
+
title: My OrgDB MCP (TODO)
65
+
description: TODO (only to provide a better description than the upstream project)
If you want to provide a specific Docker image built by your organisation, you can pass it to the script as follows:
77
+
If you want to provide a specific Docker image built by your organisation instead of having Docker build the image, you can specify it with the `--image` flag:
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
83
🔒 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
84
93
85
### 3️⃣ Run & Test your MCP Server locally
94
-
🚧 tbd
86
+
After creating your server file with `task create`, you will be given instructions for running it locally. In the case of my-orgdb-mcp, we would run the following commands next.
Now, if we go into the MCP Toolkit on Docker Desktop, we'll see our new MCP server there! We can configure and enable it there, and test it against configured clients. Once we're done testing, we can restore it back to the original Docker catalog.
94
+
95
+
```
96
+
docker mcp catalog reset
97
+
```
95
98
96
99
### 4️⃣ Create `commit` and raise the Pull Request
0 commit comments