Skip to content

Commit d091537

Browse files
committed
Update some more docs.
1 parent adcd071 commit d091537

File tree

3 files changed

+58
-66
lines changed

3 files changed

+58
-66
lines changed

docs/catalog.md

Lines changed: 44 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# MCP Catalog Management
22

3+
*Important note: This method of catalog management is deprecated. Please see [Profiles](profiles.md) for more information on how to use catalogs.*
4+
35
Docker MCP Gateway provides comprehensive catalog management capabilities, allowing you to create, manage, and use custom MCP server catalogs alongside Docker's official catalog.
46

57
## Quick Start with Bootstrap
@@ -8,7 +10,7 @@ The easiest way to get started with custom catalogs is to use the `bootstrap` co
810

911
```bash
1012
# Create a starter catalog with Docker Hub and Docker CLI server examples
11-
docker mcp catalog bootstrap ./my-starter-catalog.yaml
13+
docker mcp catalog-deprecated bootstrap ./my-starter-catalog.yaml
1214

1315
# The file now contains properly formatted server definitions you can modify
1416
```
@@ -25,17 +27,17 @@ This creates a YAML file with real server definitions that you can:
2527

2628
```bash
2729
# List all configured catalogs
28-
docker mcp catalog ls
30+
docker mcp catalog-deprecated ls
2931

3032
# List in JSON format
31-
docker mcp catalog ls --format=json
33+
docker mcp catalog-deprecated ls --format=json
3234
```
3335

3436
### Creating Catalogs
3537

3638
```bash
3739
# Create a new empty catalog
38-
docker mcp catalog create my-custom-catalog
40+
docker mcp catalog-deprecated create my-custom-catalog
3941

4042
# The catalog is now ready for adding servers
4143
```
@@ -44,62 +46,62 @@ docker mcp catalog create my-custom-catalog
4446

4547
```bash
4648
# Show servers in the default Docker catalog
47-
docker mcp catalog show
49+
docker mcp catalog-deprecated show
4850

4951
# Show servers in a specific catalog
50-
docker mcp catalog show my-custom-catalog
52+
docker mcp catalog-deprecated show my-custom-catalog
5153

5254
# Show in different formats
53-
docker mcp catalog show docker-mcp --format json
54-
docker mcp catalog show docker-mcp --format yaml
55+
docker mcp catalog-deprecated show docker-mcp --format json
56+
docker mcp catalog-deprecated show docker-mcp --format yaml
5557
```
5658

5759
### Adding Servers to Catalogs
5860

5961
```bash
6062
# Add a server from another catalog file
61-
docker mcp catalog add my-custom-catalog server-name ./source-catalog.yaml
63+
docker mcp catalog-deprecated add my-custom-catalog server-name ./source-catalog.yaml
6264

6365
# Force overwrite if server already exists
64-
docker mcp catalog add my-custom-catalog server-name ./source-catalog.yaml --force
66+
docker mcp catalog-deprecated add my-custom-catalog server-name ./source-catalog.yaml --force
6567
```
6668

6769
### Importing Servers from OSS MCP Community Registry
6870

6971
```bash
7072
# replace {id} in the url below
71-
docker mcp catalog import my-custom-catalog --mcp-registry https://registry.modelcontextprotocol.io/v0/servers/{id}
73+
docker mcp catalog-deprecated import my-custom-catalog --mcp-registry https://registry.modelcontextprotocol.io/v0/servers/{id}
7274
```
7375

7476
### Importing Other Catalogs
7577

7678
```bash
7779
# Import a catalog from a local file
78-
docker mcp catalog import ./my-catalog.yaml
80+
docker mcp catalog-deprecated import ./my-catalog.yaml
7981

8082
# Import from a URL
81-
docker mcp catalog import https://example.com/catalog.yaml
83+
docker mcp catalog-deprecated import https://example.com/catalog.yaml
8284

8385
# Import with an alias
84-
docker mcp catalog import team-servers
86+
docker mcp catalog-deprecated import team-servers
8587
```
8688

