litellm/ui/litellm-dashboard
Ishaan Jaffer 7c804fc8a7 fix(mcp): fix OpenAPI OAuth flow — transport mapping, error messages, and discovery bypass
Three bugs fixed to make the end-to-end OAuth flow work for OpenAPI MCP servers:

1. **Transport mapping in getTemporaryPayload**: `TRANSPORT.OPENAPI` is a UI-only concept;
   the backend only accepts `"http"`, `"sse"`, or `"stdio"`. The pre-OAuth temp-session
   call was sending `transport: "openapi"` and getting a 422. Fixed by mapping to `"http"`.

2. **deriveErrorMessage handles FastAPI 422 arrays**: FastAPI validation errors return
   `detail` as an array of `{loc, msg, type}` objects. The shared error extractor was
   returning the array directly, causing `Error: [object Object]`. Fixed to map each
   item to its `.msg` field.

3. **Skip OAuth discovery when authorization_url already provided**: `build_mcp_server_from_table`
   was unconditionally calling `_descovery_metadata(server_url)` for OAuth servers. For
   OpenAPI servers the url is the spec JSON file, not the API base — this caused a timeout
   fetching e.g. the GitHub spec (2 MB). Fixed by skipping discovery when `authorization_url`
   is already set.

Also: collapsible auth section in MCP server form, "Create OAuth App →" link next to
Client ID when a docs URL is available (e.g. GitHub OAuth App creation page), and
`extractErrorMessage` helper in `useMcpOAuthFlow` for cleaner error display.
2026-03-10 16:40:57 -07:00
..
e2e_tests Fix flaky e2e tests by using regex selectors 2026-03-07 16:43:33 -08:00
public [UI QA] - Add all provider models + providers on ui (#22461) 2026-02-28 17:35:08 -08:00
scripts feat: add insults content filter + topic blocking compliance UI (#21729) 2026-02-20 19:10:31 -08:00
src fix(mcp): fix OpenAPI OAuth flow — transport mapping, error messages, and discovery bypass 2026-03-10 16:40:57 -07:00
tests Merge remote-tracking branch 'origin' into feature/vkey-modal-squashed 2026-03-06 16:51:21 -08:00
.env.development hidden dashboard routing, dev and build env files 2025-10-06 19:21:34 -07:00
.env.production hidden dashboard routing, dev and build env files 2025-10-06 19:21:34 -07:00
.eslintrc.json removed unused imports 2025-10-10 10:25:00 -07:00
.prettierignore added and ran prettier autoformatter 2025-10-04 18:19:48 -07:00
.prettierrc added and ran prettier autoformatter 2025-10-04 18:19:48 -07:00
.trivyignore fix pkg lock 2025-11-14 18:59:49 -08:00
build_release_ui.sh build release ui script 2026-01-17 18:16:14 -08:00
build_ui.sh upgraded build script to node 20 2025-09-18 18:01:47 -07:00
build_ui_custom_path.sh build ui on custom path 2024-08-05 16:34:37 -07:00
knip.json add knip as a dev dependency, remove some unused files 2026-02-07 15:51:21 -08:00
next.config.mjs react 19 2026-01-31 18:33:03 -08:00
package-lock.json Agents health checks (#23044) 2026-03-07 18:32:47 -08:00
package.json Fix CVEs: bump tar/minimatch/pypdf + harden Docker SBOM patching (#23082) 2026-03-07 18:31:27 -08:00
postcss.config.js build(ui/litellm-dashboard): initial commit of litellm dashboard 2024-01-27 12:12:48 -08:00
README.md build(ui/litellm-dashboard): initial commit of litellm dashboard 2024-01-27 12:12:48 -08:00
tailwind.config.js added and ran prettier autoformatter 2025-10-04 18:19:48 -07:00
tailwind.config.ts added and ran prettier autoformatter 2025-10-04 18:19:48 -07:00
tsconfig.json Agents health checks (#23044) 2026-03-07 18:32:47 -08:00
tsconfig.tsbuildinfo [Feature] UI - Paginated Key Alias Select 2026-02-25 22:21:32 -08:00
ui_colors.json added and ran prettier autoformatter 2025-10-04 18:19:48 -07:00
vitest.config.ts Fixing tests 2026-01-22 15:01:06 -08:00

This is a Next.js project bootstrapped with create-next-app.

Getting Started

First, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.

This project uses next/font to automatically optimize and load Inter, a custom Google Font.

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.