Add MCP Server Quickstart - #1179
Conversation
There was a problem hiding this comment.
Pull request overview
Adds new Duende IdentityServer documentation covering an MCP Server demo that uses Dynamic Client Registration (DCR), plus a Samples landing page entry that links to the corresponding GitHub sample.
Changes:
- Added a new quickstart: “Connecting an MCP Server and Client with DCR”
- Added a new Samples page: “MCP Server and Client” with a LinkCard to the demo repo
- Cross-linked the quickstart and the sample page
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| astro/src/content/docs/identityserver/samples/mcp-server.mdx | New samples page for the MCP demo, with links to DCR docs and the GitHub sample. |
| astro/src/content/docs/identityserver/quickstarts/8-mcp.mdx | New end-to-end quickstart describing IdentityServer + MCP Server + console client setup using DCR. |
Suppressed comments (4)
astro/src/content/docs/identityserver/quickstarts/8-mcp.mdx:29
- Grammar: "The below steps … adds" should be "The steps below … add".
The IdentityServer project needs to be configured to use DCR to allow clients at runtime. The below steps disable the static clients and adds DCR. Add a new Duende IdentityServer InMemory project to its own directory inside the `mcp-quickstart` directory you created above.
astro/src/content/docs/identityserver/quickstarts/8-mcp.mdx:101
- Typo in the code comment: "metadatada" should be "metadata".
// this will add the default dynamic client registration endpoint to the discovery/metadatada documents
astro/src/content/docs/identityserver/quickstarts/8-mcp.mdx:170
- Minor typo/formatting in the snippet comment: add a space after
//for readability/consistency.
//Add this line
astro/src/content/docs/identityserver/quickstarts/8-mcp.mdx:492
- The XML doc comment block is malformed (it closes
</summary>without opening<summary>) and the<param>names don’t match the method signature (authContext, notauthorizationUrl/redirectUri). Since this is a copy/paste snippet, it’s worth keeping it correct.
/// Handles the OAuth authorization URL by starting a local HTTP server and opening a browser.
/// This implementation demonstrates how SDK consumers can provide their own authorization flow.
/// </summary>
/// <param name="authorizationUrl">The authorization URL to open in the browser.</param>
/// <param name="redirectUri">The redirect URI where the authorization code will be sent.</param>
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
maartenba
left a comment
There was a problem hiding this comment.
Left a bunch of comments, roughly two groups:
- The reader arrives wanting to secure AI tools, not learn about DCR per se (it's a means to an end). Flipping to "here's how to secure your MCP server with IdentityServer (using DCR under the hood)"
- Elaboration on some concepts. It's not the easiest topic and I think we may be glossing over a couple of things currently.
- (OK three groups) Some formatting/Astro suggestions.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Maarten Balliauw <maarten@balliauw.be>
This guy is on vacation and AL resolved his issues.
This is the documentation update for https://github.com/DuendeSoftware/customer-success/issues/864