8789
### Exporting Catalogs
8890

8991
```bash
9092
# Export a custom catalog to a file
91-
docker mcp catalog export my-custom-catalog ./backup.yaml
93+
docker mcp catalog-deprecated export my-custom-catalog ./backup.yaml
9294

9395
# Note: You cannot export Docker's official catalog
94-
docker mcp catalog export docker-mcp ./docker-backup.yaml
95-
# Error: Cannot export the Docker MCP catalog as it is managed by Docker
96+
docker mcp catalog-deprecated export docker-mcp ./docker-backup.yaml
97+
# Error: Cannot export the Docker MCP catalog-deprecated as it is managed by Docker
9698
```
9799

98100
### Forking Catalogs
99101

100102
```bash
101103
# Create a copy of an existing catalog
102-
docker mcp catalog fork docker-mcp my-custom-version
104+
docker mcp catalog-deprecated fork docker-mcp my-custom-version
103105

104106
# Now you can modify my-custom-version independently
105107
```
@@ -108,7 +110,7 @@ docker mcp catalog fork docker-mcp my-custom-version
108110

109111
```bash
110112
# Remove a custom catalog
111-
docker mcp catalog rm my-custom-catalog
113+
docker mcp catalog-deprecated rm my-custom-catalog
112114

113115
# Note: You cannot remove Docker's official catalog
114116
```
@@ -117,17 +119,17 @@ docker mcp catalog rm my-custom-catalog
117119

118120
```bash
119121
# Update all catalogs
120-
docker mcp catalog update
122+
docker mcp catalog-deprecated update
121123

122124
# Update a specific catalog
123-
docker mcp catalog update my-custom-catalog
125+
docker mcp catalog-deprecated update my-custom-catalog
124126
```
125127

126128
### Resetting Catalogs
127129

128130
```bash
129131
# Remove all custom catalogs and reset to Docker defaults
130-
docker mcp catalog reset
132+
docker mcp catalog-deprecated reset
131133
```
132134

133135
## Catalog YAML Format
@@ -255,13 +257,13 @@ registry:
255257
256258
```bash
257259
# 1. Create a starter catalog for reference
258-
docker mcp catalog bootstrap ./starter-catalog.yaml
260+
docker mcp catalog-deprecated bootstrap ./starter-catalog.yaml
259261

260262
# 2. Create your own catalog
261-
docker mcp catalog create dev-servers
263+
docker mcp catalog-deprecated create dev-servers
262264

263265
# 3. Add useful servers from the starter (optional)
264-
docker mcp catalog add dev-servers dockerhub ./starter-catalog.yaml
266+
docker mcp catalog-deprecated add dev-servers dockerhub ./starter-catalog.yaml
265267

266268
# 4. Create a custom server definition file
267269
cat > my-server.yaml << EOF
@@ -276,66 +278,66 @@ registry:
276278
EOF
277279

278280
# 5. Add your custom server
279-
docker mcp catalog add dev-servers my-dev-server ./my-server.yaml
281+
docker mcp catalog-deprecated add dev-servers my-dev-server ./my-server.yaml
280282
```
281283

282284
### Importing from the OSS MCP Community Registry
283285

284286
```bash
285287
# 1. Create a destination catalog for your community servers
286-
docker mcp catalog create community-catalog
288+
docker mcp catalog-deprecated create community-catalog
287289

288290
# 2. import the OSS MCP community server resource
289-
docker mcp catalog import --mcp-registry http://registry.modelcontextprotocol.io/v0/servers/71de5a2a-6cfb-4250-a196-f93080ecc860
291+
docker mcp catalog-deprecated import --mcp-registry http://registry.modelcontextprotocol.io/v0/servers/71de5a2a-6cfb-4250-a196-f93080ecc860
290292

291293
# 3. show the imported server
292-
docker mcp catalog show community-catalog --format=json | jq .
294+
docker mcp catalog-deprecated show community-catalog --format=json | jq .
293295
```
294296

295297
### Team Sharing Workflow
296298

