From e53bafcf52efcc493fc1199d6fe22cc5d8a3b861 Mon Sep 17 00:00:00 2001 From: Kevin Vo Date: Fri, 19 Sep 2025 23:49:32 -0700 Subject: [PATCH 1/2] Added MCP Picker instructions --- docs/concepts/mcp.md | 44 +++++++++++++++++++++----- static/img/mcp-concept/mcp-picker.png | Bin 0 -> 52200 bytes 2 files changed, 36 insertions(+), 8 deletions(-) create mode 100644 static/img/mcp-concept/mcp-picker.png diff --git a/docs/concepts/mcp.md b/docs/concepts/mcp.md index e251a3f7b..ce6c972f3 100644 --- a/docs/concepts/mcp.md +++ b/docs/concepts/mcp.md @@ -28,9 +28,13 @@ Run the setup command in your terminal for your IDE of choice from the [Supporte Install the [Defang CLI](/docs/getting-started.mdx#install-the-defang-cli) using [Curl](https://curl.se/) or [Homebrew](https://brew.sh/) ```bash -defang mcp setup --client= +defang mcp setup ``` +An interactive prompt will appear asking you to select your IDE(s) from a list of supported IDE(s). Select your IDE(s) by using the spacebar and arrow keys to navigate and press enter to confirm your selection. +![Picker](/img/mcp-concept/mcp-picker.png) + +Please ensure that your selected IDE(s) are updated to the latest version to ensure compatibility. ::: Once the command completes, you may need to restart your IDE for the changes to take effect. @@ -39,6 +43,12 @@ Once the MCP Server is running, you can access the Defang MCP tools directly thr That's it! Feel free to explore our [Example Prompts](#example-prompts) to get ideas on how to interact with the AI agent and make the most of the Defang MCP Server. +Note that we still support the previous client selection method using `--client=` flag, but it is not recommended. + +```bash +defang mcp setup --client= +``` + Note that `npx` installation is supported, but not recommended. ```bash @@ -52,9 +62,11 @@ npx -y defang@latest mcp setup --client= Setup command: ```bash -defang mcp setup --client=cursor +defang mcp setup ``` +Select `cursor` from the [interactive prompt](#installation). + Once setup is complete, you can interact with the AI coding agent using Defang-related actions like `check defang services` or [other prompts](#example-prompts). Here's an example of what it could look like: ![Cursor](/img/mcp-concept/cursor.png) @@ -64,9 +76,15 @@ Once setup is complete, you can interact with the AI coding agent using Defang-r Setup command: ```bash -defang mcp setup --client=windsurf +defang mcp setup ``` +Select `windsurf` from the [interactive prompt](#installation). + +:::warning +Windsurf currently does not support [MCP prompts](https://docs.windsurf.com/windsurf/cascade/mcp#general-information), therefore BYOC providers (AWS, GCP) cannot be set up through Windsurf. You can still use Playground as your deployment provider or setup AWS/GCP using the Defang CLI or another supported IDE. +::: + Once setup is complete, you can interact with the AI coding agent using Defang-related actions like `check defang services` or [other prompts](#example-prompts). Here's an example of what it could look like: ![Windsurf](/img/mcp-concept/windsurf.png) @@ -76,9 +94,11 @@ Once setup is complete, you can interact with the AI coding agent using Defang-r Setup command: ```bash -defang mcp setup --client=vscode +defang mcp setup ``` +Select `vscode` from the [interactive prompt](#installation). + Once setup is complete, you can interact with the AI coding agent using Defang-related actions like `check defang services` or [other prompts](#example-prompts). Here's an example of what it could look like: ![VS Code](/img/mcp-concept/vscode.png) @@ -88,9 +108,11 @@ Once setup is complete, you can interact with the AI coding agent using Defang-r Setup command: ```bash -defang mcp setup --client=vscode-insiders +defang mcp setup ``` +Select `vscode-insiders` from the [interactive prompt](#installation). + Once setup is complete, you can interact with the AI coding agent using Defang-related actions like `check defang services` or [other prompts](#example-prompts). Here's an example of what it could look like: ![VS Code](/img/mcp-concept/vscode-insiders.png) @@ -100,9 +122,11 @@ Once setup is complete, you can interact with the AI coding agent using Defang-r Setup command: ```bash -defang mcp setup --client=kiro +defang mcp setup ``` +Select `kiro` from the [interactive prompt](#installation). + Once setup is complete, you can interact with the AI coding agent using Defang-related actions like `check defang services` or [other prompts](#example-prompts). Here's an example of what it could look like: ![Kiro](/img/mcp-concept/kiro.png) @@ -114,9 +138,11 @@ While this is not an IDE in the traditional sense, it can support MCP servers. F Setup command: ```bash -defang mcp setup --client=claude-desktop +defang mcp setup ``` +Select `claude-desktop` from the [interactive prompt](#installation). + Once setup is complete, you can interact with the AI coding agent using Defang-related actions like `check defang services` or [other prompts](#example-prompts). Here's an example of what it could look like: ![Claude Desktop](/img/mcp-concept/claude-desktop.png) @@ -128,9 +154,11 @@ While this is not an IDE in the traditional sense, it can support MCP servers. F Setup command: ```bash -defang mcp setup --client=claude-code +defang mcp setup ``` +Select `claude-code` from the [interactive prompt](#installation). + Once setup is complete, you can interact with the AI coding agent using Defang-related actions like `check defang services` or [other prompts](#example-prompts). Here's an example of what it could look like: ![Claude Code](/img/mcp-concept/claude-code.png) diff --git a/static/img/mcp-concept/mcp-picker.png b/static/img/mcp-concept/mcp-picker.png new file mode 100644 index 0000000000000000000000000000000000000000..289333a4bc13d38ea485813fe6314b96e742e3fa GIT binary patch literal 52200 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 Ef}$&ifB*mh literal 0 HcmV?d00001 From 29a7a2a984a521daf329d2147317d673d91587b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lio=E6=9D=8E=E6=AD=90?= Date: Thu, 2 Oct 2025 13:13:26 -0700 Subject: [PATCH 2/2] Update docs/concepts/mcp.md --- docs/concepts/mcp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/concepts/mcp.md b/docs/concepts/mcp.md index ce6c972f3..364377a7e 100644 --- a/docs/concepts/mcp.md +++ b/docs/concepts/mcp.md @@ -43,7 +43,7 @@ Once the MCP Server is running, you can access the Defang MCP tools directly thr That's it! Feel free to explore our [Example Prompts](#example-prompts) to get ideas on how to interact with the AI agent and make the most of the Defang MCP Server. -Note that we still support the previous client selection method using `--client=` flag, but it is not recommended. +Note that we still support the previous client selection method using `--client=` flag. ```bash defang mcp setup --client=