Skip to content

refactor(api): remove v1 MCP server (relanded on main) - #6082

Merged
saddlepaddle merged 1 commit into
mainfrom
mcp-rework/e1-remove-v1-mcp-2
Jul 31, 2026
Merged

saddlepaddle merged 1 commit into
mainfrom
mcp-rework/e1-remove-v1-mcp-2

Conversation

@saddlepaddle

@saddlepaddle saddlepaddle commented Jul 31, 2026 •

Copy link
Copy Markdown
Collaborator

Relands #6077, which was accidentally merged into its stale base branch (mcp-rework/0g-slack-v1-retire) instead of main — GitHub didn't retarget because that branch was never deleted after #6076's squash-merge. Clean cherry-pick of the same commit onto current main.

Same content as #6077:

  • Deletes packages/mcp (v1, 18 tools), apps/api/src/app/api/agent/ route + 274-line auth-flow.ts, the @superset/mcp dep, and the v1 OAuth audience entry.
  • /api/agent/* returns 410 Gone with a hint pointing at the current MCP URL.
  • Docs/openapi updated: v1 removed, not "still available".

See #6077 for the original review context (traffic analysis, graceful-degradation reasoning for old desktop chat builds).

https://claude.ai/code/session_01Kub4p3Eim9pc1qaRRmGea2


Open in Stage

Summary by cubic

Removed the legacy v1 MCP server and route. v1 URLs now return 410 Gone with a hint to /api/v2/agent/mcp; docs and OpenAPI now describe v2 only.

  • Refactors

    • Deleted packages/mcp (18 tools) and the v1 auth/route (apps/api/src/app/api/agent/[transport]/*).
    • Replaced /api/agent/* handlers with a JSON 410 pointing to ${NEXT_PUBLIC_API_URL}/api/v2/agent/mcp.
    • Dropped @superset/mcp from apps/api/package.json and pruned bun.lock.
    • Removed the v1 OAuth audience from @superset/auth config.
    • Updated OpenAPI and apps/docs/content/docs/mcp-server.mdx to mark v1 removed.
  • Migration

    • Update clients to use ${NEXT_PUBLIC_API_URL}/api/v2/agent/mcp. No other changes needed.
    • Legacy desktop builds degrade gracefully; the 410 also stops long SSE timeouts from v1 clients.

Written for commit cba60b2. Summary will update on new commits.

Review in cubic

Summary by CodeRabbit

  • Breaking Changes

    • The legacy MCP v1 endpoint has been removed and now returns 410 Gone.
    • Clients must migrate to the MCP v2 endpoint.
    • Legacy MCP tools for devices, workspaces, tasks, sessions, and member management are no longer available.
  • Documentation

    • Updated API and MCP documentation to reflect v1 removal and v2 migration requirements.

Removes packages/mcp (18 tools), the /api/agent route and its parallel
274-line auth flow, the workspace dep, and the v1 OAuth audience. v1
URLs now return 410 Gone pointing at /api/v2/agent/mcp. Remaining v1
traffic is desktop builds predating the chat runtime change, which
degrade gracefully (chat loses Superset tools, no crash); the 410 also
ends the 800-second SSE timeout invocations v1 clients were causing.

Claude-Session: https://claude.ai/code/session_01Kub4p3Eim9pc1qaRRmGea2
(cherry picked from commit 3c570f6)
@coderabbitai

coderabbitai Bot commented Jul 31, 2026 •

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 0d957339-5482-4bb7-bca5-3c8a4ffab6fd

📥 Commits

Reviewing files that changed from the base of the PR and between b07c738 and cba60b2.

⛔ Files ignored due to path filters (1)
  • bun.lock is excluded by !**/*.lock
