Repository navigation
chore: retire the legacy toolset MCP address - #8248
daviddanialy wants to merge 10 commits into
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… seed docs Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
🦋 Changeset detectedLatest commit: 41cfcc9 The changes in this PR will be included in the next version bump. This PR includes changesets to release 2 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
E2E on 88a563eb20 (rebased since; later commits are comment/doc only), local lane; merge-base binaries swapped onto the same DB.
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
All reported issues were addressed
This PR changes authentication, authorization, or input validation. Ultrareviews find 2.4x more serious bugs than standard reviews. Comment @cubic-dev-ai ultrareview to run one.
View guided diff | Turn on auto-fix | Re-trigger cubic
There was a problem hiding this comment.
All reported issues were addressed across 164 files
Requires human review: Auto-approval blocked because this review re-detected 5 unresolved issues already reported by Cubic.
View guided diff | Turn on auto-fix | Re-trigger cubic
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
All reported issues were addressed across 19 files (changes from recent commits).
Reply with feedback, questions, or to request a fix.
View guided diff | Turn on auto-fix | Re-trigger cubic
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This comment has been minimized.
This comment has been minimized.
…retire-legacy-alias
…retire-legacy-alias # Conflicts: # server/internal/attr/conventions.go
…retire-legacy-alias # Conflicts: # seed/demo/PAGES.md # server/database/sqlc_retired_columns.sql # server/internal/mcp/serveendpoint.go
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
AIM-670
Summary
hostedmcp/legacyaliasand every call to it. Hosted MCP servers are reached only through theirmcp_endpointsrows. A slug that onlytoolsets.mcp_slugheld now returns not found on every surface:/mcp/<slug>POST. GET (SSE) and DELETE answer 405, as for any unknown slug, and nothing is proxied..well-knownmetadata routesmcp_server_id)toolset:<id>keep binding the toolset's server, so existing sessions keep serving, refreshing and redeeming codes.mcp.toolset_slug_fallbackandmcp.legacy_audience_accepted, their attribution log lines, and theirgram.mcp.entry_point/gram.mcp.fallback.*attribute conventions.mcp_slug/custom_domain_idfrom the canonical server's endpoint. The API fields are unchanged.legacy_platform_slug, which reported the custom-domain alias the platform host still served.mcpServerskeepslegacy_platform_slug, now deprecated and always absent.mcpEndpoints.checkSlugAvailability:mcp_server_idis deprecated and ignored, so it can no longer fail the call (Goa, OpenAPI, SDK). The dashboard stops sending it.sqlc_retired_columns.sqland the toolset columns stay; AIM-671 drops them. Thelegacyaliassqlc package entry is gone.Motivation
Since hosted servers own their endpoints (#8021), the alias was only a fallback for slugs no endpoint holds. #8132 fenced every remaining read of it into one package so it could be removed in one step. This PR removes it, so AIM-671 can drop the columns.
Customer impact: an address that exists only as a toolset's old
mcp_slugstops serving. Old toolset-audience tokens are refused, so those clients sign in again. Making the address an endpoint on the server keeps it working.Rollout
Merge gate
Do not merge until all hold:
🤖 Generated with Claude Code
Summary by cubic
Retires the legacy toolset
/mcp/<slug>address and every fallback that resolved throughtoolsets.mcp_slug. Hosted MCP servers are now reached only through theirmcp_endpointsrows, so a slug only a toolset still holds returns not found on every surface: the/mcp/<slug>routes, both.well-knownmetadata routes, the per-endpoint OAuth handlers, the shared authorization server resource lookup, the install page, and cached challenges without a server ID.Also rejects the legacy toolset-URN bearer audience. Access tokens must name the server; clients holding toolset-audience tokens sign in again. Tool selections already stored as
toolset:<id>keep binding, so existing sessions keep serving, refreshing, and redeeming codes.legacy_platform_slugis now deprecated and always absent,checkSlugAvailabilityignoresmcp_server_id, and the dashboard drops the older Speakeasy address. The migration counters and their attribution conventions are gone, and plugin generation drops hosted servers with no usable endpoint.Migration
Written for commit 41cfcc9. Summary will update on new commits.
🚀 Preview Environment (PR #8248)
Preview URL: https://pr-8248.dev.getgram.ai
Gram Preview Bot