buildmymcpserver/apps/web
Marco Sadjadi 4d136c4fb2
All checks were successful
Deploy to Production / deploy (push) Successful in 1m31s
fix(mcp): RFC 9728 protected-resource metadata path + audience binding
Codex/RFC review showed that Claude Desktop addresses the MCP resource
as <PUBLIC_URL>/mcp (the streamable-HTTP endpoint) rather than the
base URL. Per RFC 9728 the protected-resource metadata then lives at
.well-known/oauth-protected-resource inserted between host and path:

  https://mcp.buildmymcpserver.com/.well-known/oauth-protected-resource/<slug>/mcp

Runner template now:
  - publishes `resource: <PUBLIC_URL>/mcp`
  - sets WWW-Authenticate to the RFC 9728 well-known URL
  - serves /.well-known/oauth-protected-resource[/*] so the metadata
    answers at both the legacy and RFC paths during transition
  - accepts both audiences (<PUBLIC_URL>/mcp + <PUBLIC_URL>) during
    rollout so already-issued tokens keep working

API:
  - resolveServerByResource() tries port first, then path segment
    (production path-routing), with a guard against treating "mcp" as
    a tenant slug
  - AS metadata advertises resource_parameter_supported: true

nginx (scripts/setup-runner-tls.sh + scripts/bmm-mcp-runners.nginx):
  - new location matches /.well-known/oauth-protected-resource/<slug>/...
    and proxies to the slug's runner with the slug stripped, so the
    runner sees the local well-known path

Docs (oauth + api-reference) updated to the RFC paths.
2026-05-28 20:54:27 +02:00
..
app fix(mcp): RFC 9728 protected-resource metadata path + audience binding 2026-05-28 20:54:27 +02:00
components fix(oauth): allow generic RFC 7591 DCR + expand install snippets 2026-05-28 17:20:01 +02:00
lib fix(oauth): allow generic RFC 7591 DCR + expand install snippets 2026-05-28 17:20:01 +02:00
public feat(video): v10 hero video with mute toggle — voice + bg music 2026-05-28 02:31:10 +02:00
Dockerfile feat(deploy): production Dockerfiles, compose stack, and runbook 2026-05-21 00:37:02 +02:00
next-env.d.ts fix: live-run wiring (SDK 1.29, zod 3.25, OAUTH_ISSUER split, alt host ports, web on 3001, log level cast, pino transport) 2026-05-19 00:57:23 +02:00
next.config.mjs perf(web): inline CSS + modern browserslist 2026-05-21 19:57:30 +02:00
package.json feat(web): hero redesign — cycling step rotator + full-width video section 2026-05-27 12:05:28 +02:00
postcss.config.mjs feat(web): Next.js 15 shell — design tokens, landing, auth pages 2026-05-19 00:30:20 +02:00
tsconfig.json fix: live-run wiring (SDK 1.29, zod 3.25, OAUTH_ISSUER split, alt host ports, web on 3001, log level cast, pino transport) 2026-05-19 00:57:23 +02:00