Skip to content

fix(mcp): refresh Slack and Atlassian discovery defaults#30493

Open
tin-berri wants to merge 6 commits into
litellm_internal_stagingfrom
litellm_modifying_mcp_defaults_1
Open

fix(mcp): refresh Slack and Atlassian discovery defaults#30493
tin-berri wants to merge 6 commits into
litellm_internal_stagingfrom
litellm_modifying_mcp_defaults_1

Conversation

@tin-berri

@tin-berri tin-berri commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

Relevant issues

Linear ticket

Pre-Submission checklist

Please complete all items before asking a LiteLLM maintainer to review your PR

  • I have added meaningful tests
  • My PR passes all unit tests on make test-unit
  • My PR's scope is as isolated as possible; it only solves 1 specific problem
  • I have requested a Greptile review by commenting @greptileai and received a Confidence Score of at least 4/5 before requesting a maintainer review

CI (LiteLLM team)

  • Branch creation CI run
    Link:

  • CI run for the last commit
    Link:

  • Merge / cherry-pick CI run
    Links:

Screenshots / Proof of Fix

Go to http://localhost:4000/ui/?page=mcp-servers, click "Add MCP Server", then pick a preset from the discovery grid.

Slack should land prefilled with Transport Type "Streamable HTTP (Recommended)", Server URL "https://mcp.slack.com/mcp", and Authentication "OAuth" (which then surfaces the OAuth flow fields).

Linear should land prefilled with Transport Type "Streamable HTTP (Recommended)", Server URL "https://mcp.linear.app/mcp", and Authentication "OAuth".

Notion should land prefilled with Transport Type "Streamable HTTP (Recommended)", Server URL "https://mcp.notion.com/mcp", and Authentication "OAuth".

Atlassian should land prefilled with Transport Type "Streamable HTTP (Recommended)" and Server URL "https://mcp.atlassian.com/v1/mcp/authv2".

Cloudflare should land prefilled with Transport Type "Streamable HTTP (Recommended)" and Server URL "https://bindings.mcp.cloudflare.com/mcp"

Type

🐛 Bug Fix

Changes

Several curated MCP discovery presets pointed at stale defaults.

Slack shipped as a stdio preset that spawns the @modelcontextprotocol/server-slack npx process and asks for a SLACK_BOT_TOKEN. Slack now hosts an MCP server at https://mcp.slack.com/mcp over streamable HTTP with OAuth, so the preset should point users there. The Slack entry in litellm/proxy/mcp_registry.json is now transport "http", url "https://mcp.slack.com/mcp", and auth_type "oauth2", dropping the stdio command/args and bot-token env vars that no longer apply.

Linear already used streamable HTTP at https://mcp.linear.app/mcp; it now also defaults auth_type to "oauth2" so the preset lands on OAuth.

Notion shipped as an SSE preset at https://mcp.notion.com/sse; it now uses streamable HTTP at https://mcp.notion.com/mcp with auth_type "oauth2".

Atlassian's hosted MCP endpoint moved to the authv2 path, so its url goes from https://mcp.atlassian.com/v1/mcp to https://mcp.atlassian.com/v1/mcp/authv2; transport stays streamable HTTP.

Cloudflare deprecated the SSE transport, so the bindings MCP server moves from sse at https://bindings.mcp.cloudflare.com/sse to streamable HTTP at https://bindings.mcp.cloudflare.com/mcp.

The discovery prefill in the UI previously only carried transport, url, command, args, and env vars into the create-server form; it never carried an auth type. So that a preset can default the authentication type, DiscoverableMCPServer now has an optional auth_type, and the prefill effect in create_mcp_server.tsx maps it into the form. This is generic, not vendor-specific, so any registry entry that declares an auth_type will now seed the form's authentication selector.

Slack offers a hosted MCP server at https://mcp.slack.com/mcp over
streamable HTTP with OAuth, so the curated discovery preset should point
there instead of spawning the npx stdio bot-token server. Carry an
auth_type through the discovery entry into the create-server form so the
preset lands on OAuth by default.
@greptile-apps

greptile-apps Bot commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR updates the curated MCP discovery registry's Slack entry from a stdio preset (spawning @modelcontextprotocol/server-slack via npx with a bot token) to Slack's hosted streamable HTTP server at https://mcp.slack.com/mcp with OAuth2 authentication. It also wires the new auth_type field through the DiscoverableMCPServer interface and the create-server prefill effect so any registry entry declaring an auth_type will automatically seed the form's authentication selector.

  • mcp_registry.json: Slack entry's transport, url, and auth_type are updated; stdio-specific command, args, and bot-token env vars are removed.
  • types.tsx: auth_type?: string | null added to DiscoverableMCPServer, consistent with the same field already present on MCPServer and MCPToolsViewerProps.
  • create_mcp_server.tsx / tests: Prefill effect now copies auth_type into the Ant Design form via form.setFieldsValue and setFormValues, with both Python and TypeScript tests covering the new behaviour.

Confidence Score: 5/5

Safe to merge — the change is narrowly scoped to a registry JSON entry and a small UI prefill extension with no impact on the request path or auth enforcement logic.

All changes are additive: the registry update swaps one JSON preset, the interface addition is optional so existing entries without auth_type are unaffected, and the prefill logic only runs when a preset explicitly carries auth_type. New tests cover both the registry shape and the UI prefill end-to-end, and no existing tests are modified or weakened.

No files require special attention.

Important Files Changed

Filename Overview
litellm/proxy/mcp_registry.json Slack entry updated from stdio/npx to streamable HTTP at https://mcp.slack.com/mcp with auth_type "oauth2"; no stdio fields remain.
ui/litellm-dashboard/src/components/mcp_tools/types.tsx Added optional auth_type field to DiscoverableMCPServer interface; consistent with auth_type already present on MCPServer and MCPToolsViewerProps.
ui/litellm-dashboard/src/components/mcp_tools/create_mcp_server.tsx Prefill effect extended to copy auth_type from registry preset into the form, which correctly surfaces the OAuth fields section when auth_type is "oauth2".
tests/test_litellm/proxy/_experimental/mcp_server/test_mcp_discovery.py New test added asserting Slack registry entry has transport "http", correct URL, auth_type "oauth2", and no command/args fields; no network calls made.
ui/litellm-dashboard/src/components/mcp_tools/create_mcp_server.test.tsx New test added covering the full prefill flow for a Slack-shaped preset, verifying URL population and OAuth form section visibility.

Reviews (1): Last reviewed commit: "fix(mcp): default Slack registry entry t..." | Re-trigger Greptile

@codecov

codecov Bot commented Jun 15, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@tin-berri tin-berri changed the title fix(mcp): default Slack registry entry to streamable HTTP with OAuth fix(mcp): refresh Slack and Atlassian discovery defaults Jun 15, 2026
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