297299
```bash
298300
# Team lead: Create and export a team catalog
299-
docker mcp catalog create team-servers
300-
docker mcp catalog add team-servers shared-db ./shared-db-server.yaml
301-
docker mcp catalog add team-servers api-helper ./api-helper-server.yaml
302-
docker mcp catalog export team-servers ./team-catalog.yaml
301+
docker mcp catalog-deprecated create team-servers
302+
docker mcp catalog-deprecated add team-servers shared-db ./shared-db-server.yaml
303+
docker mcp catalog-deprecated add team-servers api-helper ./api-helper-server.yaml
304+
docker mcp catalog-deprecated export team-servers ./team-catalog.yaml
303305

304306
# Share team-catalog.yaml with team members
305307

306308
# Team members: Import the shared catalog
307-
docker mcp catalog import ./team-catalog.yaml
309+
docker mcp catalog-deprecated import ./team-catalog.yaml
308310
docker mcp gateway run
309311
```
310312

311313
### Testing New Servers
312314

313315
```bash
314316
# 1. Create a test catalog
315-
docker mcp catalog create test-servers
317+
docker mcp catalog-deprecated create test-servers
316318

317319
# 2. Add your server for testing
318-
docker mcp catalog add test-servers test-server ./test-server.yaml
320+
docker mcp catalog-deprecated add test-servers test-server ./test-server.yaml
319321

320322
# 3. Run gateway with test catalog
321323
docker mcp gateway run
322324

323325
# 4. When done testing, clean up
324-
docker mcp catalog rm test-servers
326+
docker mcp catalog-deprecated rm test-servers
325327
```
326328

327329
### Production Deployment
328330

329331
```bash
330332
# 1. Create production catalog
331-
docker mcp catalog create prod-servers
333+
docker mcp catalog-deprecated create prod-servers
332334

333335
# 2. Add only production-ready servers
334-
docker mcp catalog add prod-servers monitoring ./monitoring-server.yaml
335-
docker mcp catalog add prod-servers logging ./logging-server.yaml
336+
docker mcp catalog-deprecated add prod-servers monitoring ./monitoring-server.yaml
337+
docker mcp catalog-deprecated add prod-servers logging ./logging-server.yaml
336338

337339
# 3. Export for backup and deployment
338-
docker mcp catalog export prod-servers ./prod-catalog-backup.yaml
340+
docker mcp catalog-deprecated export prod-servers ./prod-catalog-backup.yaml
339341

340342
# 4. Deploy with production catalog
341343
docker mcp gateway run
@@ -375,7 +377,7 @@ Error: server "server-name" not found in catalog "source.yaml"
375377

376378
### Cannot Export Docker Catalog
377379
```bash
378-
Error: cannot export the Docker MCP catalog as it is managed by Docker
380+
Error: cannot export the Docker MCP catalog-deprecated as it is managed by Docker
379381
```
380382
**Solution**: This is intentional - Docker's catalog cannot be exported. Use `bootstrap` to get Docker server examples instead.
381383

docs/mcp-gateway.md

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -9,29 +9,23 @@ See [Why running MCP Servers in Container is more secure](security.md)
99
Start up an MCP Gateway. This can be used for one client, or to service multiple clients if using either `sse` or `streaming` transports.
1010

1111
```bash
12-
# Run the MCP gateway (stdio)
12+
# Run with a profile (stdio)
13+
docker mcp gateway run --profile my-profile
14+
15+
# Run the MCP gateway (stdio) - uses the profile with ID "default"
1316
docker mcp gateway run
1417

1518
# Run the MCP gateway (streaming)
16-
docker mcp gateway run --port 8080 --transport streaming
17-
18-
# Run with specific servers only, and select all tools from server1 and just tool2 from server2
19-
docker mcp gateway run --servers server1,server2 --tools server1:* --tools server2:tool2
20-
21-
# Run a fallback secret lookup - lookup desktop secret first and the fallback to a local .env file
22-
docker mcp gateway run --secrets=docker-desktop:./.env
19+
docker mcp gateway run --profile my-profile --port 8080 --transport streaming
2320

