Skip to content

Delete SSE compat path (MCP_TRANSPORT=sse) — migration-window cleanup #112

Description

@romer8

Context

PR #111 (merged 2026-05-08) migrated the in-app TethysDash MCP server from legacy SSE at `/sse` to Streamable HTTP at `/mcp` by default. The legacy path remains reachable behind `MCP_TRANSPORT=sse` for users with `/sse`-suffixed localStorage configs to migrate.

The plan (2026-05-08-001) committed to a concrete deletion trigger so this doesn't rot into permanent dead code.

Deletion trigger

Delete the SSE compat path when either is true (whichever comes first):

What to delete

  • `tethysapp/tethysdash/mcp/tethysdash_mcp_server.py`:
    • `_patch_sse_transport_for_cors` function and its conditional invocation in `main`
    • The `if transport == "sse"` branch in the entrypoint
    • The unused `StarletteResponse` import (only the SSE patch uses it)
  • `tethysapp/tethysdash/tests/mcp/test_transport_and_cors.py`:
    • The three R12 SSE-patch regression tests (`test_sse_patch_*`)
  • `CHANGELOG.md`: add an Unreleased entry noting the SSE compat path is removed
  • `CLAUDE.md`: drop the `MCP_TRANSPORT=sse` mention from the server description

Verification

  • 543 / 543 existing MCP contract tests still pass (SSE-specific tests removed; no other test depends on the SSE path)
  • Manual smoke: server still starts and serves `/mcp`; `MCP_TRANSPORT=sse` no longer has an effect (env var becomes a no-op)

Plan reference

`docs/plans/2026-05-08-001-fix-mcp-validation-and-streamable-http-migration-plan.md` → Documentation/Operational Notes → "SSE compat path deletion trigger"

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions