From d5fccd00ff2f329a87c80d07eed7ea8f8c31151d Mon Sep 17 00:00:00 2001 From: benjdlambert Date: Tue, 16 Sep 2025 10:46:46 +0200 Subject: [PATCH 1/5] chore: add docs Signed-off-by: benjdlambert --- plugins/mcp-actions-backend/README.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/plugins/mcp-actions-backend/README.md b/plugins/mcp-actions-backend/README.md index c44bd7f0a6..3b0a01f525 100644 --- a/plugins/mcp-actions-backend/README.md +++ b/plugins/mcp-actions-backend/README.md @@ -103,6 +103,29 @@ node -p 'require("crypto").randomBytes(24).toString("base64")' Set the `MCP_TOKEN` environment variable with this token, and configure your MCP client to use it in the [Authorization header](#configuring-mcp-clients) +#### Experimental: Dynamic Client Registration + +> This is highly experimental, proceed with caution. + +You can configure both the `auth-backend` and install the `auth` frontend plugin in order to enable [Dynamic Client Registration](https://modelcontextprotocol.io/specification/2025-03-26/basic/authorization#dynamic-client-registration) with MCP Clients. + +This means that there is no token required in your MCP settings, and a token will be given to a client that requests a token on your behalf. When adding the MCP server to an MCP client like Cursor or Claude, a popup that requires your approval will be opened in your Backstage instance, which is powered by the `auth` plugin. + +You will need to add the `@backstage/plugin-auth` package to your `app` `package.json`, and enable the following config in `app-config.yaml`: + +```yaml +auth: + experimentalDynamicClientRegistration: + # enable the feature + enabled: true + + # this is optional and will default to *, but you can limit the callback URLs which are valid for added security + allowedRedirectUriPatterns: + - cursor://* +``` + +> Note: the `@backstage/plugin-auth` package is only available currently in the new frontend system. + ## Configuring MCP Clients The MCP server supports both Server-Sent Events (SSE) and Streamable HTTP protocols. From 6a40d329559ced37c61103cf7627faa5a9c99b17 Mon Sep 17 00:00:00 2001 From: Ben Lambert Date: Tue, 16 Sep 2025 11:17:49 +0200 Subject: [PATCH 2/5] Update plugins/mcp-actions-backend/README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Fredrik Adelöw Signed-off-by: Ben Lambert --- plugins/mcp-actions-backend/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/mcp-actions-backend/README.md b/plugins/mcp-actions-backend/README.md index 3b0a01f525..99e364a8ce 100644 --- a/plugins/mcp-actions-backend/README.md +++ b/plugins/mcp-actions-backend/README.md @@ -105,6 +105,7 @@ Set the `MCP_TOKEN` environment variable with this token, and configure your MCP #### Experimental: Dynamic Client Registration +> [!CAUTION] > This is highly experimental, proceed with caution. You can configure both the `auth-backend` and install the `auth` frontend plugin in order to enable [Dynamic Client Registration](https://modelcontextprotocol.io/specification/2025-03-26/basic/authorization#dynamic-client-registration) with MCP Clients. From ae1f66928b0391b696102d3dbdd2529574acdd4a Mon Sep 17 00:00:00 2001 From: Ben Lambert Date: Tue, 16 Sep 2025 11:18:10 +0200 Subject: [PATCH 3/5] Apply suggestion from @freben MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Fredrik Adelöw Signed-off-by: Ben Lambert --- plugins/mcp-actions-backend/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/mcp-actions-backend/README.md b/plugins/mcp-actions-backend/README.md index 99e364a8ce..4b4dad153b 100644 --- a/plugins/mcp-actions-backend/README.md +++ b/plugins/mcp-actions-backend/README.md @@ -108,7 +108,7 @@ Set the `MCP_TOKEN` environment variable with this token, and configure your MCP > [!CAUTION] > This is highly experimental, proceed with caution. -You can configure both the `auth-backend` and install the `auth` frontend plugin in order to enable [Dynamic Client Registration](https://modelcontextprotocol.io/specification/2025-03-26/basic/authorization#dynamic-client-registration) with MCP Clients. +You can configure the `auth-backend` and install the `auth` frontend plugin in order to enable [Dynamic Client Registration](https://modelcontextprotocol.io/specification/2025-03-26/basic/authorization#dynamic-client-registration) with MCP Clients. This means that there is no token required in your MCP settings, and a token will be given to a client that requests a token on your behalf. When adding the MCP server to an MCP client like Cursor or Claude, a popup that requires your approval will be opened in your Backstage instance, which is powered by the `auth` plugin. From b1b17dd269143103e0fb892d06c45047a10da10a Mon Sep 17 00:00:00 2001 From: Ben Lambert Date: Tue, 16 Sep 2025 11:18:17 +0200 Subject: [PATCH 4/5] Apply suggestion from @freben MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Fredrik Adelöw Signed-off-by: Ben Lambert --- plugins/mcp-actions-backend/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/mcp-actions-backend/README.md b/plugins/mcp-actions-backend/README.md index 4b4dad153b..d81d0207c5 100644 --- a/plugins/mcp-actions-backend/README.md +++ b/plugins/mcp-actions-backend/README.md @@ -125,7 +125,8 @@ auth: - cursor://* ``` -> Note: the `@backstage/plugin-auth` package is only available currently in the new frontend system. +> [!NOTE] +> The `@backstage/plugin-auth` package is currently only available in the new frontend system. ## Configuring MCP Clients From 7f2a4a0de0461bd0bd8e1b977bc6847a9c49f7d9 Mon Sep 17 00:00:00 2001 From: benjdlambert Date: Tue, 16 Sep 2025 11:19:30 +0200 Subject: [PATCH 5/5] chore: fix changeset Signed-off-by: benjdlambert --- .changeset/flat-groups-remain.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/flat-groups-remain.md diff --git a/.changeset/flat-groups-remain.md b/.changeset/flat-groups-remain.md new file mode 100644 index 0000000000..5e61c8925d --- /dev/null +++ b/.changeset/flat-groups-remain.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-mcp-actions-backend': patch +--- + +Updating docs