📒 Files selected for processing (53)
  • apps/api/package.json
  • apps/api/src/app/api/agent/[transport]/auth-flow.ts
  • apps/api/src/app/api/agent/[transport]/route.ts
  • apps/api/src/app/openapi.json/route.ts
  • apps/docs/content/docs/mcp-server.mdx
  • packages/auth/src/server.ts
  • packages/mcp/package.json
  • packages/mcp/src/auth.ts
  • packages/mcp/src/in-memory.ts
  • packages/mcp/src/index.ts
  • packages/mcp/src/server.ts
  • packages/mcp/src/tools/devices/create-workspace/create-workspace.ts
  • packages/mcp/src/tools/devices/create-workspace/index.ts
  • packages/mcp/src/tools/devices/delete-workspace/delete-workspace.ts
  • packages/mcp/src/tools/devices/delete-workspace/index.ts
  • packages/mcp/src/tools/devices/get-app-context/get-app-context.ts
  • packages/mcp/src/tools/devices/get-app-context/index.ts
  • packages/mcp/src/tools/devices/get-workspace-details/get-workspace-details.ts
  • packages/mcp/src/tools/devices/get-workspace-details/index.ts
  • packages/mcp/src/tools/devices/list-devices/index.ts
  • packages/mcp/src/tools/devices/list-devices/list-devices.test.ts
  • packages/mcp/src/tools/devices/list-devices/list-devices.ts
  • packages/mcp/src/tools/devices/list-projects/index.ts
  • packages/mcp/src/tools/devices/list-projects/list-projects.ts
  • packages/mcp/src/tools/devices/list-workspaces/index.ts
  • packages/mcp/src/tools/devices/list-workspaces/list-workspaces.ts
  • packages/mcp/src/tools/devices/start-agent-session/index.ts
  • packages/mcp/src/tools/devices/start-agent-session/shared.ts
  • packages/mcp/src/tools/devices/start-agent-session/start-agent-session-with-prompt.ts
  • packages/mcp/src/tools/devices/start-agent-session/start-agent-session.test.ts
  • packages/mcp/src/tools/devices/start-agent-session/start-agent-session.ts
  • packages/mcp/src/tools/devices/switch-workspace/index.ts
  • packages/mcp/src/tools/devices/switch-workspace/switch-workspace.ts
  • packages/mcp/src/tools/devices/update-workspace/index.ts
  • packages/mcp/src/tools/devices/update-workspace/update-workspace.ts
  • packages/mcp/src/tools/index.ts
  • packages/mcp/src/tools/organizations/list-members/index.ts
  • packages/mcp/src/tools/organizations/list-members/list-members.ts
  • packages/mcp/src/tools/tasks/create-task/create-task.ts
  • packages/mcp/src/tools/tasks/create-task/index.ts
  • packages/mcp/src/tools/tasks/delete-task/delete-task.ts
  • packages/mcp/src/tools/tasks/delete-task/index.ts
  • packages/mcp/src/tools/tasks/get-task/get-task.ts
  • packages/mcp/src/tools/tasks/get-task/index.ts
  • packages/mcp/src/tools/tasks/list-task-statuses/index.ts
  • packages/mcp/src/tools/tasks/list-task-statuses/list-task-statuses.ts
  • packages/mcp/src/tools/tasks/list-tasks/index.ts
  • packages/mcp/src/tools/tasks/list-tasks/list-tasks.ts
  • packages/mcp/src/tools/tasks/update-task/index.ts
  • packages/mcp/src/tools/tasks/update-task/update-task.ts
  • packages/mcp/src/tools/utils/index.ts
  • packages/mcp/src/tools/utils/utils.ts
  • packages/mcp/tsconfig.json