2421
# Run with verbose logging
25-
docker mcp gateway run --verbose --log-calls
22+
docker mcp gateway run --profile my-profile --verbose --log-calls
2623

2724
# Run in watch mode (auto-reload on config changes)
28-
docker mcp gateway run --watch
25+
docker mcp gateway run --profile my-profile --watch
2926

3027
# Run a standalone dockerized MCP server (no catalog required)
3128
docker mcp gateway run --server docker.io/namespace/repository:latest
32-
33-
# Run with a profile (requires profiles feature to be enabled)
34-
docker mcp gateway run --profile my-working-set
3529
```
3630

3731
See [Profiles](profiles.md) for more information about organizing servers into reusable collections.
@@ -45,14 +39,16 @@ A typical usage looks like this Claude Desktop configuration:
4539
"mcpServers": {
4640
"MCP_DOCKER": {
4741
"command": "docker",
48-
"args": ["mcp", "gateway", "run"]
42+
"args": ["mcp", "gateway", "run", "--profile", "my-profile"]
4943
}
5044
}
5145
}
5246
```
5347

5448
## How to run the MCP Gateway with Docker Compose?
5549

50+
*Note: This is using a deprecated method of working with the gateway. Profile support in compose is coming soon.*
51+
5652
The simplest way to tun the MCP Gateway with Docker Compose is with this kind of compose file:
5753

5854
```
@@ -61,8 +57,10 @@ services:
6157
image: docker/mcp-gateway
6258
command:
6359
- --servers=duckduckgo
60+
- --catalog=/mcp/catalog.yaml
6461
volumes:
6562
- /var/run/docker.sock:/var/run/docker.sock
63+
- ./catalog.yaml:/mcp/catalog.yaml
6664
```
6765

6866
### What does it do?
@@ -90,6 +88,7 @@ Docker MCP Toolkit's CLI - Manage your MCP servers and clients.
9088
Usage: docker mcp gateway run
9189
9290
Flags:
91+
--profile string Profile ID to use (incompatible with --servers, --enable-all-servers, --catalog, --registry, --config, --tools-config, --secrets, --oci-ref, --mcp-registry)
9392
--block-network Block tools from accessing forbidden network resources
9493
--block-secrets Block secrets from being/received sent to/from tools (default true)
9594
--catalog string path to the docker-mcp.yaml catalog (absolute or relative to ~/.docker/mcp/catalogs/) (default "docker-mcp.yaml")
@@ -109,11 +108,8 @@ Flags:
109108
--verbose Verbose output
110109
--verify-signatures Verify signatures of the server images
111110
--watch Watch for changes and reconfigure the gateway (default true)
112-
--profile string Profile ID to use (requires working-sets feature, mutually exclusive with --servers and --enable-all-servers)
113111
```
114112

115-
**Note:** The `--profile` flag is only available when the `profiles` feature is enabled via `docker mcp feature enable profiles`.
116-
117113
## Troubleshooting
118114

119115
Look at our [Troubleshooting Guide](/docs/troubleshooting.md)

docs/troubleshooting.md

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ What can you do to pinpoint where the problem comes from?
88
The go to command to start a fresh Gateway, plugged into Docker Desltop's Toolkit is this one:
99

1010
```console
11-
docker mcp gateway run --verbose --dry-run
11+
docker mcp gateway run --profile my-profile --verbose --dry-run
1212
```
1313

1414
This will show you how the Gateway is reading the configuration, which servers are actually
@@ -19,12 +19,6 @@ It'll show you how many tools you have, in aggregate.
1919
This is usually a good way to troubleshoot missing images, invalid server names, missing config
2020
or secrets...
2121

22-
You can also focus a one given server with:
23-
24-
```console
25-
docker mcp gateway run --verbose --dry-run --servers=duckduckgo
26-
```
27-
2822
## Debug tool calls
2923

3024
Full fledge MCP clients might sometimes hide the errors they encounter while calling tools

0 commit comments

Comments
 (0)