Skip to content

Commit 2c8826a

Browse files
ipedrazascmrigney
andauthored
feat: adding wizard to simplify server config creation (github#37)
* feat: adding wizard to simplify server config creation Signed-off-by: Ivan Pedrazas <ivan.pedrazas@docker.com> * Update CONTRIBUTING.md Co-authored-by: Cody Rigney <cody.rigney@docker.com> --------- Signed-off-by: Ivan Pedrazas <ivan.pedrazas@docker.com> Co-authored-by: Cody Rigney <cody.rigney@docker.com>
1 parent 4f53a29 commit 2c8826a

File tree

5 files changed

+792
-20
lines changed

5 files changed

+792
-20
lines changed

CONTRIBUTING.md

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ This document outlines how to contribute to this project.
1111

1212
## 🔄 Pull request process overview
1313

14+
- Make sure that the license of your MCP Server allows people to consume it. (MIT or Apache 2 are great, GPL is not).
1415
- Fork the repository to your own GitHub account and clone it locally.
1516
- Repository includes a `servers` folder where you should add a new folder with a `server.yaml` inside.
1617
- Repository includes a `cmd` folder with Go code to automate some of the steps.
@@ -27,25 +28,17 @@ Fork the repository to your own GitHub account and clone it locally.
2728

2829
### 2️⃣ Add your entry locally
2930

30-
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:
31-
32-
- A valid name for your MCP
33-
- The GitHub URL of your project. The project needs to have a valid Dockerfile.
34-
- A brief description of your MCP Server.
35-
- A category for the MCP server, one of:
36-
- 'ai'
37-
- 'data-visualization'
38-
- 'database'
39-
- 'devops'
40-
- 'ecommerce'
41-
- 'finance'
42-
- 'games'
43-
- 'communication'
44-
- 'monitoring'
45-
- 'productivity'
46-
- 'search'
47-
48-
#### 🚀 Generate folder and `server.yaml` using `task create`
31+
#### 🚀 Generate your server configuration using `task wizard`
32+
33+
```
34+
task wizard
35+
```
36+
37+
Using the wizard it's the easiest way to create your `server.yaml`, you first need to provide a valid github repo with a Dockerfile, which the wizard will analyze to populate the server default values (you can overwrite them directly in the wizard if you need to).
38+
39+
The wizard allows you to add environment variables, secrets and volumes.
40+
41+
#### 🚀 Alternatively: Generate your server configuration using `task create`
4942

5043
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`
5144

Taskfile.yml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,18 @@ tasks:
1111

1212
catalog:
1313
desc: Generate a test catalog
14-
cmd: go run ./cmd/catalog {{.CLI_ARGS}}
14+
cmd: go run ./cmd/catalog {{.CLI_ARGS}}
15+
16+
wizard:
17+
desc: Run the wizard
18+
cmd: go run ./cmd/wizard {{.CLI_ARGS}}
19+
20+
import:
21+
desc: Import a server into the registry
22+
cmd: docker mcp catalog import ./catalogs/{{.CLI_ARGS}}/catalog.yaml
23+
24+
reset:
25+
desc: Reset the catalog
26+
cmds:
27+
- docker mcp catalog reset
28+
- docker mcp catalog init

0 commit comments

Comments
 (0)