Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions cmd/docker-mcp/client/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -220,6 +220,24 @@ system:
list: '.context_servers | to_entries | map(.value + {"name": .key})'
set: .context_servers[$NAME] = {"source":"custom","enabled":true}+$JSON
del: del(.context_servers[$NAME])
amazon-q:
displayName: Amazon Q Developer CLI
source: https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/command-line-getting-started.html
icon: https://raw.githubusercontent.com/docker/mcp-gateway/main/img/client/amazon-q.svg
installCheckPaths:
- $HOME/.aws/amazonq
- $USERPROFILE\.aws\amazonq
paths:
linux:
- $HOME/.aws/amazonq/mcp.json
darwin:
- $HOME/.aws/amazonq/mcp.json
windows:
- $USERPROFILE\.aws\amazonq\mcp.json
yq:
list: '.mcpServers | to_entries | map(.value + {"name": .key})'
set: .mcpServers[$NAME] = $JSON
del: del(.mcpServers[$NAME])
project:
cursor:
displayname: Cursor
Expand All @@ -245,3 +263,13 @@ project:
list: '.mcpServers | to_entries | map(.value + {"name": .key})'
set: .mcpServers[$NAME] = $JSON+{"type":"stdio"}
del: del(.mcpServers[$NAME])
amazon-q:
displayName: Amazon Q Developer CLI
source: https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/command-line-getting-started.html
icon: https://raw.githubusercontent.com/docker/mcp-gateway/main/img/client/amazon-q.svg
projectfile: .amazonhq/mcp.json
yq:
list: '.mcpServers | to_entries | map(.value + {"name": .key})'
set: .mcpServers[$NAME] = $JSON
del: del(.mcpServers[$NAME])

30 changes: 30 additions & 0 deletions cmd/docker-mcp/client/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,22 @@ func Test_yq_list(t *testing.T) {
HTTPServers: []MCPServerHTTP{},
},
},
{
name: "Amazon Q",
cfg: config.System[vendorAmazonQ],
content: "list/amazon-q.json",
result: &MCPJSONLists{
STDIOServers: []MCPServerSTDIO{
{
Name: "MCP_DOCKER",
Command: "docker",
Args: []string{"mcp", "gateway", "run"},
},
},
SSEServers: []MCPServerSSE{},
HTTPServers: []MCPServerHTTP{},
},
},
}
for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) {
Expand Down Expand Up @@ -213,6 +229,20 @@ func Test_yq_add_del(t *testing.T) {
afterAdd: "zed-create/after-add.json",
afterDel: "zed-create/after-del.json",
},
{
name: "Amazon Q - append",
cfg: config.System[vendorAmazonQ],
original: "amazon-q-append/original.json",
afterAdd: "amazon-q-append/after-add.json",
afterDel: "amazon-q-append/after-del.json",
},
{
name: "Amazon Q - create",
cfg: config.System[vendorAmazonQ],
original: "amazon-q-create/original.json",
afterAdd: "amazon-q-create/after-add.json",
afterDel: "amazon-q-create/after-del.json",
},
}
for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) {
Expand Down
1 change: 1 addition & 0 deletions cmd/docker-mcp/client/ls.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ const (
vendorGordon = "gordon"
vendorZed = "zed"
vendorCodex = "codex"
vendorAmazonQ = "amazon-q"
)

const (
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"foo":true,"mcpServers":{"something":{},"my-server":{"command":"docker","args":["mcp","gateway","run"]}}}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"foo":true,"mcpServers":{"something":{}}}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"foo": true,
"mcpServers": {
"something": {}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"mcpServers":{"my-server":{"command":"docker","args":["mcp","gateway","run"]}}}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"mcpServers":{}}
Empty file.
12 changes: 12 additions & 0 deletions cmd/docker-mcp/client/testdata/list/amazon-q.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"mcpServers": {
"MCP_DOCKER": {
"command": "docker",
"args": [
"mcp",
"gateway",
"run"
]
}
}
}
6 changes: 3 additions & 3 deletions docs/generator/reference/docker_mcp_client_connect.yaml
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
command: docker mcp client connect
short: |
Connect the Docker MCP Toolkit to a client. Supported clients: claude-code claude-desktop codex continue cursor gemini goose gordon lmstudio opencode sema4 vscode zed
Connect the Docker MCP Toolkit to a client. Supported clients: amazon-q claude-code claude-desktop codex continue cursor gemini goose gordon lmstudio opencode sema4 vscode zed
long: |
Connect the Docker MCP Toolkit to a client. Supported clients: claude-code claude-desktop codex continue cursor gemini goose gordon lmstudio opencode sema4 vscode zed
Connect the Docker MCP Toolkit to a client. Supported clients: amazon-q claude-code claude-desktop codex continue cursor gemini goose gordon lmstudio opencode sema4 vscode zed
usage: |-
docker mcp client connect [OPTIONS] <mcp-client>

Supported clients: claude-code claude-desktop codex continue cursor gemini goose gordon lmstudio opencode sema4 vscode zed
Supported clients: amazon-q claude-code claude-desktop codex continue cursor gemini goose gordon lmstudio opencode sema4 vscode zed
pname: docker mcp client
plink: docker_mcp_client.yaml
options:
Expand Down
6 changes: 3 additions & 3 deletions docs/generator/reference/docker_mcp_client_disconnect.yaml
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
command: docker mcp client disconnect
short: |
Disconnect the Docker MCP Toolkit from a client. Supported clients: claude-code claude-desktop codex continue cursor gemini goose gordon lmstudio opencode sema4 vscode zed
Disconnect the Docker MCP Toolkit from a client. Supported clients: amazon-q claude-code claude-desktop codex continue cursor gemini goose gordon lmstudio opencode sema4 vscode zed
long: |
Disconnect the Docker MCP Toolkit from a client. Supported clients: claude-code claude-desktop codex continue cursor gemini goose gordon lmstudio opencode sema4 vscode zed
Disconnect the Docker MCP Toolkit from a client. Supported clients: amazon-q claude-code claude-desktop codex continue cursor gemini goose gordon lmstudio opencode sema4 vscode zed
usage: |-
docker mcp client disconnect [OPTIONS] <mcp-client>

Supported clients: claude-code claude-desktop codex continue cursor gemini goose gordon lmstudio opencode sema4 vscode zed
Supported clients: amazon-q claude-code claude-desktop codex continue cursor gemini goose gordon lmstudio opencode sema4 vscode zed
pname: docker mcp client
plink: docker_mcp_client.yaml
options:
Expand Down
10 changes: 5 additions & 5 deletions docs/generator/reference/mcp_client.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ Manage MCP clients

### Subcommands

| Name | Description |
|:-----------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [`connect`](mcp_client_connect.md) | Connect the Docker MCP Toolkit to a client. Supported clients: claude-code claude-desktop codex continue cursor gemini goose gordon lmstudio opencode sema4 vscode zed |
| [`disconnect`](mcp_client_disconnect.md) | Disconnect the Docker MCP Toolkit from a client. Supported clients: claude-code claude-desktop codex continue cursor gemini goose gordon lmstudio opencode sema4 vscode zed |
| [`ls`](mcp_client_ls.md) | List client configurations |
| Name | Description |
|:-----------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [`connect`](mcp_client_connect.md) | Connect the Docker MCP Toolkit to a client. Supported clients: amazon-q claude-code claude-desktop codex continue cursor gemini goose gordon lmstudio opencode sema4 vscode zed |
| [`disconnect`](mcp_client_disconnect.md) | Disconnect the Docker MCP Toolkit from a client. Supported clients: amazon-q claude-code claude-desktop codex continue cursor gemini goose gordon lmstudio opencode sema4 vscode zed |
| [`ls`](mcp_client_ls.md) | List client configurations |



Expand Down
2 changes: 1 addition & 1 deletion docs/generator/reference/mcp_client_connect.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# docker mcp client connect

<!---MARKER_GEN_START-->
Connect the Docker MCP Toolkit to a client. Supported clients: claude-code claude-desktop codex continue cursor gemini goose gordon lmstudio opencode sema4 vscode zed
Connect the Docker MCP Toolkit to a client. Supported clients: amazon-q claude-code claude-desktop codex continue cursor gemini goose gordon lmstudio opencode sema4 vscode zed

### Options

Expand Down
2 changes: 1 addition & 1 deletion docs/generator/reference/mcp_client_disconnect.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# docker mcp client disconnect

<!---MARKER_GEN_START-->
Disconnect the Docker MCP Toolkit from a client. Supported clients: claude-code claude-desktop codex continue cursor gemini goose gordon lmstudio opencode sema4 vscode zed
Disconnect the Docker MCP Toolkit from a client. Supported clients: amazon-q claude-code claude-desktop codex continue cursor gemini goose gordon lmstudio opencode sema4 vscode zed

### Options

Expand Down
12 changes: 12 additions & 0 deletions img/client/amazon-q.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading