Skip to content

Commit 660627e

Browse files
authored
Add charmbracelet crush client integration (#403)
**What I did** Add crush client integration to MCP Toolkit. <img width="1015" height="772" alt="Screenshot 2026-02-13 at 12 35 26 PM" src="https://github.com/user-attachments/assets/6e00e4d4-ded0-4e52-afab-7ac3d75998d2" /> **Testing** * Connected via pinata ``` cat ~/.config/crush/crush.json ─────┬─────────────────────────────────────────────────────────────────────────────────────────────────── │ File: /Users/justin/.config/crush/crush.json ─────┼─────────────────────────────────────────────────────────────────────────────────────────────────── 1 │ {"mcp":{"MCP_DOCKER":{"command":"docker","args":["mcp","gateway","run","--profile","default"],"typ │ e":"stdio"}}} ``` ``` What mcp tools are available ✓ Bash ./bin/docker-mcp tools list stat /Users/justin/Projects/mcp-gateway/bin/docker-mcp: no such file or directory Exit code 127 ✓ Bash docker mcp tools list 2>&1 || make docker-mcp && docker mcp tools list 2>&1 77 tools: - API-create-a-comment - Create A Comment - API-create-a-data-source - Create A Data Source - API-delete-a-block - Delete A Block - API-get-block-children - Get Block Children - API-get-self - Get Self - API-get-user - Get User - API-get-users - Get Users - API-list-data-source-templates - List Data Source Templates - API-move-page - Move Page … (149 lines hidden) [click or space to expand] You have 77 MCP tools available from various servers: ## Gateway Management Tools • mcp-add - Add new MCP server to session • mcp-remove - Remove MCP server from registry • mcp-find - Search for servers in catalog • mcp-exec - Execute a tool in current session • mcp-config-set - Configure MCP server settings • mcp-create-profile - Save current gateway state • mcp-activate-profile - Load a saved profile ## GitHub Tools (~40 tools) • Issue management: create, read, update, comment, search issues • Pull requests: create, read, update, merge, review PRs • Repository: create, fork, search repos • Files: get/create/update/delete files, push changes • Branches/Tags: list, create branches and tags • Releases: list, get releases • Teams: get teams and members • Code search: search code, users, repos ## Notion Tools (~15 tools) • Pages: create, retrieve, update, move, search pages • Blocks: get, update, delete, patch block children • Databases: retrieve database info • Data Sources: create, query, update data sources • Comments: create and retrieve comments • Users: get user info ... ``` * Connected via CLI ``` ❯ docker mcp client connect crush --profile default === Project-wide MCP Configurations (/Users/justin/Projects/mcp-gateway) === ● claude-code: disconnected ● crush: connected MCP_DOCKER: Docker MCP Catalog (gateway server) (stdio) ● cursor: no mcp configured ● kiro: no mcp configured ● vscode: no mcp configured You might have to restart 'crush'. Tip: Your client is now connected! Use docker mcp tools ls to see your available tools ``` **Related issue** <!-- If this is a bug fix, make sure your description includes "fixes #xxxx", or "closes #xxxx" --> **(not mandatory) A picture of a cute animal, if possible in relation to what you did**
1 parent 06f3eaf commit 660627e

File tree

6 files changed

+39
-13
lines changed

6 files changed

+39
-13
lines changed

docs/generator/reference/docker_mcp_client_connect.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
command: docker mcp client connect
22
short: |
3-
Connect the Docker MCP Toolkit to a client. Supported clients: claude-code claude-desktop cline codex continue cursor gemini goose gordon kiro lmstudio opencode sema4 vscode zed
3+
Connect the Docker MCP Toolkit to a client. Supported clients: claude-code claude-desktop cline codex continue crush cursor gemini goose gordon kiro lmstudio opencode sema4 vscode zed
44
long: |
5-
Connect the Docker MCP Toolkit to a client. Supported clients: claude-code claude-desktop cline codex continue cursor gemini goose gordon kiro lmstudio opencode sema4 vscode zed
5+
Connect the Docker MCP Toolkit to a client. Supported clients: claude-code claude-desktop cline codex continue crush cursor gemini goose gordon kiro lmstudio opencode sema4 vscode zed
66
usage: |-
77
docker mcp client connect [OPTIONS] <mcp-client>
88
9-
Supported clients: claude-code claude-desktop cline codex continue cursor gemini goose gordon kiro lmstudio opencode sema4 vscode zed
9+
Supported clients: claude-code claude-desktop cline codex continue crush cursor gemini goose gordon kiro lmstudio opencode sema4 vscode zed
1010
pname: docker mcp client
1111
plink: docker_mcp_client.yaml
1212
options:

docs/generator/reference/docker_mcp_client_disconnect.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
command: docker mcp client disconnect
22
short: |
3-
Disconnect the Docker MCP Toolkit from a client. Supported clients: claude-code claude-desktop cline codex continue cursor gemini goose gordon kiro lmstudio opencode sema4 vscode zed
3+
Disconnect the Docker MCP Toolkit from a client. Supported clients: claude-code claude-desktop cline codex continue crush cursor gemini goose gordon kiro lmstudio opencode sema4 vscode zed
44
long: |
5-
Disconnect the Docker MCP Toolkit from a client. Supported clients: claude-code claude-desktop cline codex continue cursor gemini goose gordon kiro lmstudio opencode sema4 vscode zed
5+
Disconnect the Docker MCP Toolkit from a client. Supported clients: claude-code claude-desktop cline codex continue crush cursor gemini goose gordon kiro lmstudio opencode sema4 vscode zed
66
usage: |-
77
docker mcp client disconnect [OPTIONS] <mcp-client>
88
9-
Supported clients: claude-code claude-desktop cline codex continue cursor gemini goose gordon kiro lmstudio opencode sema4 vscode zed
9+
Supported clients: claude-code claude-desktop cline codex continue crush cursor gemini goose gordon kiro lmstudio opencode sema4 vscode zed
1010
pname: docker mcp client
1111
plink: docker_mcp_client.yaml
1212
options:

docs/generator/reference/mcp_client.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ Manage MCP clients
55

66
### Subcommands
77

8-
| Name | Description |
9-
|:-----------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
10-
| [`connect`](mcp_client_connect.md) | Connect the Docker MCP Toolkit to a client. Supported clients: claude-code claude-desktop cline codex continue cursor gemini goose gordon kiro lmstudio opencode sema4 vscode zed |
11-
| [`disconnect`](mcp_client_disconnect.md) | Disconnect the Docker MCP Toolkit from a client. Supported clients: claude-code claude-desktop cline codex continue cursor gemini goose gordon kiro lmstudio opencode sema4 vscode zed |
12-
| [`ls`](mcp_client_ls.md) | List client configurations |
8+
| Name | Description |
9+
|:-----------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
10+
| [`connect`](mcp_client_connect.md) | Connect the Docker MCP Toolkit to a client. Supported clients: claude-code claude-desktop cline codex continue crush cursor gemini goose gordon kiro lmstudio opencode sema4 vscode zed |
11+
| [`disconnect`](mcp_client_disconnect.md) | Disconnect the Docker MCP Toolkit from a client. Supported clients: claude-code claude-desktop cline codex continue crush cursor gemini goose gordon kiro lmstudio opencode sema4 vscode zed |
12+
| [`ls`](mcp_client_ls.md) | List client configurations |
1313

1414

1515

docs/generator/reference/mcp_client_connect.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# docker mcp client connect
22

33
<!---MARKER_GEN_START-->
4-
Connect the Docker MCP Toolkit to a client. Supported clients: claude-code claude-desktop cline codex continue cursor gemini goose gordon kiro lmstudio opencode sema4 vscode zed
4+
Connect the Docker MCP Toolkit to a client. Supported clients: claude-code claude-desktop cline codex continue crush cursor gemini goose gordon kiro lmstudio opencode sema4 vscode zed
55

66
### Options
77

docs/generator/reference/mcp_client_disconnect.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# docker mcp client disconnect
22

33
<!---MARKER_GEN_START-->
4-
Disconnect the Docker MCP Toolkit from a client. Supported clients: claude-code claude-desktop cline codex continue cursor gemini goose gordon kiro lmstudio opencode sema4 vscode zed
4+
Disconnect the Docker MCP Toolkit from a client. Supported clients: claude-code claude-desktop cline codex continue crush cursor gemini goose gordon kiro lmstudio opencode sema4 vscode zed
55

66
### Options
77

pkg/client/config.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,24 @@ system:
266266
list: '.mcpServers | to_entries | map(.value + {"name": .key})'
267267
set: .mcpServers[$NAME] = $JSON
268268
del: del(.mcpServers[$NAME])
269+
crush:
270+
displayName: Crush
271+
source: https://github.com/charmbracelet/crush
272+
icon: https://avatars.githubusercontent.com/u/57376114?s=48&v=4
273+
installCheckPaths:
274+
- $HOME/.config/crush
275+
- $LOCALAPPDATA\crush
276+
paths:
277+
linux:
278+
- $HOME/.config/crush/crush.json
279+
darwin:
280+
- $HOME/.config/crush/crush.json
281+
windows:
282+
- $LOCALAPPDATA\crush\crush.json
283+
yq:
284+
list: '.mcp | to_entries | map(.value + {"name": .key})'
285+
set: .mcp[$NAME] = $JSON+{"type":"stdio"}
286+
del: del(.mcp[$NAME])
269287
project:
270288
cursor:
271289
displayname: Cursor
@@ -300,4 +318,12 @@ project:
300318
list: '.mcpServers | to_entries | map(.value + {"name": .key})'
301319
set: .mcpServers[$NAME] = $JSON
302320
del: del(.mcpServers[$NAME])
321+
crush:
322+
displayname: Crush
323+
projectfile: .crush.json
324+
icon: https://avatars.githubusercontent.com/u/57376114?s=48&v=4
325+
yq:
326+
list: '.mcp | to_entries | map(.value + {"name": .key})'
327+
set: .mcp[$NAME] = $JSON+{"type":"stdio"}
328+
del: del(.mcp[$NAME])
303329

0 commit comments

Comments
 (0)