💤 Files with no reviewable changes (50)
  • packages/mcp/src/tools/devices/get-workspace-details/index.ts
  • packages/mcp/src/tools/devices/list-workspaces/list-workspaces.ts
  • packages/mcp/tsconfig.json
  • packages/mcp/src/tools/devices/start-agent-session/start-agent-session.ts
  • packages/mcp/src/tools/devices/list-projects/list-projects.ts
  • packages/mcp/src/tools/devices/update-workspace/index.ts
  • packages/mcp/src/index.ts
  • packages/mcp/src/tools/index.ts
  • packages/mcp/src/tools/tasks/create-task/index.ts
  • packages/mcp/src/tools/utils/index.ts
  • packages/auth/src/server.ts
  • packages/mcp/src/tools/devices/list-workspaces/index.ts
  • packages/mcp/src/tools/devices/list-devices/index.ts
  • packages/mcp/src/tools/tasks/list-tasks/index.ts
  • packages/mcp/src/tools/devices/create-workspace/index.ts
  • packages/mcp/src/tools/devices/update-workspace/update-workspace.ts
  • packages/mcp/src/tools/devices/switch-workspace/switch-workspace.ts
  • packages/mcp/src/tools/tasks/list-task-statuses/list-task-statuses.ts
  • packages/mcp/src/tools/devices/list-projects/index.ts
  • packages/mcp/src/tools/tasks/update-task/index.ts
  • packages/mcp/src/tools/devices/start-agent-session/start-agent-session-with-prompt.ts
  • packages/mcp/src/tools/devices/get-app-context/get-app-context.ts
  • packages/mcp/src/tools/devices/delete-workspace/delete-workspace.ts
  • packages/mcp/src/tools/devices/start-agent-session/index.ts
  • packages/mcp/src/tools/tasks/get-task/index.ts
  • packages/mcp/src/tools/organizations/list-members/list-members.ts
  • packages/mcp/src/auth.ts
  • packages/mcp/src/server.ts
  • packages/mcp/src/tools/tasks/list-tasks/list-tasks.ts
  • packages/mcp/src/tools/devices/delete-workspace/index.ts
  • packages/mcp/src/in-memory.ts
  • packages/mcp/src/tools/devices/start-agent-session/start-agent-session.test.ts
  • packages/mcp/src/tools/tasks/delete-task/delete-task.ts
  • packages/mcp/src/tools/organizations/list-members/index.ts
  • packages/mcp/package.json
  • packages/mcp/src/tools/tasks/update-task/update-task.ts
  • apps/api/package.json
  • packages/mcp/src/tools/devices/switch-workspace/index.ts
  • packages/mcp/src/tools/devices/list-devices/list-devices.ts
  • packages/mcp/src/tools/tasks/create-task/create-task.ts
  • packages/mcp/src/tools/devices/list-devices/list-devices.test.ts
  • packages/mcp/src/tools/tasks/get-task/get-task.ts
  • packages/mcp/src/tools/tasks/delete-task/index.ts
  • packages/mcp/src/tools/devices/get-workspace-details/get-workspace-details.ts
  • packages/mcp/src/tools/devices/create-workspace/create-workspace.ts
  • packages/mcp/src/tools/tasks/list-task-statuses/index.ts
  • apps/api/src/app/api/agent/[transport]/auth-flow.ts
  • packages/mcp/src/tools/devices/start-agent-session/shared.ts
  • packages/mcp/src/tools/devices/get-app-context/index.ts
  • packages/mcp/src/tools/utils/utils.ts

📝 Walkthrough

Walkthrough

The PR removes the legacy MCP v1 package and request handling. The v1 endpoint now returns 410 Gone with a v2 endpoint hint. OAuth audiences and documentation no longer reference the v1 endpoint.

Changes

MCP v1 retirement

Layer / File(s) Summary
Remove v1 endpoint and implementation
apps/api/src/app/api/agent/[transport]/route.ts, apps/api/package.json, packages/mcp/*, packages/auth/src/server.ts
The v1 route now returns 410 Gone for GET, POST, and DELETE. The API dependency, OAuth audience, MCP package, authentication flow, server, tools, utilities, tests, and configuration are removed.
Update versioning documentation
apps/api/src/app/openapi.json/route.ts, apps/docs/content/docs/mcp-server.mdx
OpenAPI and MCP documentation state that v1 URLs return 410 Gone and clients must use v2.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related PRs

Suggested reviewers: kitenite

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the removal of the v1 MCP server and follows conventional commit format.
Description check ✅ Passed The description explains the change, rationale, migration path, and compatibility impact, but omits explicit testing details and the repository checklist.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch mcp-rework/e1-remove-v1-mcp-2

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@ghost

ghost commented Jul 31, 2026

Copy link
Copy Markdown

Ready to review this PR? Stage has broken it down into 5 individual chapters for you:

Title
1 Delete the v1 MCP package and tools
2 Remove v1 MCP dependencies and auth
3 Replace v1 route with 410 Gone
4 Update documentation and OpenAPI spec
5 Other changes
Open in Stage

Chapters generated by Stage for commit cba60b2 on Jul 31, 2026 11:43pm UTC.

@github-actions

github-actions Bot commented Jul 31, 2026 •

Copy link
Copy Markdown
Contributor

🧹 Preview Cleanup Complete

The following preview resources have been cleaned up:

  • ✅ Neon database branch

Thank you for your contribution! 🎉

@saddlepaddle
saddlepaddle merged commit 0290c46 into main Jul 31, 2026
19 checks passed
@saddlepaddle
saddlepaddle deleted the mcp-rework/e1-remove-v1-mcp-2 branch July 31, 2026 23:53

This branch was previously deployed

1 inactive deployment
preview — cba60b29 Deployed Jul 31, 2026 by saddlepaddle via Deploy Docs #6959
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant