# @mcp-use/inspector

## 6.0.0

### Minor Changes

- 46caf80: feat(cli, inspector): add `mcp-use screenshot` for visual feedback loops on MCP Apps views (MCP-1566)

  `mcp-use screenshot --tool <name> key=value [key2=value2 ...]` calls the tool and renders the result headlessly, saving a PNG of the resulting view. Use `key:=<json>` for nested values, or pass a single JSON object for the legacy form.

  The CLI always spawns a fresh `@mcp-use/inspector` standalone server on a free port (no reuse of whatever happens to be on `localhost:3000`, which could be an unrelated Vite/dev server) and tears it down on exit. It drives the user's existing Chrome / Chromium / Edge / Brave install via the Chrome DevTools Protocol at the new chromeless `/inspector/preview/:view` route inside the inspector SPA. Pass `--inspector <url>` to point at an existing inspector instance; the URL is probed strictly (must return `{ status: "ok" }` JSON on `/inspector/health`) so unrelated servers can't be misidentified. The screenshot pipeline no longer requires being in a project with an MCP server entry — any directory works. Output defaults to `./<view>-<timestamp>.png` in cwd.

  No additional install step or peer dependency is required — the command uses your system Chrome. The browser path is auto-detected on macOS / Linux / Windows; override with `MCP_USE_CHROME_PATH`, `PUPPETEER_EXECUTABLE_PATH`, or `CHROME_PATH` if needed.

  The inspector exposes a new internal `<ViewPreview>` component and a `/preview/:view` client-side route. `MCPAppsRenderer` gains an optional `onReady` callback used by the preview route to drive the readiness signal (`body[data-view-ready="true"]`) that the screenshot command waits for before capturing.

  **Session-aware authentication.** Screenshot now reuses sessions saved by `mcp-use client connect`, so a single OAuth flow covers every subsequent screenshot of that server. Replace `--auth <token>` with `--session <name>` (defaults to the active session); `--mcp <url>` remains as an unauthenticated escape hatch. The OAuth token never enters the browser — the CLI calls the tool, reads the widget resource, and injects the result into Chrome via CDP `Page.addScriptToEvaluateOnNewDocument` (as `globalThis.__mcpUsePreviewBundle`). The preview route detects the global and renders inline, skipping the browser-side MCP connection entirely.

  **Breaking:** `mcp-use screenshot` flags `--auth` and `--header` are removed. Use `mcp-use client connect <url> --name <name>` (with OAuth) once, then `mcp-use screenshot --tool <name>`.

  **Auto-screenshot in `client tools call`.** When `mcp-use client tools call <name>` invokes a tool that declares a UI resource (`_meta.ui.resourceUri` or `openai/outputTemplate`), the CLI now automatically captures a widget screenshot using the same pipeline as `mcp-use screenshot`. The tool result is reused (no double tool-call) and the dev server is auto-spawned if needed. Pass `--no-screenshot` to opt out, or `--screenshot-output <path>` to override the default `./<view>-<timestamp>.png` path. Screenshot failures print a warning but don't fail the tool call.

  **Remote browser via `--cdp-url`.** `mcp-use screenshot` now accepts `--cdp-url <ws-or-wss-url>` to connect to an existing Chrome DevTools Protocol endpoint instead of spawning local Chrome. Useful for hosted Chromium providers (e.g. Notte) so the screenshot pipeline can run in sandboxes without a local browser install. When `--cdp-url` is set, the CLI skips Chrome resolution entirely and uses `Target.setAutoAttach` (rather than the local path's explicit `Target.attachToTarget`, which some hosted providers forbid) to pick up the existing page session. Combine with `--inspector <url>` pointing at a publicly reachable preview deployment so the remote browser can load the widget bundle. The local-Chrome path is unchanged when `--cdp-url` is omitted.

### Patch Changes

- 46caf80: Improve dark mode scrollbar styling and hover visibility in the Inspector UI.
- 46caf80: Resolved duplicate exports flagged by Knip.
  - Annotated the `Tel` alias for `Telemetry` with the `@alias` directive so Knip no longer flags it as a duplicate export. The alias remains available for consumers.
  - Unified the canonical source path for `Telemetry`, `Tel`, `setTelemetrySource`, and `isBrowserEnvironment` in `src/telemetry/index.ts`. The Node implementation is now the default and is swapped for the browser implementation in browser bundles via the existing tsup substitution plugin.
  - Removed the redundant default export of `JsonRpcLoggerView` in `@mcp-use/inspector`. The named export is unchanged.

- Updated dependencies [46caf80]
- Updated dependencies [46caf80]
- Updated dependencies [46caf80]
- Updated dependencies [46caf80]
- Updated dependencies [46caf80]
- Updated dependencies [46caf80]
- Updated dependencies [46caf80]
- Updated dependencies [46caf80]
- Updated dependencies [46caf80]
- Updated dependencies [46caf80]
  - mcp-use@1.28.0

## 6.0.0-canary.15

### Patch Changes

- mcp-use@1.28.0-canary.15

## 6.0.0-canary.14

### Patch Changes

- mcp-use@1.28.0-canary.14

## 6.0.0-canary.13

### Patch Changes

- mcp-use@1.28.0-canary.13

## 6.0.0-canary.12

### Patch Changes

- mcp-use@1.28.0-canary.12

## 6.0.0-canary.11

### Patch Changes

- mcp-use@1.28.0-canary.11

## 6.0.0-canary.10

### Patch Changes

- mcp-use@1.28.0-canary.10

## 6.0.0-canary.9

### Patch Changes

- 4cc5436: Improve dark mode scrollbar styling and hover visibility in the Inspector UI.
  - mcp-use@1.28.0-canary.9

## 6.0.0-canary.8

### Patch Changes

- mcp-use@1.28.0-canary.8

## 6.0.0-canary.7

### Patch Changes

- 097f57c: Resolved duplicate exports flagged by Knip.
  - Annotated the `Tel` alias for `Telemetry` with the `@alias` directive so Knip no longer flags it as a duplicate export. The alias remains available for consumers.
  - Unified the canonical source path for `Telemetry`, `Tel`, `setTelemetrySource`, and `isBrowserEnvironment` in `src/telemetry/index.ts`. The Node implementation is now the default and is swapped for the browser implementation in browser bundles via the existing tsup substitution plugin.
  - Removed the redundant default export of `JsonRpcLoggerView` in `@mcp-use/inspector`. The named export is unchanged.

- Updated dependencies [097f57c]
  - mcp-use@1.28.0-canary.7

## 6.0.0-canary.6

### Minor Changes

- ce16171: feat(cli, inspector): add `mcp-use screenshot` for visual feedback loops on MCP Apps views (MCP-1566)

  `mcp-use screenshot --tool <name> key=value [key2=value2 ...]` calls the tool and renders the result headlessly, saving a PNG of the resulting view. Use `key:=<json>` for nested values, or pass a single JSON object for the legacy form.

  The CLI always spawns a fresh `@mcp-use/inspector` standalone server on a free port (no reuse of whatever happens to be on `localhost:3000`, which could be an unrelated Vite/dev server) and tears it down on exit. It drives the user's existing Chrome / Chromium / Edge / Brave install via the Chrome DevTools Protocol at the new chromeless `/inspector/preview/:view` route inside the inspector SPA. Pass `--inspector <url>` to point at an existing inspector instance; the URL is probed strictly (must return `{ status: "ok" }` JSON on `/inspector/health`) so unrelated servers can't be misidentified. The screenshot pipeline no longer requires being in a project with an MCP server entry — any directory works. Output defaults to `./<view>-<timestamp>.png` in cwd.

  No additional install step or peer dependency is required — the command uses your system Chrome. The browser path is auto-detected on macOS / Linux / Windows; override with `MCP_USE_CHROME_PATH`, `PUPPETEER_EXECUTABLE_PATH`, or `CHROME_PATH` if needed.

  The inspector exposes a new internal `<ViewPreview>` component and a `/preview/:view` client-side route. `MCPAppsRenderer` gains an optional `onReady` callback used by the preview route to drive the readiness signal (`body[data-view-ready="true"]`) that the screenshot command waits for before capturing.

  **Session-aware authentication.** Screenshot now reuses sessions saved by `mcp-use client connect`, so a single OAuth flow covers every subsequent screenshot of that server. Replace `--auth <token>` with `--session <name>` (defaults to the active session); `--mcp <url>` remains as an unauthenticated escape hatch. The OAuth token never enters the browser — the CLI calls the tool, reads the widget resource, and injects the result into Chrome via CDP `Page.addScriptToEvaluateOnNewDocument` (as `globalThis.__mcpUsePreviewBundle`). The preview route detects the global and renders inline, skipping the browser-side MCP connection entirely.

  **Breaking:** `mcp-use screenshot` flags `--auth` and `--header` are removed. Use `mcp-use client connect <url> --name <name>` (with OAuth) once, then `mcp-use screenshot --tool <name>`.

  **Auto-screenshot in `client tools call`.** When `mcp-use client tools call <name>` invokes a tool that declares a UI resource (`_meta.ui.resourceUri` or `openai/outputTemplate`), the CLI now automatically captures a widget screenshot using the same pipeline as `mcp-use screenshot`. The tool result is reused (no double tool-call) and the dev server is auto-spawned if needed. Pass `--no-screenshot` to opt out, or `--screenshot-output <path>` to override the default `./<view>-<timestamp>.png` path. Screenshot failures print a warning but don't fail the tool call.

### Patch Changes

- mcp-use@1.28.0-canary.6

## 6.0.0-canary.5

### Patch Changes

- Updated dependencies [25a906a]
- Updated dependencies [25a906a]
- Updated dependencies [25a906a]
- Updated dependencies [25a906a]
  - mcp-use@1.28.0-canary.5

## 5.0.2-canary.4

### Patch Changes

- Updated dependencies [dc71f7f]
  - mcp-use@1.27.2-canary.4

## 5.0.2-canary.3

### Patch Changes

- Updated dependencies [5bb6d47]
  - mcp-use@1.27.2-canary.3

## 5.0.2-canary.2

### Patch Changes

- Updated dependencies [79a3f4c]
  - mcp-use@1.27.2-canary.2

## 5.0.2-canary.1

### Patch Changes

- Updated dependencies [2810bf6]
  - mcp-use@1.27.2-canary.1

## 5.0.2-canary.0

### Patch Changes

- Updated dependencies [549f50c]
  - mcp-use@1.27.2-canary.0

## 5.0.1

### Patch Changes

- ca1b34f: Fix iframe width shrinking in inline chat mode; only height now responds to widget-reported sizes
- Updated dependencies [ca1b34f]
  - mcp-use@1.27.1

## 5.0.1-canary.1

### Patch Changes

- 25a8745: Fix iframe width shrinking in inline chat mode; only height now responds to widget-reported sizes
  - mcp-use@1.27.1-canary.1

## 5.0.1-canary.0

### Patch Changes

- Updated dependencies [c40cd03]
  - mcp-use@1.27.1-canary.0

## 5.0.0

### Minor Changes

- 78cfc8a: Add "OpenAI Compatible" provider option to the inspector chat configuration.

  A new "OpenAI Compatible" entry in the provider dropdown lets users point the inspector chat at any OpenAI-compatible API (e.g. LM Studio, Ollama, OpenRouter). Selecting it exposes a required Base URL field and an optional API key. The standard OpenAI provider is unchanged.

- 78cfc8a: Add OpenRouter as a first-class provider in the inspector chat configuration.

  Selecting "OpenRouter" lets users authenticate with a single OpenRouter API key and access models from multiple upstream providers (OpenAI, Anthropic, Google, etc.). Internally, OpenRouter requests reuse the OpenAI provider with an override base URL and the required `HTTP-Referer` / `X-Title` headers.

- 78cfc8a: Add support for pre-registered OAuth client IDs (proxy mode), including optional client secrets for confidential clients.

  `UseMcpOptions` / `McpServerOptions` now accept an `oauth: { clientId?, clientSecret?, scope? }` field. When `clientId` is provided, `BrowserOAuthClientProvider` returns it from `clientInformation()` so the SDK skips Dynamic Client Registration — required for MCP servers that proxy through providers like Slack or WorkOS, which strip `registration_endpoint` from metadata. When `clientSecret` is also provided, the SDK auto-switches token-endpoint auth from `none` to `client_secret_basic`/`client_secret_post`, which is useful for providers that don't support PKCE. `scope` is forwarded as `clientMetadata.scope`.

  The Inspector's Authentication dialog now has `Client ID`, `Client Secret`, and `Scope` fields, all wired through `addServer` / `updateServer`.

### Patch Changes

- 78cfc8a: fix(inspector): honor `MCP_USE_ANONYMIZED_TELEMETRY=false` for the
  in-browser `useMcp` posthog-js init.

  Previously the env var only disabled Node-side telemetry and the
  inspector's server-side proxy. The `useMcp` React hook still
  initialized `posthog-js` directly in the browser, sending events to
  `https://eu.i.posthog.com` that ad/tracker blockers would flag.

  The inspector server now mirrors the env var into a per-page runtime
  flag (`window.__MCP_USE_ANONYMIZED_TELEMETRY__`) before the client
  bundle runs; both `mcp-use`'s browser telemetry and the inspector's
  own client telemetry honor that flag, so a single env var disables
  every telemetry path. The flag is page-scoped — it leaves no
  persistent state, so unsetting the env var fully restores defaults on
  the next page load. Default behavior (telemetry on) is unchanged.

- Updated dependencies [78cfc8a]
- Updated dependencies [78cfc8a]
- Updated dependencies [78cfc8a]
  - mcp-use@1.27.0

## 5.0.0-canary.5

### Patch Changes

- 02c8e2d: fix(inspector): honor `MCP_USE_ANONYMIZED_TELEMETRY=false` for the
  in-browser `useMcp` posthog-js init.

  Previously the env var only disabled Node-side telemetry and the
  inspector's server-side proxy. The `useMcp` React hook still
  initialized `posthog-js` directly in the browser, sending events to
  `https://eu.i.posthog.com` that ad/tracker blockers would flag.

  The inspector server now mirrors the env var into a per-page runtime
  flag (`window.__MCP_USE_ANONYMIZED_TELEMETRY__`) before the client
  bundle runs; both `mcp-use`'s browser telemetry and the inspector's
  own client telemetry honor that flag, so a single env var disables
  every telemetry path. The flag is page-scoped — it leaves no
  persistent state, so unsetting the env var fully restores defaults on
  the next page load. Default behavior (telemetry on) is unchanged.

- Updated dependencies [02c8e2d]
  - mcp-use@1.27.0-canary.5

## 5.0.0-canary.4

### Minor Changes

- afbfa92: Add support for pre-registered OAuth client IDs (proxy mode), including optional client secrets for confidential clients.

  `UseMcpOptions` / `McpServerOptions` now accept an `oauth: { clientId?, clientSecret?, scope? }` field. When `clientId` is provided, `BrowserOAuthClientProvider` returns it from `clientInformation()` so the SDK skips Dynamic Client Registration — required for MCP servers that proxy through providers like Slack or WorkOS, which strip `registration_endpoint` from metadata. When `clientSecret` is also provided, the SDK auto-switches token-endpoint auth from `none` to `client_secret_basic`/`client_secret_post`, which is useful for providers that don't support PKCE. `scope` is forwarded as `clientMetadata.scope`.

  The Inspector's Authentication dialog now has `Client ID`, `Client Secret`, and `Scope` fields, all wired through `addServer` / `updateServer`.

### Patch Changes

- Updated dependencies [afbfa92]
  - mcp-use@1.27.0-canary.4

## 5.0.0-canary.3

### Minor Changes

- 870983e: Add OpenRouter as a first-class provider in the inspector chat configuration.

  Selecting "OpenRouter" lets users authenticate with a single OpenRouter API key and access models from multiple upstream providers (OpenAI, Anthropic, Google, etc.). Internally, OpenRouter requests reuse the OpenAI provider with an override base URL and the required `HTTP-Referer` / `X-Title` headers.

### Patch Changes

- mcp-use@1.27.0-canary.3

## 5.0.0-canary.2

### Minor Changes

- 8b4f674: Add "OpenAI Compatible" provider option to the inspector chat configuration.

  A new "OpenAI Compatible" entry in the provider dropdown lets users point the inspector chat at any OpenAI-compatible API (e.g. LM Studio, Ollama, OpenRouter). Selecting it exposes a required Base URL field and an optional API key. The standard OpenAI provider is unchanged.

### Patch Changes

- mcp-use@1.27.0-canary.2

## 5.0.0-canary.1

### Patch Changes

- mcp-use@1.27.0-canary.1

## 5.0.0-canary.0

### Patch Changes

- Updated dependencies [1633518]
  - mcp-use@1.27.0-canary.0

## 4.0.0

### Patch Changes

- Updated dependencies [bdf9182]
- Updated dependencies [bdf9182]
  - mcp-use@1.26.0

## 4.0.0-canary.1

### Patch Changes

- Updated dependencies [1b70559]
  - mcp-use@1.26.0-canary.1

## 3.0.2-canary.0

### Patch Changes

- Updated dependencies [2636f32]
  - mcp-use@1.25.2-canary.0

## 3.0.1

### Patch Changes

- 806dbca: fix(inspector): hide Manufact free-tier "Model & usage" dialog when host app embeds `ChatTab` with its own session (MCP-1903)

  The cloud dashboard chat was leaking the hosted inspector's free-tier sign-in / bring-your-own-key modal (plus the "anthropic/server-managed" model badge) even though it passed `hideModelBadge={true}` and already had its own authenticated session and model selector.

  `ChatTab` was auto-deriving `freeTierInfo` from `isManaged` (i.e., the mere presence of `managedLlmConfig`), and both the badge and `ConfigurationDialog` treated `freeTierInfo` as an override that forces the UI back on regardless of `hideModelBadge` / `hideConfigButton`.

  Free-tier upgrade UI is now opt-in via a new `enableFreeTierUpgrade?: boolean` prop on `ChatTab` (default `false`), plumbed through `EmbeddedConfig.chatEnableFreeTierUpgrade`. The hosted inspector (`inspector.manufact.com`) auto-seeds it to `true`; host apps that embed `ChatTab` directly (e.g. the cloud dashboard) leave it off and their hide-\* props are respected.

- 806dbca: fix(inspector): suppress duplicate model UI when embedded with `managedLlmConfig` + `hideModelBadge` (MCP-1913)

  If the user had a bring-your-own-key config in `localStorage`, `effectiveClientSide` became true. The host can pass `managedLlmConfig` and `hideModelBadge` (e.g. cloud dashboard with `ServerChatHeader` + `LLMModelSelector`), but the inspector still showed its own `provider/model` UI: the landing pill below the input, and (in threaded view) `ChatHeader`'s absolute model badge — overlapping the dashboard title and model row.

  When `managedLlmConfig` and `hideModelBadge` are both set, the inspector now suppresses that duplicate chrome in both landing and non-landing views. Standalone hosted behavior is unchanged when the host does not pass this embed pair.

  Additionally, for `useClientSide={false}` + `managedLlmConfig` (host-owned chat stream), the chat path no longer auto-switches to client-side streaming when `localLlmConfig` exists in `localStorage` from a past standalone inspector session. The host’s `chatApiUrl` (e.g. org chat stream) is used unless the user explicitly opts into BYOK (`forceClientSide` via rate-limit / “use your own key”).

- 806dbca: fix(inspector): detect Hono via duck-typing, not `instanceof`

  `mountInspector(app)` chose between a fast Hono-direct path and a slower Express-compat bridge based on `app instanceof Hono`. That check is unreliable across a published library boundary. When this package and the host (e.g. `mcp-use`) resolve different `Hono` constructors (common in monorepos where workspace deps hoist their own `hono`, when Node loads Hono's dual CJS+ESM builds from the same on-disk copy as two separate module records, or under bundler dedup), `instanceof` returns false even for a real Hono app. The Express bridge then runs against a Hono `Context` and crashes on every request trying to read `req.headers.host`:

  ```
  TypeError: Cannot read properties of undefined (reading 'host')
      at .../@mcp-use/inspector/dist/server/chunk-*.js (mountInspector Express bridge)
  ```

  Switch to a duck-type check: Hono apps expose `.fetch(Request) => Response`; Express apps don't. The check is unambiguous for the documented input set and works regardless of which physical Hono module produced the app. Surfaces immediately in the new Next.js drop-in flow (`--mcp-dir`) because Next.js apps almost always pull in a second `hono` through other deps, but the underlying problem applies any time the host and inspector resolve Hono through different module records.

- 806dbca: fix(inspector): OAuth flow no longer leaves two tabs open (#1384)

  Previously, connecting to an OAuth-protected MCP server from the inspector opened the authorization page in a new tab, and after the user authorized the app the callback redirected back to the inspector inside that second tab — leaving the user with two inspector tabs.

  The inspector now uses the same-tab redirect flow (`useRedirectFlow: true`) combined with `preventAutoAuth: true`, so the OAuth authorization page opens in the current tab and the callback navigates the same tab back to the original inspector URL. The user ends up with a single tab.

  The `Authenticate` anchor no longer sets `target="_blank"` / `rel="noopener noreferrer"` — clicking it now navigates the current tab directly to the stored auth URL. All connection entry points in the inspector (`handleAddConnection`, the `Layout` adapter, and the `InspectorDashboard` adapter used by `handleUpdateConnection` on URL edits, as well as `useAutoConnect`) propagate the same flags so the single-tab behavior is consistent across manual connect, URL edits, and auto-connect from shared config.

- 806dbca: Fix OAuth error handling to redirect back to inspector instead of showing raw error page. When OAuth callback receives an error (e.g. user denies access), the callback now looks up the stored state first to retrieve the returnUrl, then redirects back to the inspector with error parameters instead of immediately throwing and displaying a raw error page with stack traces. The inspector surfaces these errors as a persistent App-level toast that fires regardless of the active route.
- 806dbca: Fix MCP App widget overlaying the chat header. Removed the explicit `z-20`/`z-10` stacking context from the sandboxed iframe wrappers in `MCPAppsRenderer` and `OpenAIComponentRenderer` so widgets scroll beneath the chat header instead of painting over it.
- 806dbca: fix(inspector): store connection config in sessionStorage before OAuth redirect so auto-reconnect works without ?autoConnect param
- Updated dependencies [806dbca]
- Updated dependencies [806dbca]
  - mcp-use@1.25.1

## 3.0.1-canary.8

### Patch Changes

- d62850e: fix(inspector): detect Hono via duck-typing, not `instanceof`

  `mountInspector(app)` chose between a fast Hono-direct path and a slower Express-compat bridge based on `app instanceof Hono`. That check is unreliable across a published library boundary. When this package and the host (e.g. `mcp-use`) resolve different `Hono` constructors (common in monorepos where workspace deps hoist their own `hono`, when Node loads Hono's dual CJS+ESM builds from the same on-disk copy as two separate module records, or under bundler dedup), `instanceof` returns false even for a real Hono app. The Express bridge then runs against a Hono `Context` and crashes on every request trying to read `req.headers.host`:

  ```
  TypeError: Cannot read properties of undefined (reading 'host')
      at .../@mcp-use/inspector/dist/server/chunk-*.js (mountInspector Express bridge)
  ```

  Switch to a duck-type check: Hono apps expose `.fetch(Request) => Response`; Express apps don't. The check is unambiguous for the documented input set and works regardless of which physical Hono module produced the app. Surfaces immediately in the new Next.js drop-in flow (`--mcp-dir`) because Next.js apps almost always pull in a second `hono` through other deps, but the underlying problem applies any time the host and inspector resolve Hono through different module records.
  - mcp-use@1.25.1-canary.8

## 3.0.1-canary.7

### Patch Changes

- Updated dependencies [dd0ec5f]
  - mcp-use@1.25.1-canary.7

## 3.0.1-canary.6

### Patch Changes

- 47b446e: fix(inspector): store connection config in sessionStorage before OAuth redirect so auto-reconnect works without ?autoConnect param
  - mcp-use@1.25.1-canary.6

## 3.0.1-canary.5

### Patch Changes

- c1ea21a: Fix OAuth error handling to redirect back to inspector instead of showing raw error page. When OAuth callback receives an error (e.g. user denies access), the callback now looks up the stored state first to retrieve the returnUrl, then redirects back to the inspector with error parameters instead of immediately throwing and displaying a raw error page with stack traces. The inspector surfaces these errors as a persistent App-level toast that fires regardless of the active route.
- Updated dependencies [c1ea21a]
  - mcp-use@1.25.1-canary.5

## 3.0.1-canary.4

### Patch Changes

- mcp-use@1.25.1-canary.4

## 3.0.1-canary.3

### Patch Changes

- f41869b: fix(inspector): suppress duplicate model UI when embedded with `managedLlmConfig` + `hideModelBadge` (MCP-1913)

  If the user had a bring-your-own-key config in `localStorage`, `effectiveClientSide` became true. The host can pass `managedLlmConfig` and `hideModelBadge` (e.g. cloud dashboard with `ServerChatHeader` + `LLMModelSelector`), but the inspector still showed its own `provider/model` UI: the landing pill below the input, and (in threaded view) `ChatHeader`'s absolute model badge — overlapping the dashboard title and model row.

  When `managedLlmConfig` and `hideModelBadge` are both set, the inspector now suppresses that duplicate chrome in both landing and non-landing views. Standalone hosted behavior is unchanged when the host does not pass this embed pair.

  Additionally, for `useClientSide={false}` + `managedLlmConfig` (host-owned chat stream), the chat path no longer auto-switches to client-side streaming when `localLlmConfig` exists in `localStorage` from a past standalone inspector session. The host’s `chatApiUrl` (e.g. org chat stream) is used unless the user explicitly opts into BYOK (`forceClientSide` via rate-limit / “use your own key”).
  - mcp-use@1.25.1-canary.3

## 3.0.1-canary.2

### Patch Changes

- dfe35fa: Fix MCP App widget overlaying the chat header. Removed the explicit `z-20`/`z-10` stacking context from the sandboxed iframe wrappers in `MCPAppsRenderer` and `OpenAIComponentRenderer` so widgets scroll beneath the chat header instead of painting over it.
  - mcp-use@1.25.1-canary.2

## 3.0.1-canary.1

### Patch Changes

- mcp-use@1.25.1-canary.1

## 3.0.1-canary.0

### Patch Changes

- c864134: fix(inspector): hide Manufact free-tier "Model & usage" dialog when host app embeds `ChatTab` with its own session (MCP-1903)

  The cloud dashboard chat was leaking the hosted inspector's free-tier sign-in / bring-your-own-key modal (plus the "anthropic/server-managed" model badge) even though it passed `hideModelBadge={true}` and already had its own authenticated session and model selector.

  `ChatTab` was auto-deriving `freeTierInfo` from `isManaged` (i.e., the mere presence of `managedLlmConfig`), and both the badge and `ConfigurationDialog` treated `freeTierInfo` as an override that forces the UI back on regardless of `hideModelBadge` / `hideConfigButton`.

  Free-tier upgrade UI is now opt-in via a new `enableFreeTierUpgrade?: boolean` prop on `ChatTab` (default `false`), plumbed through `EmbeddedConfig.chatEnableFreeTierUpgrade`. The hosted inspector (`inspector.manufact.com`) auto-seeds it to `true`; host apps that embed `ChatTab` directly (e.g. the cloud dashboard) leave it off and their hide-\* props are respected.

- a59476b: fix(inspector): OAuth flow no longer leaves two tabs open (#1384)

  Previously, connecting to an OAuth-protected MCP server from the inspector opened the authorization page in a new tab, and after the user authorized the app the callback redirected back to the inspector inside that second tab — leaving the user with two inspector tabs.

  The inspector now uses the same-tab redirect flow (`useRedirectFlow: true`) combined with `preventAutoAuth: true`, so the OAuth authorization page opens in the current tab and the callback navigates the same tab back to the original inspector URL. The user ends up with a single tab.

  The `Authenticate` anchor no longer sets `target="_blank"` / `rel="noopener noreferrer"` — clicking it now navigates the current tab directly to the stored auth URL. All connection entry points in the inspector (`handleAddConnection`, the `Layout` adapter, and the `InspectorDashboard` adapter used by `handleUpdateConnection` on URL edits, as well as `useAutoConnect`) propagate the same flags so the single-tab behavior is consistent across manual connect, URL edits, and auto-connect from shared config.
  - mcp-use@1.25.1-canary.0

## 3.0.0

### Minor Changes

- 1bdec92: Elicitation requests triggered from the Chat tab now appear inline in the chat thread instead of routing users to a separate Elicitation tab via a toast. When triggered from the Tools tab, the existing toast behaviour is preserved. The Elicitation tab remains available as a fallback/audit view.

### Patch Changes

- 1bdec92: Add Open Graph and Twitter Card meta tags (title, description, image, site) plus `<meta name="description">` to the inspector HTML, so links to the hosted inspector render rich previews on Slack, X/Twitter, LinkedIn, Discord, and other platforms. Ships a branded `inspector-cover.png` in `public/` and serves it from `/inspector/inspector-cover.png` in both the default and CDN-shell paths.
- Updated dependencies [1bdec92]
- Updated dependencies [1bdec92]
- Updated dependencies [1bdec92]
  - mcp-use@1.25.0

## 3.0.0-canary.9

### Patch Changes

- Updated dependencies [6406d28]
  - mcp-use@1.25.0-canary.9

## 3.0.0-canary.8

### Minor Changes

- a0500f4: Elicitation requests triggered from the Chat tab now appear inline in the chat thread instead of routing users to a separate Elicitation tab via a toast. When triggered from the Tools tab, the existing toast behaviour is preserved. The Elicitation tab remains available as a fallback/audit view.

### Patch Changes

- mcp-use@1.25.0-canary.8

## 3.0.0-canary.7

### Patch Changes

- Updated dependencies [25dbaa5]
  - mcp-use@1.25.0-canary.7

## 3.0.0-canary.6

### Patch Changes

- 2304ff0: Add Open Graph and Twitter Card meta tags (title, description, image, site) plus `<meta name="description">` to the inspector HTML, so links to the hosted inspector render rich previews on Slack, X/Twitter, LinkedIn, Discord, and other platforms. Ships a branded `inspector-cover.png` in `public/` and serves it from `/inspector/inspector-cover.png` in both the default and CDN-shell paths.
  - mcp-use@1.25.0-canary.6

## 3.0.0-canary.5

### Patch Changes

- mcp-use@1.25.0-canary.5

## 3.0.0-canary.4

### Patch Changes

- mcp-use@1.25.0-canary.4

## 3.0.0-canary.3

### Patch Changes

- Updated dependencies [3b79a17]
  - mcp-use@1.25.0-canary.3

## 2.2.1-canary.2

### Patch Changes

- mcp-use@1.24.3-canary.2

## 2.2.1-canary.1

### Patch Changes

- mcp-use@1.24.3-canary.1

## 2.2.1-canary.0

### Patch Changes

- mcp-use@1.24.3-canary.0

## 2.2.0

### Minor Changes

- e9c4bd0: feat(inspector): allow free tier chat on hosted inspector
- e9c4bd0: Added "Copy Chat" and "Export Chat" buttons to the MCP Inspector chat header. Both actions include tool calls inline in the order they occurred. Copy writes markdown to the clipboard; Export downloads as JSON or Markdown.
- e9c4bd0: fix(inspector): remove `@langchain/*` hard dependencies and drop `MCPAgent` usage

  Closes [mcp-use/mcp-use#1371](https://github.com/mcp-use/mcp-use/issues/1371).

  `@mcp-use/inspector` no longer depends on `@langchain/core`, `@langchain/openai`, `@langchain/anthropic`, or `@langchain/google-genai`. The chat, sampling, and props-generation paths now call the OpenAI, Anthropic, and Google REST APIs directly and run their own MCP tool-calling loop instead of going through `MCPAgent`. Consumers of `mcp-use` (which transitively installs the inspector) no longer need langchain in their `node_modules` and Next.js / Vite / other bundlers no longer fail at runtime with `Cannot find package 'langchain'`.

  Preserved behavior:
  - SSE wire format of the inspector's `/inspector/api/chat/stream` endpoint is unchanged (`message` / `text` / `tool-call` / `tool-result` / `done` / `error` events with identical field shapes), so existing clients — including remote consumers and the Vercel AI SDK `data-stream` parser in `useChatMessages` — keep working.
  - Tool execution, multimodal image attachments, streaming partial-args rendering, OpenAI Apps SDK `openai/outputTemplate` resource hydration, cancellation via `AbortSignal`, prompts, elicitation, and widget `ui/update-model-context` injection all behave the same as before.

  Provider notes:
  - Gemini does not stream partial tool-call arguments incrementally (the provider only emits fully-formed `functionCall.args`), so the progressive partial-args animation only updates once per tool call for the `google` provider. Final behavior is identical.
  - MCP tool schemas are automatically sanitized before being sent to Gemini to strip keywords it rejects (`$schema`, `additionalProperties`, `$ref`, etc.).
  - A new regression test in `mcp-use/tests/inspector-no-langchain.test.ts` fails if any `@langchain/*`, `langchain`, or `MCPAgent` reference re-enters the inspector's `package.json` or built `dist/**`.

### Patch Changes

- e9c4bd0: fix(inspector): read `MANUFACT_CHAT_URL` in the standalone server entrypoint

  The runtime hosted-chat URL injection was wired up in `cli.ts` (used by the published `mcp-inspect` bin and by Railway) but the same plumbing in `server.ts` (used by `pnpm start` / the dev server) was dropped during a merge. As a result, running the inspector via `node dist/server/server.js` with `MANUFACT_CHAT_URL` set did not inject `window.__MANUFACT_CHAT_URL__` into the served HTML.

  This change restores parity between the two entrypoints so both honour the env var at process start.

- e9c4bd0: feat(inspector): configure hosted chat URL at runtime via `MANUFACT_CHAT_URL`

  The hosted chat endpoint (`chatApiUrl`) previously had to be baked into the client bundle at `vite build` time via `VITE_MANUFACT_CHAT_URL`. This prevented the same pre-built npm tarball from being configured per deploy (Railway, CDN, self-hosted) without a rebuild.

  The inspector server now reads `MANUFACT_CHAT_URL` at runtime and injects `window.__MANUFACT_CHAT_URL__` into the served HTML. `InspectorProvider` prefers the runtime value and falls back to `VITE_MANUFACT_CHAT_URL` for local Vite dev, so existing build-time flows keep working.

  Also drops `noopener` from the LoginModal OAuth popup and redirects the OAuth `callbackURL` to a new `/inspector/oauth-popup-closed.html` page so the popup self-closes cleanly instead of briefly loading the full inspector inside it.

- Updated dependencies [e9c4bd0]
- Updated dependencies [e9c4bd0]
  - mcp-use@1.24.2

## 2.2.0-canary.7

### Patch Changes

- 028cd3c: fix(inspector): read `MANUFACT_CHAT_URL` in the standalone server entrypoint

  The runtime hosted-chat URL injection was wired up in `cli.ts` (used by the published `mcp-inspect` bin and by Railway) but the same plumbing in `server.ts` (used by `pnpm start` / the dev server) was dropped during a merge. As a result, running the inspector via `node dist/server/server.js` with `MANUFACT_CHAT_URL` set did not inject `window.__MANUFACT_CHAT_URL__` into the served HTML.

  This change restores parity between the two entrypoints so both honour the env var at process start.
  - mcp-use@1.24.2-canary.7

## 2.2.0-canary.6

### Minor Changes

- baa93e6: fix(inspector): remove `@langchain/*` hard dependencies and drop `MCPAgent` usage

  Closes [mcp-use/mcp-use#1371](https://github.com/mcp-use/mcp-use/issues/1371).

  `@mcp-use/inspector` no longer depends on `@langchain/core`, `@langchain/openai`, `@langchain/anthropic`, or `@langchain/google-genai`. The chat, sampling, and props-generation paths now call the OpenAI, Anthropic, and Google REST APIs directly and run their own MCP tool-calling loop instead of going through `MCPAgent`. Consumers of `mcp-use` (which transitively installs the inspector) no longer need langchain in their `node_modules` and Next.js / Vite / other bundlers no longer fail at runtime with `Cannot find package 'langchain'`.

  Preserved behavior:
  - SSE wire format of the inspector's `/inspector/api/chat/stream` endpoint is unchanged (`message` / `text` / `tool-call` / `tool-result` / `done` / `error` events with identical field shapes), so existing clients — including remote consumers and the Vercel AI SDK `data-stream` parser in `useChatMessages` — keep working.
  - Tool execution, multimodal image attachments, streaming partial-args rendering, OpenAI Apps SDK `openai/outputTemplate` resource hydration, cancellation via `AbortSignal`, prompts, elicitation, and widget `ui/update-model-context` injection all behave the same as before.

  Provider notes:
  - Gemini does not stream partial tool-call arguments incrementally (the provider only emits fully-formed `functionCall.args`), so the progressive partial-args animation only updates once per tool call for the `google` provider. Final behavior is identical.
  - MCP tool schemas are automatically sanitized before being sent to Gemini to strip keywords it rejects (`$schema`, `additionalProperties`, `$ref`, etc.).
  - A new regression test in `mcp-use/tests/inspector-no-langchain.test.ts` fails if any `@langchain/*`, `langchain`, or `MCPAgent` reference re-enters the inspector's `package.json` or built `dist/**`.

### Patch Changes

- mcp-use@1.24.2-canary.6

## 2.2.0-canary.5

### Patch Changes

- 1b64075: feat(inspector): configure hosted chat URL at runtime via `MANUFACT_CHAT_URL`

  The hosted chat endpoint (`chatApiUrl`) previously had to be baked into the client bundle at `vite build` time via `VITE_MANUFACT_CHAT_URL`. This prevented the same pre-built npm tarball from being configured per deploy (Railway, CDN, self-hosted) without a rebuild.

  The inspector server now reads `MANUFACT_CHAT_URL` at runtime and injects `window.__MANUFACT_CHAT_URL__` into the served HTML. `InspectorProvider` prefers the runtime value and falls back to `VITE_MANUFACT_CHAT_URL` for local Vite dev, so existing build-time flows keep working.

  Also drops `noopener` from the LoginModal OAuth popup and redirects the OAuth `callbackURL` to a new `/inspector/oauth-popup-closed.html` page so the popup self-closes cleanly instead of briefly loading the full inspector inside it.

- Updated dependencies [bd58d95]
  - mcp-use@1.24.2-canary.5

## 2.2.0-canary.4

### Minor Changes

- d9ac208: feat(inspector): allow free tier chat on hosted inspector

### Patch Changes

- mcp-use@1.24.2-canary.4

## 2.2.0-canary.3

### Patch Changes

- Updated dependencies [aa86071]
  - mcp-use@1.24.2-canary.3

## 2.2.0-canary.2

### Minor Changes

- ee5abf8: Added "Copy Chat" and "Export Chat" buttons to the MCP Inspector chat header. Both actions include tool calls inline in the order they occurred. Copy writes markdown to the clipboard; Export downloads as JSON or Markdown.

### Patch Changes

- mcp-use@1.24.2-canary.2

## 2.1.1-canary.1

### Patch Changes

- mcp-use@1.24.2-canary.1

## 2.1.1-canary.0

### Patch Changes

- mcp-use@1.24.2-canary.0

## 2.1.0

### Minor Changes

- 30be19e: Add theme toggle button to MCP Apps debug controls toolbar
- 30be19e: Inspector navbar UX improvements
  - Chat tab moved to first position, always shows label even when collapsed, with visual separator
  - Active tab label stays visible when navbar is collapsed (new `alwaysExpanded` prop on TabsTrigger)
  - Deploy button added linking to manufact.com/signup with inspector referrer
  - Tunnel button repositioned between Add to Client and Deploy, restyled with violet theme, now visible in mobile layout
  - Theme toggle, command palette, and GitHub consolidated into a settings dropdown menu
  - "Report a Bug" menu item added, pre-fills GitHub issue with inspector label

### Patch Changes

- Updated dependencies [30be19e]
  - mcp-use@1.24.1

## 2.1.0-canary.3

### Patch Changes

- d85fb4f: Add theme toggle button to MCP Apps debug controls toolbar
  - mcp-use@1.24.1-canary.3

## 2.1.0-canary.2

### Patch Changes

- mcp-use@1.24.1-canary.2

## 2.1.0-canary.1

### Patch Changes

- Updated dependencies [9fed740]
  - mcp-use@1.24.1-canary.1

## 2.1.0-canary.0

### Minor Changes

- 27bd31c: Inspector navbar UX improvements
  - Chat tab moved to first position, always shows label even when collapsed, with visual separator
  - Active tab label stays visible when navbar is collapsed (new `alwaysExpanded` prop on TabsTrigger)
  - Deploy button added linking to manufact.com/signup with inspector referrer
  - Tunnel button repositioned between Add to Client and Deploy, restyled with violet theme, now visible in mobile layout
  - Theme toggle, command palette, and GitHub consolidated into a settings dropdown menu
  - "Report a Bug" menu item added, pre-fills GitHub issue with inspector label

### Patch Changes

- mcp-use@1.24.1-canary.0

## 2.0.0

### Patch Changes

- 4070f26: Fix OAuth callback URL for inspector mounted at a sub-path

  **mcp-use:** Add `defaultCallbackUrl` prop to `McpClientProvider` so apps mounted at a sub-path (e.g. `/inspector`) can declare the correct OAuth redirect URL once at the provider level instead of passing it to every `addServer` call.

  **inspector:** Pass `defaultCallbackUrl` pointing to `/inspector/oauth/callback`, which is where the React Router (with `basename="/inspector"`) mounts the `OAuthCallback` component. Previously the callback URL defaulted to `/oauth/callback`, causing a blank screen after OAuth because the route was never matched. The "Redirect URL" field has been removed from the authentication dialog — it was never wired to the actual connection and could not be set to a path the inspector would handle.

- 4070f26: Fix thinking indicator persisting after assistant stream completes
- 4070f26: feat(inspector): persist tabs on refresh
- Updated dependencies [4070f26]
- Updated dependencies [4070f26]
- Updated dependencies [4070f26]
- Updated dependencies [4070f26]
- Updated dependencies [4070f26]
- Updated dependencies [4070f26]
- Updated dependencies [4070f26]
  - mcp-use@1.24.0

## 2.0.0-canary.5

### Patch Changes

- Updated dependencies [bba147b]
  - mcp-use@1.24.0-canary.5

## 2.0.0-canary.4

### Patch Changes

- 1718d68: Fix OAuth callback URL for inspector mounted at a sub-path

  **mcp-use:** Add `defaultCallbackUrl` prop to `McpClientProvider` so apps mounted at a sub-path (e.g. `/inspector`) can declare the correct OAuth redirect URL once at the provider level instead of passing it to every `addServer` call.

  **inspector:** Pass `defaultCallbackUrl` pointing to `/inspector/oauth/callback`, which is where the React Router (with `basename="/inspector"`) mounts the `OAuthCallback` component. Previously the callback URL defaulted to `/oauth/callback`, causing a blank screen after OAuth because the route was never matched. The "Redirect URL" field has been removed from the authentication dialog — it was never wired to the actual connection and could not be set to a path the inspector would handle.

- Updated dependencies [1718d68]
  - mcp-use@1.24.0-canary.4

## 2.0.0-canary.3

### Patch Changes

- c51a656: feat(inspector): persist tabs on refresh
- Updated dependencies [c51a656]
- Updated dependencies [c51a656]
  - mcp-use@1.24.0-canary.3

## 2.0.0-canary.2

### Patch Changes

- b0e2492: Fix thinking indicator persisting after assistant stream completes
- Updated dependencies [9478920]
  - mcp-use@1.24.0-canary.2

## 2.0.0-canary.1

### Patch Changes

- Updated dependencies [4525a5d]
  - mcp-use@1.24.0-canary.1

## 2.0.0-canary.0

### Patch Changes

- Updated dependencies [c77a998]
  - mcp-use@1.24.0-canary.0

## 1.0.1

### Patch Changes

- 6d7fd2e: Fix embedded inspector failing when `langchain` is not installed: export `telFetch` from `mcp-use/telemetry/tel-fetch` so inspector server code does not load the root `mcp-use` entry (which eagerly pulls the agent graph). Log inspector mount failures in development or when `MCP_USE_DEBUG` is set.
- Updated dependencies [6d7fd2e]
  - mcp-use@1.23.1

## 1.0.1-canary.0

### Patch Changes

- b3680f9: Fix embedded inspector failing when `langchain` is not installed: export `telFetch` from `mcp-use/telemetry/tel-fetch` so inspector server code does not load the root `mcp-use` entry (which eagerly pulls the agent graph). Log inspector mount failures in development or when `MCP_USE_DEBUG` is set.
- Updated dependencies [b3680f9]
  - mcp-use@1.23.1-canary.0

## 1.0.0

### Minor Changes

- 6d7c4df: Feat(inspector): add support for data stream protocol

### Patch Changes

- 6d7c4df: Add `updateServerMetadata()` to `McpClientProvider` for metadata-only updates that do not trigger a reconnection.

  `updateServer()` continues to disconnect and remount the connection for any connection-affecting change (URL, headers, proxy, transport). `updateServerMetadata(id, { name })` updates the configured display name in place without touching the live connection.

  The Inspector uses this new path to let users set editable server aliases in the connection settings dialog. Alias-only edits no longer cause a full reconnect. All Inspector surfaces (dashboard tiles, server dropdown, header export actions, command palette, server info modal, server icon) now resolve the display name through a shared `getServerDisplayName` utility that prefers user-set aliases over server-reported metadata.

  Also fixes an IME composition issue where pressing `Enter` during Chinese/Japanese/Korean input could accidentally submit the connection form.

- 6d7c4df: Fix (inspector): add disabled tools prop to the inspector chat.
- 6d7c4df: Updated dependency `@hono/node-server` to `^1.19.13`.
- 6d7c4df: Updated dependency `hono` to `^4.12.12`.
- 6d7c4df: Updated dependency `vite` to `^8.0.5`.
- 6d7c4df: chore(inspector): ability to reference messages in the list for integration with manufact.build
- 6d7c4df: fix(inspector): stable grainy backgrounds, mesh connect backdrop, and dependency cleanup
  - Use inline SVG noise data URLs on `RandomGradientBackground` (avoids blocked remote `noise.svg` requests).
  - Add `@paper-design/shaders-react` mesh gradient behind the dashboard connect panel with a fine grain overlay, persisted play/stop control (shader motion), tooltip, and outline-only icon button.
  - Remove unused packages (`@mcp-ui/client`, top-level `langchain`, `vite-express`, `@tailwindcss/cli`) and redundant ESLint/LangChain devDependencies; declare `tsup` for builds and add `pnpm run check-deps` via Knip (`knip.json`).

- 6d7c4df: feat(inspector): persist tabs on refresh
- 6d7c4df: Harden transitive dependencies: tighten root `pnpm` overrides (vite, axios, lodash, hono, brace-expansion, path-to-regexp, yaml) and refresh the lockfile so `pnpm audit` reports no known vulnerabilities; add a `lodash` override to the `mcp-apps` scaffold template for standalone installs.
- Updated dependencies [6d7c4df]
- Updated dependencies [6d7c4df]
- Updated dependencies [6d7c4df]
- Updated dependencies [6d7c4df]
- Updated dependencies [6d7c4df]
- Updated dependencies [6d7c4df]
- Updated dependencies [6d7c4df]
  - mcp-use@1.23.0

## 1.0.0-canary.10

### Patch Changes

- 5749a4b: fix(inspector): stable grainy backgrounds, mesh connect backdrop, and dependency cleanup
  - Use inline SVG noise data URLs on `RandomGradientBackground` (avoids blocked remote `noise.svg` requests).
  - Add `@paper-design/shaders-react` mesh gradient behind the dashboard connect panel with a fine grain overlay, persisted play/stop control (shader motion), tooltip, and outline-only icon button.
  - Remove unused packages (`@mcp-ui/client`, top-level `langchain`, `vite-express`, `@tailwindcss/cli`) and redundant ESLint/LangChain devDependencies; declare `tsup` for builds and add `pnpm run check-deps` via Knip (`knip.json`).
  - mcp-use@1.23.0-canary.10

## 1.0.0-canary.9

### Patch Changes

- 1118308: Harden transitive dependencies: tighten root `pnpm` overrides (vite, axios, lodash, hono, brace-expansion, path-to-regexp, yaml) and refresh the lockfile so `pnpm audit` reports no known vulnerabilities; add a `lodash` override to the `mcp-apps` scaffold template for standalone installs.
- Updated dependencies [1118308]
  - mcp-use@1.23.0-canary.9

## 1.0.0-canary.8

### Patch Changes

- 9ec2039: Updated dependency `@hono/node-server` to `^1.19.13`.
- ebc6c9f: chore(inspector): ability to reference messages in the list for integration with manufact.build
- Updated dependencies [9ec2039]
  - mcp-use@1.23.0-canary.8

## 1.0.0-canary.7

### Patch Changes

- Updated dependencies [10ab350]
  - mcp-use@1.23.0-canary.7

## 1.0.0-canary.6

### Patch Changes

- 47b8052: Add `updateServerMetadata()` to `McpClientProvider` for metadata-only updates that do not trigger a reconnection.

  `updateServer()` continues to disconnect and remount the connection for any connection-affecting change (URL, headers, proxy, transport). `updateServerMetadata(id, { name })` updates the configured display name in place without touching the live connection.

  The Inspector uses this new path to let users set editable server aliases in the connection settings dialog. Alias-only edits no longer cause a full reconnect. All Inspector surfaces (dashboard tiles, server dropdown, header export actions, command palette, server info modal, server icon) now resolve the display name through a shared `getServerDisplayName` utility that prefers user-set aliases over server-reported metadata.

  Also fixes an IME composition issue where pressing `Enter` during Chinese/Japanese/Korean input could accidentally submit the connection form.

- Updated dependencies [47b8052]
  - mcp-use@1.23.0-canary.6

## 0.27.0-canary.5

### Minor Changes

- 7be81db: Feat(inspector): add support for data stream protocol

### Patch Changes

- mcp-use@1.22.4-canary.5

## 0.26.2-canary.4

### Patch Changes

- 36334a0: Fix (inspector): add disabled tools prop to the inspector chat.
  - mcp-use@1.22.4-canary.4

## 0.26.2-canary.3

### Patch Changes

- 02c26cc: Updated dependency `vite` to `^8.0.5`.
- Updated dependencies [02c26cc]
  - mcp-use@1.22.4-canary.3

## 0.26.2-canary.2

### Patch Changes

- d09532e: Updated dependency `hono` to `^4.12.12`.
- Updated dependencies [d09532e]
  - mcp-use@1.22.4-canary.2

## 0.26.2-canary.1

### Patch Changes

- 62f95c2: feat(inspector): persist tabs on refresh
  - mcp-use@1.22.4-canary.1

## 0.26.2-canary.0

### Patch Changes

- Updated dependencies [cca2612]
  - mcp-use@1.22.4-canary.0

## 0.26.1

### Patch Changes

- 0ec6068: Restore mcp-use as both a dependency and peerDependency. The dependency is needed for tsup to bundle non-React subpaths (mcp-use/auth, mcp-use/browser) with their transitive deps (langchain). The peerDependency ensures mcp-use/react types are shared with the host app.
  - mcp-use@1.22.3

## 0.26.1-canary.0

### Patch Changes

- 8cb5d98: Restore mcp-use as both a dependency and peerDependency. The dependency is needed for tsup to bundle non-React subpaths (mcp-use/auth, mcp-use/browser) with their transitive deps (langchain). The peerDependency ensures mcp-use/react types are shared with the host app.
  - mcp-use@1.22.3-canary.0

## 0.26.0

### Minor Changes

- 6255bbd: Move mcp-use from dependencies to peerDependencies in @mcp-use/inspector. This ensures consumers share a single copy of mcp-use types, fixing TS2322 errors caused by pnpm creating multiple peer-variant copies with nominally-incompatible private/protected class members. Also add stripInternal to mcp-use tsconfig and mark internal class members with @internal to reduce .d.ts surface area.
- 6255bbd: Upgrade @mcp-ui/client from ^6.1.0 to ^7.0.0. Replace removed UIResourceRenderer with sandboxed iframes for legacy ui:// resources. Drop remote-dom support (removed upstream). MCP Apps rendering via MCPAppsRenderer is unaffected.

### Patch Changes

- Updated dependencies [6255bbd]
- Updated dependencies [6255bbd]
- Updated dependencies [6255bbd]
- Updated dependencies [6255bbd]
  - mcp-use@1.22.2

## 0.26.0-canary.3

### Minor Changes

- 1637670: Move mcp-use from dependencies to peerDependencies in @mcp-use/inspector. This ensures consumers share a single copy of mcp-use types, fixing TS2322 errors caused by pnpm creating multiple peer-variant copies with nominally-incompatible private/protected class members. Also add stripInternal to mcp-use tsconfig and mark internal class members with @internal to reduce .d.ts surface area.

### Patch Changes

- Updated dependencies [1637670]
  - mcp-use@1.22.2-canary.3

## 0.26.0-canary.2

### Patch Changes

- Updated dependencies [6af0a9b]
  - mcp-use@1.22.2-canary.2

## 0.26.0-canary.1

### Patch Changes

- Updated dependencies [cffa4c3]
  - mcp-use@1.22.2-canary.1

## 0.26.0-canary.0

### Minor Changes

- a412783: Upgrade @mcp-ui/client from ^6.1.0 to ^7.0.0. Replace removed UIResourceRenderer with sandboxed iframes for legacy ui:// resources. Drop remote-dom support (removed upstream). MCP Apps rendering via MCPAppsRenderer is unaffected.

### Patch Changes

- mcp-use@1.22.2-canary.0

## 0.25.1

### Patch Changes

- 7d2112e: Add `fallback` and `onError` props to ErrorBoundary

  The `ErrorBoundary` component now accepts an optional `fallback` prop (`ReactNode` or `(error: Error) => ReactNode`) for custom error UI, and an `onError` callback for error reporting. When no fallback is provided, the default red error card is shown (backward compatible).

- 7d2112e: Preserve tool call results (including `structuredContent`) in Inspector chat history across conversation turns

  Previously, `convertMessagesToLangChain` only emitted `HumanMessage` and `AIMessage`, dropping all tool invocation data when reconstructing conversation history. This meant the model lost context about previous tool calls and their results on subsequent turns.

  Now, assistant messages with tool-invocation parts are properly reconstructed as an `AIMessage` with `tool_calls` followed by `ToolMessage` objects for each completed invocation. The `_meta` field is stripped from tool results before they reach the model, while `structuredContent` and all other fields are preserved.

- Updated dependencies [7d2112e]
- Updated dependencies [7d2112e]
- Updated dependencies [7d2112e]
  - mcp-use@1.22.1

## 0.25.1-canary.5

### Patch Changes

- mcp-use@1.22.1-canary.5

## 0.25.1-canary.4

### Patch Changes

- mcp-use@1.22.1-canary.4

## 0.25.1-canary.3

### Patch Changes

- f28452e: Preserve tool call results (including `structuredContent`) in Inspector chat history across conversation turns

  Previously, `convertMessagesToLangChain` only emitted `HumanMessage` and `AIMessage`, dropping all tool invocation data when reconstructing conversation history. This meant the model lost context about previous tool calls and their results on subsequent turns.

  Now, assistant messages with tool-invocation parts are properly reconstructed as an `AIMessage` with `tool_calls` followed by `ToolMessage` objects for each completed invocation. The `_meta` field is stripped from tool results before they reach the model, while `structuredContent` and all other fields are preserved.
  - mcp-use@1.22.1-canary.3

## 0.25.1-canary.2

### Patch Changes

- 8500c06: Add `fallback` and `onError` props to ErrorBoundary

  The `ErrorBoundary` component now accepts an optional `fallback` prop (`ReactNode` or `(error: Error) => ReactNode`) for custom error UI, and an `onError` callback for error reporting. When no fallback is provided, the default red error card is shown (backward compatible).

- Updated dependencies [8500c06]
  - mcp-use@1.22.1-canary.2

## 0.25.1-canary.1

### Patch Changes

- Updated dependencies [cfa387a]
  - mcp-use@1.22.1-canary.1

## 0.25.1-canary.0

### Patch Changes

- Updated dependencies [5e9d5a8]
  - mcp-use@1.22.1-canary.0

## 0.25.0

### Minor Changes

- b76df33: feat(tunnel): added ability to start/stop the mcp-use dev tunnel from the inspector
- b76df33: Upgrade to Vite 8 with Rolldown bundler and fix all test failures

  **Vite 8 upgrade:**
  - Upgrade `vite` from v7.3.x to v8.0.0 across all packages and examples
  - Upgrade `@vitejs/plugin-react` from v5 to v6 (Oxc-based transforms)
  - Migrate `rollupOptions` to `rolldownOptions` in all vite configs
  - Migrate `optimizeDeps.esbuildOptions` to `optimizeDeps.rolldownOptions`
  - Remove deprecated `build.commonjsOptions` (no-op in Vite 8)
  - Switch programmatic `minify: "esbuild"` to `minify: true` (Oxc minifier)
  - Extract `loadConfigFile` from `config.ts` into `config-file.ts` to prevent `require("fs")` leaking into browser bundles

  **Test fixes (35 pre-existing failures):**
  - Telemetry tests: add `vi.resetModules()`, async flush for fire-and-forget tracking, `type: "ai"` on agent mocks, missing adapter methods
  - response-helpers tests: update widget() assertions from `_meta["mcp-use/props"]` to `structuredContent` per SEP-1865
  - HMR tests: add widget config markers, mock `registerPrompt`/`registerResource` on sessions, update error message assertions
  - ai_sdk_compatibility test: fix `StreamEvent` import to `@langchain/core/tracers/log_stream`
  - distributed-stream-routing test: use OS-assigned ports instead of fixed port to eliminate EADDRINUSE race condition
  - browser-react-no-node-deps test: fix `execSync` → `execFileSync` call

  **CI fix:**
  - Quote glob in `test:unit` script (`'tests/integration/**'`) to prevent shell expansion that was causing unit tests to be silently skipped in CI
  - Add missing dev dependencies: `ai`, `morgan`, `@types/morgan`, `express-rate-limit`

### Patch Changes

- b76df33: fix: map elicit result `content` to `data` for Zod validation

  The MCP SDK returns form data in `result.content` per the elicitation spec, but
  `createElicitMethod` was checking `result.data` which is always undefined from
  spec-compliant clients. This caused Zod validation to never run, leaving
  `result.data` as undefined for tool callbacks using `ctx.elicit()` with a Zod
  schema.

  Now reads `result.content` (with fallback to `result.data` for backward
  compatibility) and always maps accepted form data to `result.data` so the typed
  API works correctly. Also fixes the inspector to send `content` instead of
  `data` per the MCP spec.

- Updated dependencies [b76df33]
- Updated dependencies [b76df33]
- Updated dependencies [b76df33]
- Updated dependencies [b76df33]
- Updated dependencies [b76df33]
- Updated dependencies [b76df33]
- Updated dependencies [b76df33]
  - mcp-use@1.22.0

## 0.25.0-canary.6

### Minor Changes

- 9d48429: feat(tunnel): added ability to start/stop the mcp-use dev tunnel from the inspector

### Patch Changes

- Updated dependencies [9d48429]
  - mcp-use@1.22.0-canary.6

## 0.25.0-canary.5

### Patch Changes

- bd7c2f6: fix: map elicit result `content` to `data` for Zod validation

  The MCP SDK returns form data in `result.content` per the elicitation spec, but
  `createElicitMethod` was checking `result.data` which is always undefined from
  spec-compliant clients. This caused Zod validation to never run, leaving
  `result.data` as undefined for tool callbacks using `ctx.elicit()` with a Zod
  schema.

  Now reads `result.content` (with fallback to `result.data` for backward
  compatibility) and always maps accepted form data to `result.data` so the typed
  API works correctly. Also fixes the inspector to send `content` instead of
  `data` per the MCP spec.

- Updated dependencies [bd7c2f6]
  - mcp-use@1.22.0-canary.5

## 0.25.0-canary.4

### Patch Changes

- Updated dependencies [f2034db]
  - mcp-use@1.22.0-canary.4

## 0.25.0-canary.3

### Patch Changes

- Updated dependencies [42c93aa]
  - mcp-use@1.22.0-canary.3

## 0.25.0-canary.2

### Patch Changes

- Updated dependencies [0f9ee27]
  - mcp-use@1.22.0-canary.2

## 0.25.0-canary.1

### Minor Changes

- e103822: Upgrade to Vite 8 with Rolldown bundler and fix all test failures

  **Vite 8 upgrade:**
  - Upgrade `vite` from v7.3.x to v8.0.0 across all packages and examples
  - Upgrade `@vitejs/plugin-react` from v5 to v6 (Oxc-based transforms)
  - Migrate `rollupOptions` to `rolldownOptions` in all vite configs
  - Migrate `optimizeDeps.esbuildOptions` to `optimizeDeps.rolldownOptions`
  - Remove deprecated `build.commonjsOptions` (no-op in Vite 8)
  - Switch programmatic `minify: "esbuild"` to `minify: true` (Oxc minifier)
  - Extract `loadConfigFile` from `config.ts` into `config-file.ts` to prevent `require("fs")` leaking into browser bundles

  **Test fixes (35 pre-existing failures):**
  - Telemetry tests: add `vi.resetModules()`, async flush for fire-and-forget tracking, `type: "ai"` on agent mocks, missing adapter methods
  - response-helpers tests: update widget() assertions from `_meta["mcp-use/props"]` to `structuredContent` per SEP-1865
  - HMR tests: add widget config markers, mock `registerPrompt`/`registerResource` on sessions, update error message assertions
  - ai_sdk_compatibility test: fix `StreamEvent` import to `@langchain/core/tracers/log_stream`
  - distributed-stream-routing test: use OS-assigned ports instead of fixed port to eliminate EADDRINUSE race condition
  - browser-react-no-node-deps test: fix `execSync` → `execFileSync` call

  **CI fix:**
  - Quote glob in `test:unit` script (`'tests/integration/**'`) to prevent shell expansion that was causing unit tests to be silently skipped in CI
  - Add missing dev dependencies: `ai`, `morgan`, `@types/morgan`, `express-rate-limit`

### Patch Changes

- Updated dependencies [e103822]
  - mcp-use@1.22.0-canary.1

## 0.24.6-canary.0

### Patch Changes

- Updated dependencies [aafea7b]
  - mcp-use@1.21.6-canary.0

## 0.24.5

### Patch Changes

- ed0fadb: Fix Dependabot security alerts by updating vulnerable dependencies across the monorepo. Added pnpm overrides for flatted, tar, hono, @hono/node-server, express-rate-limit, dompurify, minimatch, rollup, form-data, lodash, and other transitive deps. Bumped direct deps: hono to ^4.12.7 (mcp-use, inspector), tar to ^7.5.11 (cli, create-mcp-use-app). Pinned @modelcontextprotocol/sdk to ^1.25.2 in proxy example.
- Updated dependencies [ed0fadb]
- Updated dependencies [ed0fadb]
- Updated dependencies [ed0fadb]
  - mcp-use@1.21.5

## 0.24.5-canary.3

### Patch Changes

- Updated dependencies [b4ad0e8]
  - mcp-use@1.21.5-canary.3

## 0.24.5-canary.2

### Patch Changes

- mcp-use@1.21.5-canary.2

## 0.24.5-canary.1

### Patch Changes

- 98e09ce: Fix Dependabot security alerts by updating vulnerable dependencies across the monorepo. Added pnpm overrides for flatted, tar, hono, @hono/node-server, express-rate-limit, dompurify, minimatch, rollup, form-data, lodash, and other transitive deps. Bumped direct deps: hono to ^4.12.7 (mcp-use, inspector), tar to ^7.5.11 (cli, create-mcp-use-app). Pinned @modelcontextprotocol/sdk to ^1.25.2 in proxy example.
- Updated dependencies [98e09ce]
  - mcp-use@1.21.5-canary.1

## 0.24.5-canary.0

### Patch Changes

- Updated dependencies [cfff626]
  - mcp-use@1.21.5-canary.0

## 0.24.4

### Patch Changes

- dd77c3c: Fix stale mcp-use-ts references in README badges, image URLs, and eslint config to point to the new mcp-use monorepo
- Updated dependencies [dd77c3c]
- Updated dependencies [dd77c3c]
  - mcp-use@1.21.4

## 0.24.4-canary.2

### Patch Changes

- Updated dependencies [4a5e680]
  - mcp-use@1.21.4-canary.2

## 0.24.4-canary.1

### Patch Changes

- d4f479d: Fix stale mcp-use-ts references in README badges, image URLs, and eslint config to point to the new mcp-use monorepo
- Updated dependencies [d4f479d]
  - mcp-use@1.21.4-canary.1

## 0.24.4-canary.0

### Patch Changes

- mcp-use@1.21.4-canary.0

## 0.24.3

### Patch Changes

- d8d6d06: Fix sandbox host derivation for cloud-embedded inspector pages. Apex hosts (e.g. manufact.com) now correctly resolve to sandbox-inspector.{domain} instead of sandbox-{domain}.
  - mcp-use@1.21.3

## 0.24.3-canary.0

### Patch Changes

- c509930: Fix sandbox host derivation for cloud-embedded inspector pages. Apex hosts (e.g. manufact.com) now correctly resolve to sandbox-inspector.{domain} instead of sandbox-{domain}.
  - mcp-use@1.21.3-canary.0

## 0.24.2

### Patch Changes

- 8d55603: fix(inspector): disable proxy on python builtin server
  - mcp-use@1.21.2

## 0.24.2-canary.0

### Patch Changes

- 76320f0: fix(inspector): disable proxy on python builtin server
  - mcp-use@1.21.2-canary.0

## 0.24.1

### Patch Changes

- ed1b034: fix(inspector): strip infra headers from proxied requests
- ed1b034: Fix tools selection and attachment button icons invisible in dark mode. Add explicit `text-muted-foreground` and `hover:text-foreground` to the paperclip and wrench buttons so they have proper contrast against the dark input background.
- ed1b034: fix(inspector): allow set initial messages for exported chat components
- ed1b034: Refactor clipboard operations across components to use a centralized `copyToClipboard` utility
- Updated dependencies [ed1b034]
- Updated dependencies [ed1b034]
  - mcp-use@1.21.1

## 0.24.1-canary.6

### Patch Changes

- 3cae276: Refactor clipboard operations across components to use a centralized `copyToClipboard` utility
  - mcp-use@1.21.1-canary.6

## 0.24.1-canary.5

### Patch Changes

- Updated dependencies [fb91a61]
  - mcp-use@1.21.1-canary.5

## 0.24.1-canary.4

### Patch Changes

- Updated dependencies [bdeaadb]
  - mcp-use@1.21.1-canary.4

## 0.24.1-canary.3

### Patch Changes

- mcp-use@1.21.1-canary.3

## 0.24.1-canary.2

### Patch Changes

- mcp-use@1.21.1-canary.2

## 0.24.1-canary.1

### Patch Changes

- 3e3767e: fix(inspector): allow set initial messages for exported chat components
  - mcp-use@1.21.1-canary.1

## 0.24.1-canary.0

### Patch Changes

- f0a872a: fix(inspector): strip infra headers from proxied requests
- ef8a0cf: Fix tools selection and attachment button icons invisible in dark mode. Add explicit `text-muted-foreground` and `hover:text-foreground` to the paperclip and wrench buttons so they have proper contrast against the dark input background.
  - mcp-use@1.21.1-canary.0

## 0.24.0

### Minor Changes

- 405fac7: feat: ctx.client.user(), MCP Apps capabilities fix, CLI tunnel inspector fix

  ### mcp-use

  **ctx.client.user()** — new per-invocation method on the tool context that extracts
  end-user metadata from `tools/call` `params._meta` (e.g. ChatGPT `openai/*` keys).
  Returns `undefined` on clients that don't send request-level metadata. The `UserContext`
  type is exported from `mcp-use/server`.

  ChatGPT runs a single MCP session for all users of a deployed app — use
  `ctx.client.user()?.subject` to identify the user and `?.conversationId` for the thread.

  **MCP Apps capabilities fix** — patched the MCP SDK's `ClientCapabilitiesSchema` to
  preserve the `extensions` field (previously stripped by Zod's default `$strip` mode),
  so `ctx.client.supportsApps()` now correctly returns `true` for clients that advertise
  `io.modelcontextprotocol/ui`.

  **Session isolation fix** — `findSessionContext` no longer falls back to an arbitrary
  session when the correct one can't be matched, preventing metadata leakage in
  multi-connection scenarios.

  ### @mcp-use/inspector

  The Inspector now advertises MCP Apps support (`io.modelcontextprotocol/ui`) in its
  `clientInfo.capabilities`. The `capabilities` field on `McpClientProvider.clientInfo`
  is a new provider-level default that applies to all server connections, including those
  restored from localStorage.

  ### @mcp-use/cli

  Fixed: the Inspector's `?autoConnect=` URL now uses the tunnel endpoint when
  `--tunnel` is active, instead of always pointing to `localhost`.

- 405fac7: feat(inspector): fix build to allow inspectro embedding
- 405fac7: feat(mcp-use): enhance host information and capabilities handling

### Patch Changes

- 405fac7: fix(inspector): sandbox url for dev inspector was incorrectly computed as -dev instead of .dev
- 405fac7: Fix --no-open flag being ignored in inspector standalone dev mode
- 405fac7: feat(auth): enhance OAuth flow and CORS handling
- 405fac7: feat(inspector): enhance logger middleware to filter noisy API endpoints
- Updated dependencies [405fac7]
- Updated dependencies [405fac7]
- Updated dependencies [405fac7]
- Updated dependencies [405fac7]
- Updated dependencies [405fac7]
- Updated dependencies [405fac7]
- Updated dependencies [405fac7]
- Updated dependencies [405fac7]
- Updated dependencies [405fac7]
- Updated dependencies [405fac7]
- Updated dependencies [405fac7]
  - mcp-use@1.21.0

## 0.24.0-canary.14

### Patch Changes

- cb89d47: feat(auth): enhance OAuth flow and CORS handling
- Updated dependencies [cb89d47]
  - mcp-use@1.21.0-canary.14

## 0.24.0-canary.13

### Patch Changes

- Updated dependencies [a903dd8]
  - mcp-use@1.21.0-canary.13

## 0.24.0-canary.12

### Patch Changes

- Updated dependencies [2f6a6a0]
  - mcp-use@1.21.0-canary.12

## 0.24.0-canary.11

### Patch Changes

- 71fd188: fix(inspector): sandbox url for dev inspector was incorrectly computed as -dev instead of .dev
  - mcp-use@1.21.0-canary.11

## 0.24.0-canary.10

### Patch Changes

- mcp-use@1.21.0-canary.10

## 0.24.0-canary.9

### Minor Changes

- 3aa578a: feat(inspector): fix build to allow inspectro embedding

### Patch Changes

- mcp-use@1.21.0-canary.9

## 0.24.0-canary.8

### Patch Changes

- Updated dependencies [0747144]
  - mcp-use@1.21.0-canary.8

## 0.24.0-canary.7

### Patch Changes

- Updated dependencies [6f66801]
  - mcp-use@1.21.0-canary.7

## 0.24.0-canary.6

### Patch Changes

- Updated dependencies [d9f946a]
  - mcp-use@1.21.0-canary.6

## 0.24.0-canary.5

### Patch Changes

- 2a8a9d1: feat(inspector): enhance logger middleware to filter noisy API endpoints
  - mcp-use@1.21.0-canary.5

## 0.24.0-canary.4

### Minor Changes

- 22a596e: feat: ctx.client.user(), MCP Apps capabilities fix, CLI tunnel inspector fix

  ### mcp-use

  **ctx.client.user()** — new per-invocation method on the tool context that extracts
  end-user metadata from `tools/call` `params._meta` (e.g. ChatGPT `openai/*` keys).
  Returns `undefined` on clients that don't send request-level metadata. The `UserContext`
  type is exported from `mcp-use/server`.

  ChatGPT runs a single MCP session for all users of a deployed app — use
  `ctx.client.user()?.subject` to identify the user and `?.conversationId` for the thread.

  **MCP Apps capabilities fix** — patched the MCP SDK's `ClientCapabilitiesSchema` to
  preserve the `extensions` field (previously stripped by Zod's default `$strip` mode),
  so `ctx.client.supportsApps()` now correctly returns `true` for clients that advertise
  `io.modelcontextprotocol/ui`.

  **Session isolation fix** — `findSessionContext` no longer falls back to an arbitrary
  session when the correct one can't be matched, preventing metadata leakage in
  multi-connection scenarios.

  ### @mcp-use/inspector

  The Inspector now advertises MCP Apps support (`io.modelcontextprotocol/ui`) in its
  `clientInfo.capabilities`. The `capabilities` field on `McpClientProvider.clientInfo`
  is a new provider-level default that applies to all server connections, including those
  restored from localStorage.

  ### @mcp-use/cli

  Fixed: the Inspector's `?autoConnect=` URL now uses the tunnel endpoint when
  `--tunnel` is active, instead of always pointing to `localhost`.

- 22a596e: feat(mcp-use): enhance host information and capabilities handling

### Patch Changes

- Updated dependencies [22a596e]
- Updated dependencies [22a596e]
  - mcp-use@1.21.0-canary.4

## 0.23.2-canary.3

### Patch Changes

- Updated dependencies [560a0ae]
  - mcp-use@1.21.0-canary.3

## 0.23.2-canary.2

### Patch Changes

- mcp-use@1.20.6-canary.2

## 0.23.2-canary.1

### Patch Changes

- Updated dependencies [1c8d340]
  - mcp-use@1.20.6-canary.1

## 0.23.2-canary.0

### Patch Changes

- 85f4bff: Fix --no-open flag being ignored in inspector standalone dev mode
  - mcp-use@1.20.6-canary.0

## 0.23.1

### Patch Changes

- mcp-use@1.20.5

## 0.23.1-canary.0

### Patch Changes

- mcp-use@1.20.5-canary.0

## 0.23.0

### Minor Changes

- 9d8a73f: feat(inspector): improve emebedded chat

### Patch Changes

- mcp-use@1.20.4

## 0.23.0-canary.0

### Minor Changes

- 452d274: feat(inspector): improve emebedded chat

### Patch Changes

- mcp-use@1.20.4-canary.0

## 0.22.3

### Patch Changes

- 322ab53: fix(inspector): standalone deployment was importing the version from the wrong path
  - mcp-use@1.20.3

## 0.22.3-canary.0

### Patch Changes

- 0b9818c: fix(inspector): standalone deployment was importing the version from the wrong path
  - mcp-use@1.20.3-canary.0

## 0.22.2

### Patch Changes

- 455c18f: fix(inspector): update useAutoConnect to retain tile visibility on connection failure
- 455c18f: fix(inspector): update MCPAppsRenderer and OpenAIComponentRenderer for improved border handling and status display
  - Changed default state for `prefersBorder` in MCPAppsRenderer to false, aligning with updated UI specifications.
  - Updated OpenAIComponentRenderer to conditionally display status labels above the widget in inline mode, enhancing user feedback.
  - Adjusted CSS classes for better layout management based on display modes, improving overall user experience.
  - Increased z-index for sticky elements in ToolResultDisplay to ensure proper layering in the UI.

- 455c18f: Add `exposeResourcesAsTools` and `exposePromptsAsTools` options to `MCPAgentOptions` (both default to `true` for backward compatibility). The inspector chat tab now sets both to `false`, so the agent only exposes actual MCP tools to the LLM rather than fabricating tool wrappers for resources and prompts.
- Updated dependencies [455c18f]
- Updated dependencies [455c18f]
  - mcp-use@1.20.2

## 0.22.2-canary.0

### Patch Changes

- 89cdd0b: fix(inspector): update useAutoConnect to retain tile visibility on connection failure
- 89cdd0b: fix(inspector): update MCPAppsRenderer and OpenAIComponentRenderer for improved border handling and status display
  - Changed default state for `prefersBorder` in MCPAppsRenderer to false, aligning with updated UI specifications.
  - Updated OpenAIComponentRenderer to conditionally display status labels above the widget in inline mode, enhancing user feedback.
  - Adjusted CSS classes for better layout management based on display modes, improving overall user experience.
  - Increased z-index for sticky elements in ToolResultDisplay to ensure proper layering in the UI.

- 89cdd0b: Add `exposeResourcesAsTools` and `exposePromptsAsTools` options to `MCPAgentOptions` (both default to `true` for backward compatibility). The inspector chat tab now sets both to `false`, so the agent only exposes actual MCP tools to the LLM rather than fabricating tool wrappers for resources and prompts.
- Updated dependencies [89cdd0b]
- Updated dependencies [89cdd0b]
  - mcp-use@1.20.2-canary.0

## 0.22.1

### Patch Changes

- 4546a8c: feat(widget): introduce invoking and invoked status texts for improved user feedback
  - Added `invoking` and `invoked` properties to widget metadata, allowing for customizable status messages during tool execution.
  - Updated relevant components to display these status texts, enhancing user experience by providing real-time feedback on tool operations.
  - Adjusted default values for `invoking` and `invoked` to improve clarity and consistency across widgets.
  - Refactored documentation to reflect changes in widget metadata and usage patterns, ensuring developers have clear guidance on implementing these features.

- Updated dependencies [4546a8c]
  - mcp-use@1.20.1

## 0.22.1-canary.0

### Patch Changes

- fbd1dfe: feat(widget): introduce invoking and invoked status texts for improved user feedback
  - Added `invoking` and `invoked` properties to widget metadata, allowing for customizable status messages during tool execution.
  - Updated relevant components to display these status texts, enhancing user experience by providing real-time feedback on tool operations.
  - Adjusted default values for `invoking` and `invoked` to improve clarity and consistency across widgets.
  - Refactored documentation to reflect changes in widget metadata and usage patterns, ensuring developers have clear guidance on implementing these features.

- Updated dependencies [fbd1dfe]
  - mcp-use@1.20.1-canary.0

## 0.22.0

### Minor Changes

- 5a73b41: - **@mcp-use/cli**: Add update check that notifies when a newer mcp-use release is available. Fix TSC build to use node with increased heap and avoid npx installing wrong package.
  - **create-mcp-use-app**: Add @types/react and @types/react-dom to template devDependencies. Slim down generated READMEs. Improve mcp-apps template (Carousel, product-search-result widget). Include .mcp-use in tsconfig. Fix postinstall script.
  - **@mcp-use/inspector**: Improve Iframe Console with expandable logs, level filter, search, resizable height. Add widget debug context for chat. Refactor MCP Apps debug controls (tool props JSON view, required props hint, SEP-1865 semantics). Add CDN build. Fix useSyncExternalStore first-render handling.
  - **mcp-use**: Refactor useWidget to merge props from toolInput and structuredContent per SEP-1865. Add updateModelContext and useMcp clientOptions. Add typescript to examples.

- 5a73b41: - fix(@mcp-use/cli): fallback MCP_URL when tunnel is unavailable
  - fix(create-mcp-use-app): product-search-result template styling and CSP metadata
  - fix(@mcp-use/inspector): reconnect logic; Tools tab only sends explicitly set fields; resource annotations include \_meta
  - feat(@mcp-use/inspector): CSP violations panel with clear action; widget re-execution on CSP mode change; CSP mode for Apps SDK
  - fix(mcp-use): widget CSP fallback from tool metadata; protocol and mount-widgets-dev improvements

### Patch Changes

- 5a73b41: Fix OAuth auth flow: add proactive token refresh, remove static auth header override, always proxy WorkOS requests, and ensure OAuth fetch interceptor is installed on autoConnect
- 5a73b41: Fix(docs): updated docs to remove outdated information
- Updated dependencies [5a73b41]
- Updated dependencies [5a73b41]
- Updated dependencies [5a73b41]
- Updated dependencies [5a73b41]
  - mcp-use@1.20.0

## 0.22.0-canary.4

### Patch Changes

- 76f10ec: Fix(docs): updated docs to remove outdated information
- Updated dependencies [76f10ec]
  - mcp-use@1.20.0-canary.4

## 0.22.0-canary.3

### Minor Changes

- f55c56e: - fix(@mcp-use/cli): fallback MCP_URL when tunnel is unavailable
  - fix(create-mcp-use-app): product-search-result template styling and CSP metadata
  - fix(@mcp-use/inspector): reconnect logic; Tools tab only sends explicitly set fields; resource annotations include \_meta
  - feat(@mcp-use/inspector): CSP violations panel with clear action; widget re-execution on CSP mode change; CSP mode for Apps SDK
  - fix(mcp-use): widget CSP fallback from tool metadata; protocol and mount-widgets-dev improvements

### Patch Changes

- Updated dependencies [f55c56e]
  - mcp-use@1.20.0-canary.3

## 0.22.0-canary.2

### Minor Changes

- ba0ea97: - **@mcp-use/cli**: Add update check that notifies when a newer mcp-use release is available. Fix TSC build to use node with increased heap and avoid npx installing wrong package.
  - **create-mcp-use-app**: Add @types/react and @types/react-dom to template devDependencies. Slim down generated READMEs. Improve mcp-apps template (Carousel, product-search-result widget). Include .mcp-use in tsconfig. Fix postinstall script.
  - **@mcp-use/inspector**: Improve Iframe Console with expandable logs, level filter, search, resizable height. Add widget debug context for chat. Refactor MCP Apps debug controls (tool props JSON view, required props hint, SEP-1865 semantics). Add CDN build. Fix useSyncExternalStore first-render handling.
  - **mcp-use**: Refactor useWidget to merge props from toolInput and structuredContent per SEP-1865. Add updateModelContext and useMcp clientOptions. Add typescript to examples.

### Patch Changes

- Updated dependencies [ba0ea97]
  - mcp-use@1.20.0-canary.2

## 0.21.2-canary.1

### Patch Changes

- Updated dependencies [8abb736]
  - mcp-use@1.19.4-canary.1

## 0.21.2-canary.0

### Patch Changes

- fbf1308: Fix OAuth auth flow: add proactive token refresh, remove static auth header override, always proxy WorkOS requests, and ensure OAuth fetch interceptor is installed on autoConnect
  - mcp-use@1.19.4-canary.0

## 0.21.1

### Patch Changes

- mcp-use@1.19.3

## 0.21.1-canary.0

### Patch Changes

- mcp-use@1.19.3-canary.0

## 0.21.0

### Minor Changes

- 179e800: feat(inspector): enhance ToolsTab with bulk paste functionality and auto-fill dialog
  - Implemented a new bulk paste feature in the ToolsTab component, allowing users to paste JSON or JavaScript object syntax directly into input fields.
  - Added an auto-fill dialog to confirm updates when pasted data would overwrite existing values, improving user experience and data integrity.
  - Introduced utility functions for parsing pasted text and converting JavaScript object syntax to valid JSON.
  - Updated ToolInputForm and ToolExecutionPanel components to support the new bulk paste functionality and visual feedback for auto-filled fields.

### Patch Changes

- 179e800: feat(inspector): update ToolExecutionPanel to copy full tool definition
  fix(server): correctly convert nested inpout schema args for tools
- 179e800: - fix(cli): add generate-types command for auto-generating TypeScript type definitions from tool schemas
  - fix(mcp-use): add useCallTool hook for calling MCP tools with TanStack Query-like state management
  - fix(mcp-use): add tool registry type generation utilities (generateToolRegistryTypes, zod-to-ts converter)
  - fix(mcp-use): add type-safe helper functions for tool calls via generateHelpers
  - fix(inspector): improve MCPAppsRenderer loading logic and enhance useWidget for iframe handling
  - chore(create-mcp-use-app): update project template dependencies and TypeScript configuration
  - docs: add comprehensive useCallTool documentation and update CLI reference with generate-types command
- Updated dependencies [179e800]
- Updated dependencies [179e800]
- Updated dependencies [179e800]
- Updated dependencies [179e800]
  - mcp-use@1.19.2

## 0.21.0-canary.2

### Patch Changes

- 9ef0ba9: - fix(cli): add generate-types command for auto-generating TypeScript type definitions from tool schemas
  - fix(mcp-use): add useCallTool hook for calling MCP tools with TanStack Query-like state management
  - fix(mcp-use): add tool registry type generation utilities (generateToolRegistryTypes, zod-to-ts converter)
  - fix(mcp-use): add type-safe helper functions for tool calls via generateHelpers
  - fix(inspector): improve MCPAppsRenderer loading logic and enhance useWidget for iframe handling
  - chore(create-mcp-use-app): update project template dependencies and TypeScript configuration
  - docs: add comprehensive useCallTool documentation and update CLI reference with generate-types command
- Updated dependencies [9ef0ba9]
  - mcp-use@1.19.2-canary.2

## 0.21.0-canary.1

### Minor Changes

- 894d21a: feat(inspector): enhance ToolsTab with bulk paste functionality and auto-fill dialog
  - Implemented a new bulk paste feature in the ToolsTab component, allowing users to paste JSON or JavaScript object syntax directly into input fields.
  - Added an auto-fill dialog to confirm updates when pasted data would overwrite existing values, improving user experience and data integrity.
  - Introduced utility functions for parsing pasted text and converting JavaScript object syntax to valid JSON.
  - Updated ToolInputForm and ToolExecutionPanel components to support the new bulk paste functionality and visual feedback for auto-filled fields.

### Patch Changes

- 894d21a: feat(inspector): update ToolExecutionPanel to copy full tool definition
  fix(server): correctly convert nested inpout schema args for tools
- Updated dependencies [894d21a]
- Updated dependencies [894d21a]
  - mcp-use@1.19.2-canary.1

## 0.20.2-canary.0

### Patch Changes

- Updated dependencies [1921562]
  - mcp-use@1.19.2-canary.0

## 0.20.1

### Patch Changes

- 568901e: fix(inspector): improve MCPAppsRenderer loading logic and enhance useWidget for iframe handling
- Updated dependencies [568901e]
  - mcp-use@1.19.1

## 0.20.1-canary.0

### Patch Changes

- 344dc29: fix(inspector): improve MCPAppsRenderer loading logic and enhance useWidget for iframe handling
- Updated dependencies [344dc29]
  - mcp-use@1.19.1-canary.0

## 0.20.0

### Minor Changes

- f4e2a70: feat(inspector): add quick questions and followups support to ChatTab
  - Added support for `chatQuickQuestions` and `chatFollowups` props in `ChatTab`, `ChatLandingForm`, and `ChatInputArea` components to improve user interaction
  - Implemented functionality to handle quick question and followup selection, enhancing the chat experience
  - Updated `InspectorContext` to include new configuration options for quick questions and followups
  - Enhanced message handling and event posting for better integration with the chat system

### Patch Changes

- f4e2a70: feat(inspector): enhance error handling and logging for widget components
  - Implemented error logging functionality in MCPAppsRenderer and OpenAIComponentRenderer to capture and post error messages and stack traces to the parent window
  - Added global error and unhandled promise rejection listeners in shared-utils to emit runtime errors with detailed context
  - Enhanced console error handling in mcp-apps route to serialize and send console errors to the parent window, improving debugging capabilities
  - Refactored MCPAppsRenderer to replace `isReady` state with `initCount` for better tracking of initialization events

- f4e2a70: fix: use correct MIME type for mcp_apps resource counting and disable telemetry in local test runs
- f4e2a70: fix(inspector): enhance MCPAppsRenderer and OpenAIComponentRenderer with loading states and spinner
  - Updated MCPAppsRenderer to include a loading spinner during widget initialization, improving user feedback.
  - Introduced a new `isReady` state to manage the loading state effectively.
  - Enhanced OpenAIComponentRenderer to adjust display properties based on the new configuration for better responsiveness.
  - Added a maximum width for the Picture-in-Picture mode in MCP_APPS_CONFIG for improved layout control.
  - Refactored iframe loading handling to ensure proper state management and user experience during loading phases.

- f4e2a70: fix(csp): allow permissive frame ancestors by default
- f4e2a70: feat(inspector): improve loading state and UI feedback in OpenAIComponentRenderer
  - Replaced shimmer animation with a Spinner component for a more consistent loading experience
  - Introduced a skeleton loading state that only displays on the initial load of the widget
  - Updated ToolResultDisplay to adjust the order of view checks for better clarity
  - Enhanced ToolsList to conditionally display parameter counts based on tool input schemas

- f4e2a70: feat(inspector): enhance ToolsList with metadata display and tool type icons
  - Updated ListItem component to conditionally render metadata
  - Enhanced ToolsList to include tool metadata with icons for MCP and OpenAI, utilizing tool detection logic
  - Introduced McpIcon and OpenAIIcon components for better visual representation of tool types

- f4e2a70: feat(inspector): add log copying functionality and enhance theme handling
  - Implemented a new feature in IframeConsole to copy all logs to the clipboard, providing users with an easy way to access console logs
  - Enhanced OpenAIComponentRenderer to manage widget readiness state and apply theme changes dynamically, improving user experience and visual consistency
  - Updated ThemeProvider to synchronize theme application with Tailwind dark mode and OpenAI Apps SDK design tokens, ensuring a seamless theme transition
  - Added a message signaling to the parent window when the widget is ready, enhancing communication between components

- Updated dependencies [f4e2a70]
- Updated dependencies [f4e2a70]
- Updated dependencies [f4e2a70]
- Updated dependencies [f4e2a70]
- Updated dependencies [f4e2a70]
- Updated dependencies [f4e2a70]
- Updated dependencies [f4e2a70]
- Updated dependencies [f4e2a70]
- Updated dependencies [f4e2a70]
- Updated dependencies [f4e2a70]
- Updated dependencies [f4e2a70]
  - mcp-use@1.19.0

## 0.20.0-canary.6

### Patch Changes

- 8774ef6: fix(inspector): enhance MCPAppsRenderer and OpenAIComponentRenderer with loading states and spinner
  - Updated MCPAppsRenderer to include a loading spinner during widget initialization, improving user feedback.
  - Introduced a new `isReady` state to manage the loading state effectively.
  - Enhanced OpenAIComponentRenderer to adjust display properties based on the new configuration for better responsiveness.
  - Added a maximum width for the Picture-in-Picture mode in MCP_APPS_CONFIG for improved layout control.
  - Refactored iframe loading handling to ensure proper state management and user experience during loading phases.

- Updated dependencies [8774ef6]
  - mcp-use@1.19.0-canary.6

## 0.20.0-canary.5

### Patch Changes

- Updated dependencies [5823280]
  - mcp-use@1.19.0-canary.5

## 0.20.0-canary.4

### Patch Changes

- Updated dependencies [21b3c0b]
  - mcp-use@1.19.0-canary.4

## 0.20.0-canary.3

### Minor Changes

- aa81040: feat(inspector): add quick questions and followups support to ChatTab
  - Added support for `chatQuickQuestions` and `chatFollowups` props in `ChatTab`, `ChatLandingForm`, and `ChatInputArea` components to improve user interaction
  - Implemented functionality to handle quick question and followup selection, enhancing the chat experience
  - Updated `InspectorContext` to include new configuration options for quick questions and followups
  - Enhanced message handling and event posting for better integration with the chat system

### Patch Changes

- aa81040: feat(inspector): enhance error handling and logging for widget components
  - Implemented error logging functionality in MCPAppsRenderer and OpenAIComponentRenderer to capture and post error messages and stack traces to the parent window
  - Added global error and unhandled promise rejection listeners in shared-utils to emit runtime errors with detailed context
  - Enhanced console error handling in mcp-apps route to serialize and send console errors to the parent window, improving debugging capabilities
  - Refactored MCPAppsRenderer to replace `isReady` state with `initCount` for better tracking of initialization events

- dea387a: fix(csp): allow permissive frame ancestors by default
- aa81040: feat(inspector): improve loading state and UI feedback in OpenAIComponentRenderer
  - Replaced shimmer animation with a Spinner component for a more consistent loading experience
  - Introduced a skeleton loading state that only displays on the initial load of the widget
  - Updated ToolResultDisplay to adjust the order of view checks for better clarity
  - Enhanced ToolsList to conditionally display parameter counts based on tool input schemas

- aa81040: feat(inspector): enhance ToolsList with metadata display and tool type icons
  - Updated ListItem component to conditionally render metadata
  - Enhanced ToolsList to include tool metadata with icons for MCP and OpenAI, utilizing tool detection logic
  - Introduced McpIcon and OpenAIIcon components for better visual representation of tool types

- aa81040: feat(inspector): add log copying functionality and enhance theme handling
  - Implemented a new feature in IframeConsole to copy all logs to the clipboard, providing users with an easy way to access console logs
  - Enhanced OpenAIComponentRenderer to manage widget readiness state and apply theme changes dynamically, improving user experience and visual consistency
  - Updated ThemeProvider to synchronize theme application with Tailwind dark mode and OpenAI Apps SDK design tokens, ensuring a seamless theme transition
  - Added a message signaling to the parent window when the widget is ready, enhancing communication between components

- Updated dependencies [aa81040]
- Updated dependencies [aa81040]
- Updated dependencies [aa81040]
- Updated dependencies [aa81040]
  - mcp-use@1.19.0-canary.3

## 0.19.1-canary.2

### Patch Changes

- Updated dependencies [e8383a7]
- Updated dependencies [1a8a2a6]
  - mcp-use@1.19.0-canary.2

## 0.19.1-canary.1

### Patch Changes

- 8e3cfb8: fix: use correct MIME type for mcp_apps resource counting and disable telemetry in local test runs
- Updated dependencies [8e3cfb8]
  - mcp-use@1.19.0-canary.1

## 0.19.1-canary.0

### Patch Changes

- Updated dependencies [df8d269]
  - mcp-use@1.19.0-canary.0

## 0.19.0

### Minor Changes

- 3334a67: feat(inspector): enhance elicitation support with SEP-1330 enum schema variants

### Patch Changes

- 3334a67: fix(inspector): enhance tool argument handling with type coercion and schema resolution
- Updated dependencies [3334a67]
- Updated dependencies [3334a67]
- Updated dependencies [3334a67]
  - mcp-use@1.18.0

## 0.19.0-canary.3

### Patch Changes

- c93a061: fix(inspector): enhance tool argument handling with type coercion and schema resolution
  - mcp-use@1.18.0-canary.3

## 0.19.0-canary.2

### Minor Changes

- 4a2b65e: feat(inspector): enhance elicitation support with SEP-1330 enum schema variants

### Patch Changes

- Updated dependencies [4a2b65e]
  - mcp-use@1.18.0-canary.2

## 0.18.10-canary.1

### Patch Changes

- Updated dependencies [52cd2a8]
  - mcp-use@1.18.0-canary.1

## 0.18.10-canary.0

### Patch Changes

- Updated dependencies [c3a452a]
  - mcp-use@1.18.0-canary.0

## 0.18.9

### Patch Changes

- 32b19dc: fix(logs): reduces the amount of noisy logs in the dev server
- Updated dependencies [32b19dc]
- Updated dependencies [32b19dc]
  - mcp-use@1.17.4

## 0.18.9-canary.0

### Patch Changes

- 4a118cc: fix(logs): reduces the amount of noisy logs in the dev server
- Updated dependencies [4a118cc]
- Updated dependencies [4a118cc]
  - mcp-use@1.17.4-canary.0

## 0.18.8

### Patch Changes

- af55041: fix(inspector): enhance iframe global updates handling and cleanup
- af55041: fix(inspector): reset readiness state on widget URL change and enhance tool output handling
  - mcp-use@1.17.3

## 0.18.8-canary.1

### Patch Changes

- f437838: fix(inspector): enhance iframe global updates handling and cleanup
  - mcp-use@1.17.3-canary.1

## 0.18.8-canary.0

### Patch Changes

- a872832: fix(inspector): reset readiness state on widget URL change and enhance tool output handling
  - mcp-use@1.17.3-canary.0

## 0.18.7

### Patch Changes

- 5760a10: fix(inspector): copy button copies error text instead of null
- 5760a10: fix(chat): enhance message conversion logic to handle empty content and attachments
  - Updated `convertMessagesToLangChain` to fall back on `m.parts` when `m.content` is empty, ensuring text is retrieved from streamed assistant messages.
  - Modified `useChatMessages` to prioritize `m.parts` for message content, improving message handling consistency.
  - Adjusted `handleChatRequestStream` to utilize `externalHistory` for better context management during agent interactions, preventing message duplication.

- Updated dependencies [5760a10]
  - mcp-use@1.17.2

## 0.18.7-canary.1

### Patch Changes

- Updated dependencies [3644a26]
  - mcp-use@1.17.2-canary.1

## 0.18.7-canary.0

### Patch Changes

- 316870a: fix(inspector): copy button copies error text instead of null
- 3d48e19: fix(chat): enhance message conversion logic to handle empty content and attachments
  - Updated `convertMessagesToLangChain` to fall back on `m.parts` when `m.content` is empty, ensuring text is retrieved from streamed assistant messages.
  - Modified `useChatMessages` to prioritize `m.parts` for message content, improving message handling consistency.
  - Adjusted `handleChatRequestStream` to utilize `externalHistory` for better context management during agent interactions, preventing message duplication.
  - mcp-use@1.17.2-canary.0

## 0.18.6

### Patch Changes

- Updated dependencies [df428ca]
  - mcp-use@1.17.1

## 0.18.6-canary.0

### Patch Changes

- Updated dependencies [637edaf]
  - mcp-use@1.17.1-canary.0

## 0.18.5

### Patch Changes

- 3d787ba: Improve reverse proxy support, HMR reliability, and widget handling across the stack.

  ### `mcp-use` (minor)
  - **Custom HTTP route HMR:** Routes registered via `server.get()`, `server.post()`, etc. now support hot module replacement — handlers are hot-swapped without a server restart.
  - **Widget tool protection during HMR:** Widget-registered tools are no longer accidentally removed when `index.ts` HMR sync runs. Tools tagged with `_meta["mcp-use/widget"]` are preserved.
  - **Dynamic widget creation:** The `resources/` directory is auto-created if missing, and the dev server watches for new widgets even if none exist at startup. This enables workflows where widgets are created after the server starts
  - **Vite HMR WebSocket proxy:** A TCP-level WebSocket proxy forwards HMR `upgrade` requests from the main HTTP server to Vite's internal HMR port, enabling hot-reload through reverse proxies (ngrok, E2B, Cloudflare tunnels).
  - **`MCP_URL` environment variable:** Can now be pre-set by users to an external proxy URL. The CLI will not overwrite it, allowing correct widget URLs and HMR WebSocket connections behind reverse proxies.
  - **List-changed notifications on removal:** `sendToolListChanged()`, `sendResourceListChanged()`, and `sendPromptListChanged()` now also fire when items are removed, not just added/updated.
  - **Pre-initialized request handlers:** Tool, prompt, and resource request handlers are pre-registered during session initialization, preventing `Method not found` errors when clients connect to servers that start with zero registrations and add them dynamically.
  - **Widget type default changed:** Widgets now default to `mcpApps` (dual-protocol) instead of `appsSdk`. Only widgets with explicit `appsSdkMetadata` and no `metadata` field use the `appsSdk` type.
  - **`window.__mcpServerUrl` global:** Injected into widget HTML so widgets can dynamically construct API URLs (e.g., `fetch(window.__mcpServerUrl + '/api/data')`).

  ### `@mcp-use/inspector` (patch)
  - **`MCP_INSPECTOR_FRAME_ANCESTORS` env var:** Controls which origins can embed the inspector in iframes via CSP `frame-ancestors`. Defaults to `*` in development and `'self'` in production.
  - **`mountInspector` configuration options:** Accepts new `devMode` (boolean) and `sandboxOrigin` (string | null) options for controlling sandbox behavior in different deployment environments.
  - **Runtime config injection:** `__MCP_DEV_MODE__` and `__MCP_SANDBOX_ORIGIN__` window globals are injected into the served HTML at runtime, enabling client-side configuration without rebuild.
  - **Localhost URL conversion:** Server-side fetches of widget HTML now convert external proxy URLs to `localhost` to avoid reverse proxy catch-all routes returning SPA HTML instead of Vite-served widget content.
  - **Simplified URL rewriting:** Widget asset URLs are now rewritten to bare server-relative paths that resolve directly through Vite middleware, improving reliability behind reverse proxies.
  - **Fixed infinite re-render loop:** Removed excessive `useEffect` dependencies in `MCPAppsRenderer` that caused continuous re-fetching of widget HTML.

  ### `@mcp-use/cli` (patch)
  - **Respect user-provided `MCP_URL`:** The CLI no longer overwrites `MCP_URL` if already set, allowing users to configure external proxy URLs for reverse proxy setups.

- 3d787ba: fix(inspector): update sandbox permissions for McpUIRenderer and MCPUIResource components
  - Removed 'allow-same-origin' and 'allow-popups-to-escape-sandbox' from sandbox permissions to enhance security

- Updated dependencies [3d787ba]
- Updated dependencies [3d787ba]
  - mcp-use@1.17.0

## 0.18.5-canary.2

### Patch Changes

- 4c881d3: fix(inspector): update sandbox permissions for McpUIRenderer and MCPUIResource components
  - Removed 'allow-same-origin' and 'allow-popups-to-escape-sandbox' from sandbox permissions to enhance security
  - mcp-use@1.17.0-canary.2

## 0.18.5-canary.1

### Patch Changes

- Updated dependencies [31fdb69]
  - mcp-use@1.17.0-canary.1

## 0.18.5-canary.0

### Patch Changes

- 4a03ce0: Improve reverse proxy support, HMR reliability, and widget handling across the stack.

  ### `mcp-use` (minor)
  - **Custom HTTP route HMR:** Routes registered via `server.get()`, `server.post()`, etc. now support hot module replacement — handlers are hot-swapped without a server restart.
  - **Widget tool protection during HMR:** Widget-registered tools are no longer accidentally removed when `index.ts` HMR sync runs. Tools tagged with `_meta["mcp-use/widget"]` are preserved.
  - **Dynamic widget creation:** The `resources/` directory is auto-created if missing, and the dev server watches for new widgets even if none exist at startup. This enables workflows where widgets are created after the server starts
  - **Vite HMR WebSocket proxy:** A TCP-level WebSocket proxy forwards HMR `upgrade` requests from the main HTTP server to Vite's internal HMR port, enabling hot-reload through reverse proxies (ngrok, E2B, Cloudflare tunnels).
  - **`MCP_URL` environment variable:** Can now be pre-set by users to an external proxy URL. The CLI will not overwrite it, allowing correct widget URLs and HMR WebSocket connections behind reverse proxies.
  - **List-changed notifications on removal:** `sendToolListChanged()`, `sendResourceListChanged()`, and `sendPromptListChanged()` now also fire when items are removed, not just added/updated.
  - **Pre-initialized request handlers:** Tool, prompt, and resource request handlers are pre-registered during session initialization, preventing `Method not found` errors when clients connect to servers that start with zero registrations and add them dynamically.
  - **Widget type default changed:** Widgets now default to `mcpApps` (dual-protocol) instead of `appsSdk`. Only widgets with explicit `appsSdkMetadata` and no `metadata` field use the `appsSdk` type.
  - **`window.__mcpServerUrl` global:** Injected into widget HTML so widgets can dynamically construct API URLs (e.g., `fetch(window.__mcpServerUrl + '/api/data')`).

  ### `@mcp-use/inspector` (patch)
  - **`MCP_INSPECTOR_FRAME_ANCESTORS` env var:** Controls which origins can embed the inspector in iframes via CSP `frame-ancestors`. Defaults to `*` in development and `'self'` in production.
  - **`mountInspector` configuration options:** Accepts new `devMode` (boolean) and `sandboxOrigin` (string | null) options for controlling sandbox behavior in different deployment environments.
  - **Runtime config injection:** `__MCP_DEV_MODE__` and `__MCP_SANDBOX_ORIGIN__` window globals are injected into the served HTML at runtime, enabling client-side configuration without rebuild.
  - **Localhost URL conversion:** Server-side fetches of widget HTML now convert external proxy URLs to `localhost` to avoid reverse proxy catch-all routes returning SPA HTML instead of Vite-served widget content.
  - **Simplified URL rewriting:** Widget asset URLs are now rewritten to bare server-relative paths that resolve directly through Vite middleware, improving reliability behind reverse proxies.
  - **Fixed infinite re-render loop:** Removed excessive `useEffect` dependencies in `MCPAppsRenderer` that caused continuous re-fetching of widget HTML.

  ### `@mcp-use/cli` (patch)
  - **Respect user-provided `MCP_URL`:** The CLI no longer overwrites `MCP_URL` if already set, allowing users to configure external proxy URLs for reverse proxy setups.

- Updated dependencies [4a03ce0]
  - mcp-use@1.17.0-canary.0

## 0.18.4

### Patch Changes

- ac3e216: fix(mcp-use): release canary versions
- ac3e216: fix: ensure pending state is emulated for widgets, reflecting ChatGPT behaviour

  **Inspector Changes:**
  - Updated MCPAppsRenderer and OpenAIComponentRenderer to handle tool output and metadata more effectively, allowing for immediate rendering of widgets even when results are pending
  - Enhanced MessageList and ToolResultRenderer to support immediate rendering of widget tools, improving responsiveness during tool execution
  - Added utility functions for widget detection and pre-rendering capabilities based on tool metadata

  **Server Changes:**
  - Introduced delayed weather tool example (`get-weather-delayed`) in conformance server to demonstrate widget lifecycle management with artificial delays

  **Documentation:**
  - Updated inspector and widget lifecycle testing documentation
  - Enhanced debugging guides for ChatGPT Apps with widget lifecycle testing instructions

  These changes address Issue #930, ensuring widgets can display loading states and update seamlessly upon tool completion.

  Commits: fea26ff4

- ac3e216: chore(inspector): add refresh buttons for tools, resources, and prompts lists

  **UI Enhancements:**
  - Added refresh buttons with loading states to Tools, Resources, and Prompts tabs
  - Implemented `ListTabHeader` component with refresh functionality and spinning icon animation
  - Added refresh handlers in `ToolsTab`, `ResourcesTab`, and `PromptsTab` with loading state management
  - Connected refresh callbacks through `LayoutContent` to enable manual list updates

  **Developer Experience:**
  - Allows users to manually refresh primitives without reconnecting to the server
  - Improves workflow when testing server changes or investigating stale data

  Commits: 03238f28

- ac3e216: fix(inspector): solved cold start issue for widgets
- ac3e216: chore(inspector): add E2E test suite, default port 3000 when not in dev, skip telemetry in test env, and data-testid for testability

  **E2E Testing Infrastructure:**
  - Added comprehensive Playwright-based E2E testing suite with full coverage for:
    - Chat functionality and message handling
    - Connection management and authentication flows (OAuth, API key, custom headers)
    - HMR (Hot Module Reload) for tools, prompts, and resources
    - UI widgets and lifecycle states
    - Command palette and debugger tools
  - Created test fixtures for auth servers (OAuth mock, API key, custom headers)
  - Implemented test helpers for connection, authentication, and debugger tools
  - Added test matrix for parameterized test scenarios across multiple inspector modes
  - Comprehensive E2E testing documentation in `tests/e2e/README.md`

  **CI/CD Integration:**
  - New GitHub Actions workflow (`.github/workflows/inspector-e2e.yml`) for automated E2E testing
  - Tests run across multiple modes: mix (SSE + WebSocket), prod (HTTP only), builtin (no connection)
  - Improved Playwright configuration with CI-optimized timeouts

  **Testability Improvements:**
  - Added `data-testid` attributes across 40+ UI components for reliable element selection:
    - Connection forms, server list, command palette
    - Chat interface, tool execution panels
    - Resources, prompts, and tools tabs
    - Elicitation and sampling displays
  - Enhanced component accessibility for automated testing

  **Server Improvements:**
  - Changed default port from 3001 to 3000 for production builds (dev still uses 3001)
  - Skip telemetry (PostHog/Scarf) when `NODE_ENV=test` or `MCP_USE_ANONYMIZED_TELEMETRY=false`
  - Added `start-auth-servers.ts` utility for running authentication test servers

  **Widget Testing:**
  - Created widget examples for conformance testing (weather-display, status-card, display-info, apps-sdk-only-card)
  - Enhanced widget props support in ToolResultDisplay
  - Added delayed weather tool to conformance server for lifecycle testing

  Commits: 03238f28, 836b760d, 6a76e51a, 0eb147dc, 116a3be4 (partial)

- ac3e216: fix(inspector): add logic to detect when server= contains a URL that's not already connected and automatically redirect to use autoConnect= instead

  **Connection Handling:**
  - Enhanced Layout component to detect when `server=` URL parameter is provided but no matching connection exists
  - Automatically redirects to use `autoConnect=` parameter for seamless connection establishment
  - Updated dependencies in useEffect hook to include connections and navigate for improved functionality

  **Documentation:**
  - Added comprehensive URL parameters documentation page to inspector reference
  - Included examples and usage patterns for `server=`, `autoConnect=`, and other query parameters

  Resolves #932

  Commits: 37af1bf7

- ac3e216: chore(deps): upgrade @modelcontextprotocol/sdk to 1.26.0

  **Dependencies:**
  - Updated `@modelcontextprotocol/sdk` from `^1.25.3` to `^1.26.0`
  - Applied the same Zod 4 compatibility patch to SDK 1.26.0
  - Removed old SDK 1.25.3 patch file

  **Patch Details:**

  The SDK still requires a patch to fix Zod 4 compatibility in the `zod-compat.js` module. The patch ensures that Zod 4 schemas use their instance methods (`schema.safeParse()`) instead of attempting to call non-existent top-level functions (`z4mini.safeParse()`).

  This is a drop-in replacement upgrade with no breaking changes.

- Updated dependencies [ac3e216]
- Updated dependencies [ac3e216]
- Updated dependencies [ac3e216]
- Updated dependencies [ac3e216]
  - mcp-use@1.16.4

## 0.18.4-canary.3

### Patch Changes

- f7ca602: chore(deps): upgrade @modelcontextprotocol/sdk to 1.26.0

  **Dependencies:**
  - Updated `@modelcontextprotocol/sdk` from `^1.25.3` to `^1.26.0`
  - Applied the same Zod 4 compatibility patch to SDK 1.26.0
  - Removed old SDK 1.25.3 patch file

  **Patch Details:**

  The SDK still requires a patch to fix Zod 4 compatibility in the `zod-compat.js` module. The patch ensures that Zod 4 schemas use their instance methods (`schema.safeParse()`) instead of attempting to call non-existent top-level functions (`z4mini.safeParse()`).

  This is a drop-in replacement upgrade with no breaking changes.

- Updated dependencies [f7ca602]
  - mcp-use@1.16.4-canary.3

## 0.18.4-canary.2

### Patch Changes

- 03094a1: fix(inspector): solved cold start issue for widgets
  - mcp-use@1.16.4-canary.2

## 0.18.4-canary.1

### Patch Changes

- d0239d2: fix(mcp-use): release canary versions
- Updated dependencies [d0239d2]
  - mcp-use@1.16.4-canary.1

## 0.18.4-canary.0

### Patch Changes

- 7c2d7e3: chore(inspector): add refresh buttons for tools, resources, and prompts lists

  **UI Enhancements:**
  - Added refresh buttons with loading states to Tools, Resources, and Prompts tabs
  - Implemented `ListTabHeader` component with refresh functionality and spinning icon animation
  - Added refresh handlers in `ToolsTab`, `ResourcesTab`, and `PromptsTab` with loading state management
  - Connected refresh callbacks through `LayoutContent` to enable manual list updates

  **Developer Experience:**
  - Allows users to manually refresh primitives without reconnecting to the server
  - Improves workflow when testing server changes or investigating stale data

  Commits: 03238f28

- 7c2d7e3: chore(inspector): add E2E test suite, default port 3000 when not in dev, skip telemetry in test env, and data-testid for testability

  **E2E Testing Infrastructure:**
  - Added comprehensive Playwright-based E2E testing suite with full coverage for:
    - Chat functionality and message handling
    - Connection management and authentication flows (OAuth, API key, custom headers)
    - HMR (Hot Module Reload) for tools, prompts, and resources
    - UI widgets and lifecycle states
    - Command palette and debugger tools
  - Created test fixtures for auth servers (OAuth mock, API key, custom headers)
  - Implemented test helpers for connection, authentication, and debugger tools
  - Added test matrix for parameterized test scenarios across multiple inspector modes
  - Comprehensive E2E testing documentation in `tests/e2e/README.md`

  **CI/CD Integration:**
  - New GitHub Actions workflow (`.github/workflows/inspector-e2e.yml`) for automated E2E testing
  - Tests run across multiple modes: mix (SSE + WebSocket), prod (HTTP only), builtin (no connection)
  - Improved Playwright configuration with CI-optimized timeouts

  **Testability Improvements:**
  - Added `data-testid` attributes across 40+ UI components for reliable element selection:
    - Connection forms, server list, command palette
    - Chat interface, tool execution panels
    - Resources, prompts, and tools tabs
    - Elicitation and sampling displays
  - Enhanced component accessibility for automated testing

  **Server Improvements:**
  - Changed default port from 3001 to 3000 for production builds (dev still uses 3001)
  - Skip telemetry (PostHog/Scarf) when `NODE_ENV=test` or `MCP_USE_ANONYMIZED_TELEMETRY=false`
  - Added `start-auth-servers.ts` utility for running authentication test servers

  **Widget Testing:**
  - Created widget examples for conformance testing (weather-display, status-card, display-info, apps-sdk-only-card)
  - Enhanced widget props support in ToolResultDisplay
  - Added delayed weather tool to conformance server for lifecycle testing

  Commits: 03238f28, 836b760d, 6a76e51a, 0eb147dc, 116a3be4 (partial)

- Updated dependencies [7c2d7e3]
  - mcp-use@1.16.4-canary.0

## 0.18.3

### Patch Changes

- mcp-use@1.16.3

## 0.18.3-canary.0

### Patch Changes

- mcp-use@1.16.3-canary.0

## 0.18.2

### Patch Changes

- 53ae49d: fix: ensure pending state is emulated for widgets, reflecting chatgpt behaviour
- 53ae49d: fix(inspector): adds logic to detect when server= contains a URL that's not already connected and automatically redirects to use autoConnect= instead.
- Updated dependencies [53ae49d]
  - mcp-use@1.16.2

## 0.18.2-canary.0

### Patch Changes

- fea26ff: fix: ensure pending state is emulated for widgets, reflecting chatgpt behaviour
- 37af1bf: fix(inspector): adds logic to detect when server= contains a URL that's not already connected and automatically redirects to use autoConnect= instead.
- Updated dependencies [fea26ff]
  - mcp-use@1.16.2-canary.0

## 0.18.1

### Patch Changes

- Updated dependencies [4bdb92e]
  - mcp-use@1.16.1

## 0.18.1-canary.0

### Patch Changes

- Updated dependencies [eb8d7a6]
  - mcp-use@1.16.1-canary.0

## 0.18.0

### Minor Changes

- 32f2113: Add prompts in Chat: type / to open a prompt, run it, and include its result in the thread before sending (prompts with args are not supported).
- 32f2113: Add multimodal support (image attachments) to Inspector chat. Users can now upload and send images to vision-capable LLMs (GPT-4o, Claude, Gemini) using the paperclip button. MCP prompts that return images are now properly displayed instead of showing raw JSON.

### Patch Changes

- Updated dependencies [32f2113]
  - mcp-use@1.16.0

## 0.18.0-canary.3

### Patch Changes

- Updated dependencies [3e2821f]
  - mcp-use@1.16.0-canary.3

## 0.18.0-canary.2

### Minor Changes

- 09c0300: Add multimodal support (image attachments) to Inspector chat. Users can now upload and send images to vision-capable LLMs (GPT-4o, Claude, Gemini) using the paperclip button. MCP prompts that return images are now properly displayed instead of showing raw JSON.

### Patch Changes

- mcp-use@1.16.0-canary.2

## 0.18.0-canary.1

### Patch Changes

- Updated dependencies [9b9f371]
  - mcp-use@1.16.0-canary.1

## 0.18.0-canary.0

### Minor Changes

- 144ad6a: Add prompts in Chat: type / to open a prompt, run it, and include its result in the thread before sending (prompts with args are not supported).

### Patch Changes

- mcp-use@1.15.4-canary.0

## 0.17.3

### Patch Changes

- 4666a37: fix: enable dark mode through theme url param
- Updated dependencies [4666a37]
  - mcp-use@1.15.3

## 0.17.3-canary.1

### Patch Changes

- 10cdce9: fix: enable dark mode through theme url param
  - mcp-use@1.15.3-canary.1

## 0.17.3-canary.0

### Patch Changes

- Updated dependencies [013101d]
  - mcp-use@1.15.3-canary.0

## 0.17.2

### Patch Changes

- bb28a69: Fix HMR file watcher exhausting inotify limits by properly ignoring node_modules

  The HMR file watcher was attempting to watch files inside `node_modules/` despite having ignore patterns configured, which exhausted the inotify watch limit (ENOSPC errors) in containerized environments.

- Updated dependencies [bb28a69]
  - mcp-use@1.15.2

## 0.17.2-canary.1

### Patch Changes

- 4d3e62e: fix(cli): fix hmr
- Updated dependencies [4d3e62e]
  - mcp-use@1.15.2-canary.1

## 0.17.2-canary.0

### Patch Changes

- mcp-use@1.15.2-canary.0

## 0.17.1

### Patch Changes

- mcp-use@1.15.1

## 0.17.1-canary.0

### Patch Changes

- mcp-use@1.15.1-canary.0

## 0.17.0

### Minor Changes

- 1dcba40: feat: add MCP Apps support with dual-protocol widget rendering
  - Add dual-protocol support enabling widgets to work with both MCP Apps and ChatGPT Apps SDK
  - Add MCPAppsRenderer and MCPAppsDebugControls components for advanced debugging and visualization
  - Add sandboxed iframe support with console logging and safe area insets for isolated widget rendering
  - Add widget adapters (MCP Apps, Apps SDK) with protocol helpers for seamless cross-protocol compatibility
  - Add browser host normalization for server connections in CLI
  - Fix Zod JIT compilation to prevent CSP violations in sandboxed environments
  - Add MCP Apps documentation and example server

  feat: add HTML landing page for MCP server endpoints
  - Add `generateLandingPage()` function that generates styled HTML landing pages for browser GET requests
  - Include connection instructions for Claude Code, Cursor, VS Code, VS Code Insiders, and ChatGPT

### Patch Changes

- 1dcba40: fix: mcp server landing now shows the external url instead of the internal
- 1dcba40: chore: trigger canary release
- 1dcba40: fix docs
- 1dcba40: chore: fix vulnerabilities in deps
- Updated dependencies [1dcba40]
- Updated dependencies [1dcba40]
- Updated dependencies [1dcba40]
- Updated dependencies [1dcba40]
- Updated dependencies [1dcba40]
  - mcp-use@1.15.0

## 0.17.0-canary.4

### Patch Changes

- a078aa9: fix: mcp server landing now shows the external url instead of the internal
- Updated dependencies [a078aa9]
  - mcp-use@1.15.0-canary.4

## 0.17.0-canary.3

### Patch Changes

- e910f64: chore: fix vulnerabilities in deps
- Updated dependencies [e910f64]
  - mcp-use@1.15.0-canary.3

## 0.17.0-canary.2

### Patch Changes

- e4ca98e: chore: trigger canary release
- Updated dependencies [e4ca98e]
  - mcp-use@1.15.0-canary.2

## 0.17.0-canary.1

### Patch Changes

- 08d3b3a: fix docs
- Updated dependencies [08d3b3a]
  - mcp-use@1.15.0-canary.1

## 0.17.0-canary.0

### Minor Changes

- 93fd6f4: feat: add MCP Apps support with dual-protocol widget rendering
  - Add dual-protocol support enabling widgets to work with both MCP Apps and ChatGPT Apps SDK
  - Add MCPAppsRenderer and MCPAppsDebugControls components for advanced debugging and visualization
  - Add sandboxed iframe support with console logging and safe area insets for isolated widget rendering
  - Add widget adapters (MCP Apps, Apps SDK) with protocol helpers for seamless cross-protocol compatibility
  - Add browser host normalization for server connections in CLI
  - Fix Zod JIT compilation to prevent CSP violations in sandboxed environments
  - Add MCP Apps documentation and example server

  feat: add HTML landing page for MCP server endpoints
  - Add `generateLandingPage()` function that generates styled HTML landing pages for browser GET requests
  - Include connection instructions for Claude Code, Cursor, VS Code, VS Code Insiders, and ChatGPT

### Patch Changes

- Updated dependencies [93fd6f4]
  - mcp-use@1.15.0-canary.0

## 0.16.2

### Patch Changes

- 8326a66: fix(inspector): enhance widget security headers with frame domain support
- 8326a66: fix(inspector): standardize proxy configuration and enhance connection handling
  - Renamed `customHeaders` to `headers` in `InspectorDashboard` and `ServerConnectionModal` for consistency.
  - Removed unused state management for connecting servers in `InspectorDashboard`.
  - Improved server connection handling by introducing a `handleReconnect` function to manage reconnection attempts.
  - Updated UI elements to reflect connection states more accurately, including hover effects and error displays.
  - Enhanced error handling for unauthorized connections, providing clearer user feedback.

  These changes aim to streamline the connection management process and improve the overall user experience in the inspector interface.

- 8326a66: feat(inspector): enhance CustomHeadersEditor with focus management and title prop
- 8326a66: fix: improve widget rendering and session management
  - Fix widget iframe reload by adding timestamp query parameter to force refresh when widget data changes
  - Add retry logic with exponential backoff for dev widget fetching to handle Vite dev server cold starts
  - Fix default session idle timeout from 5 minutes to 1 day to prevent premature session expiration
  - Fix session lastAccessedAt tracking to update both persistent store and in-memory map
  - Fix \_meta merging to preserve existing fields (e.g., openai/outputTemplate) when updating tools and widgets
  - Add support for frame_domains and redirect_domains in widget CSP metadata

- Updated dependencies [8326a66]
- Updated dependencies [8326a66]
- Updated dependencies [8326a66]
- Updated dependencies [8326a66]
- Updated dependencies [8326a66]
  - mcp-use@1.14.2

## 0.16.2-canary.4

### Patch Changes

- Updated dependencies [f1171de]
  - mcp-use@1.14.2-canary.4

## 0.16.2-canary.3

### Patch Changes

- Updated dependencies [6ff396a]
  - mcp-use@1.14.2-canary.3

## 0.16.2-canary.2

### Patch Changes

- fb6a8f0: fix: improve widget rendering and session management
  - Fix widget iframe reload by adding timestamp query parameter to force refresh when widget data changes
  - Add retry logic with exponential backoff for dev widget fetching to handle Vite dev server cold starts
  - Fix default session idle timeout from 5 minutes to 1 day to prevent premature session expiration
  - Fix session lastAccessedAt tracking to update both persistent store and in-memory map
  - Fix \_meta merging to preserve existing fields (e.g., openai/outputTemplate) when updating tools and widgets
  - Add support for frame_domains and redirect_domains in widget CSP metadata

- Updated dependencies [fb6a8f0]
  - mcp-use@1.14.2-canary.2

## 0.16.2-canary.1

### Patch Changes

- mcp-use@1.14.2-canary.1

## 0.16.2-canary.0

### Patch Changes

- 3124ca9: fix(inspector): enhance widget security headers with frame domain support
- 3124ca9: fix(inspector): standardize proxy configuration and enhance connection handling
  - Renamed `customHeaders` to `headers` in `InspectorDashboard` and `ServerConnectionModal` for consistency.
  - Removed unused state management for connecting servers in `InspectorDashboard`.
  - Improved server connection handling by introducing a `handleReconnect` function to manage reconnection attempts.
  - Updated UI elements to reflect connection states more accurately, including hover effects and error displays.
  - Enhanced error handling for unauthorized connections, providing clearer user feedback.

  These changes aim to streamline the connection management process and improve the overall user experience in the inspector interface.

- 3124ca9: feat(inspector): enhance CustomHeadersEditor with focus management and title prop
- Updated dependencies [3124ca9]
- Updated dependencies [3124ca9]
  - mcp-use@1.14.2-canary.0

## 0.16.1

### Patch Changes

- c64a2dd: fix(inspector): : fix inspector tool output full height
  - mcp-use@1.14.1

## 0.16.1-canary.0

### Patch Changes

- 7e87931: fix(inspector): : fix inspector tool output full height
  - mcp-use@1.14.1-canary.0

## 0.16.0

### Minor Changes

- fe72e7e: feat: improved HMR support for widgets
- fe72e7e: ### Inspector Enhancements
  - **New**: Custom properties support for resources - `PropsSelect` component for dynamic prop configuration
  - **New**: `PropsConfigDialog` for managing resource properties with AI-powered suggestions
  - **New**: `SchemaFormField` for rendering JSON schema-based forms
  - **New**: `usePropsLLM` hook for AI-powered property suggestions
  - **New**: `useResourceProps` hook for managing resource props state
  - **Enhancement**: Enhanced `JSONDisplay` with improved line wrapping and font size for better readability
  - **Enhancement**: Collapsible description section in `ToolExecutionPanel`
  - **Enhancement**: Integrated JSON metadata visualization in tool execution panel
  - **Enhancement**: Enhanced `McpUIRenderer` and `OpenAIComponentRenderer` with `customProps` support
  - **Enhancement**: Updated `ResourceResultDisplay` with dynamic property configuration

  ### CLI Improvements
  - **New**: `MCP_URL` environment variable for server URL configuration

  ### MCP Proxy
  - **Enhancement**: Improved error logging with better context
  - **Enhancement**: Connection refused errors now logged as warnings
  - **Enhancement**: Error responses now include target URL for easier debugging

- fe72e7e: feat: allow to set serverInfo (title, name, icons, websiteUrl, description), and updated templates to have defaults
- fe72e7e: ## Dependency Updates

  Updated 36 dependencies across all TypeScript packages to their latest compatible versions.

  ### Major Updates
  - **react-resizable-panels**: 3.0.6 → 4.4.1
    - Migrated to v4 API (`PanelGroup` → `Group`, `PanelResizeHandle` → `Separator`)
    - Updated `direction` prop to `orientation` across all inspector tabs
    - Maintained backward compatibility through wrapper component

  ### Minor & Patch Updates

  **Framework & Build Tools:**
  - @types/node: 25.0.2 → 25.0.9
  - @types/react: 19.2.7 → 19.2.8
  - @typescript-eslint/eslint-plugin: 8.49.0 → 8.53.1
  - @typescript-eslint/parser: 8.49.0 → 8.53.1
  - prettier: 3.7.4 → 3.8.0
  - typescript-eslint: 8.49.0 → 8.53.1
  - vite: 7.3.0 → 7.3.1
  - vitest: 4.0.15 → 4.0.17

  **Runtime Dependencies:**
  - @hono/node-server: 1.19.7 → 1.19.9
  - @langchain/anthropic: 1.3.0 → 1.3.10
  - @langchain/core: 1.1.12 → 1.1.15
  - @langchain/google-genai: 2.1.0 → 2.1.10
  - @langchain/openai: 1.2.0 → 1.2.2
  - @mcp-ui/client: 5.17.1 → 5.17.3
  - @mcp-ui/server: 5.16.2 → 5.16.3
  - posthog-js: 1.306.1 → 1.330.0
  - posthog-node: 5.17.2 → 5.22.0
  - ws: 8.18.3 → 8.19.0

  **UI Components:**
  - @eslint-react/eslint-plugin: 2.3.13 → 2.7.2
  - eslint-plugin-format: 1.1.0 → 1.3.1
  - eslint-plugin-react-refresh: 0.4.25 → 0.4.26
  - framer-motion: 12.23.26 → 12.27.1
  - motion: 12.23.26 → 12.27.1
  - markdown-to-jsx: 9.3.5 → 9.5.7
  - lucide-react: 0.561.0 → 0.562.0
  - vite-express: 0.21.1 → 0.22.0

  **Utilities:**
  - globby: 16.0.0 → 16.1.0
  - fs-extra: 11.3.2 → 11.3.3
  - ink: 6.5.1 → 6.6.0

  ### Removed
  - Removed `@ai-sdk/react` from inspector (unused, only in tests)
  - Removed `ai` from mcp-use dev dependencies (unused, only in tests/examples)

### Patch Changes

- fe72e7e: feat(inspector): add copy functionality for RPC messages in Prompts, Resources, and Tools tabs
- fe72e7e: fix(prompts): clear selection when prompt is removed
- fe72e7e: fix: openai does not support temperature
- fe72e7e: Refactor: Extract prompt logic from PromptsTab into useMCPPrompts hook
- fe72e7e: fix(inspector): resolve Anthropic tool_use.id required error
- Updated dependencies [fe72e7e]
- Updated dependencies [fe72e7e]
- Updated dependencies [fe72e7e]
- Updated dependencies [fe72e7e]
- Updated dependencies [fe72e7e]
- Updated dependencies [fe72e7e]
- Updated dependencies [fe72e7e]
- Updated dependencies [fe72e7e]
- Updated dependencies [fe72e7e]
  - mcp-use@1.14.0

## 0.16.0-canary.13

### Patch Changes

- 453661d: fix: openai does not support temperature
  - mcp-use@1.14.0-canary.13

## 0.16.0-canary.12

### Patch Changes

- mcp-use@1.14.0-canary.12

## 0.16.0-canary.11

### Patch Changes

- 805092b: fix(prompts): clear selection when prompt is removed
  - mcp-use@1.14.0-canary.11

## 0.16.0-canary.10

### Minor Changes

- 945d93d: ### Inspector Enhancements
  - **New**: Custom properties support for resources - `PropsSelect` component for dynamic prop configuration
  - **New**: `PropsConfigDialog` for managing resource properties with AI-powered suggestions
  - **New**: `SchemaFormField` for rendering JSON schema-based forms
  - **New**: `usePropsLLM` hook for AI-powered property suggestions
  - **New**: `useResourceProps` hook for managing resource props state
  - **Enhancement**: Enhanced `JSONDisplay` with improved line wrapping and font size for better readability
  - **Enhancement**: Collapsible description section in `ToolExecutionPanel`
  - **Enhancement**: Integrated JSON metadata visualization in tool execution panel
  - **Enhancement**: Enhanced `McpUIRenderer` and `OpenAIComponentRenderer` with `customProps` support
  - **Enhancement**: Updated `ResourceResultDisplay` with dynamic property configuration

  ### CLI Improvements
  - **New**: `MCP_URL` environment variable for server URL configuration

  ### MCP Proxy
  - **Enhancement**: Improved error logging with better context
  - **Enhancement**: Connection refused errors now logged as warnings
  - **Enhancement**: Error responses now include target URL for easier debugging

### Patch Changes

- Updated dependencies [945d93d]
  - mcp-use@1.14.0-canary.10

## 0.16.0-canary.9

### Patch Changes

- mcp-use@1.14.0-canary.9

## 0.16.0-canary.8

### Patch Changes

- Updated dependencies [e96063a]
  - mcp-use@1.14.0-canary.8

## 0.16.0-canary.7

### Patch Changes

- 4652707: Refactor: Extract prompt logic from PromptsTab into useMCPPrompts hook
- Updated dependencies [0cfeb1d]
  - mcp-use@1.14.0-canary.7

## 0.16.0-canary.6

### Patch Changes

- 948e0ae: fix(inspector): resolve Anthropic tool_use.id required error
- Updated dependencies [1fb5e5e]
- Updated dependencies [948e0ae]
  - mcp-use@1.14.0-canary.6

## 0.16.0-canary.5

### Patch Changes

- mcp-use@1.14.0-canary.5

## 0.16.0-canary.4

### Patch Changes

- Updated dependencies [3a94755]
  - mcp-use@1.14.0-canary.4

## 0.16.0-canary.3

### Minor Changes

- 3178200: ## Dependency Updates

  Updated 36 dependencies across all TypeScript packages to their latest compatible versions.

  ### Major Updates
  - **react-resizable-panels**: 3.0.6 → 4.4.1
    - Migrated to v4 API (`PanelGroup` → `Group`, `PanelResizeHandle` → `Separator`)
    - Updated `direction` prop to `orientation` across all inspector tabs
    - Maintained backward compatibility through wrapper component

  ### Minor & Patch Updates

  **Framework & Build Tools:**
  - @types/node: 25.0.2 → 25.0.9
  - @types/react: 19.2.7 → 19.2.8
  - @typescript-eslint/eslint-plugin: 8.49.0 → 8.53.1
  - @typescript-eslint/parser: 8.49.0 → 8.53.1
  - prettier: 3.7.4 → 3.8.0
  - typescript-eslint: 8.49.0 → 8.53.1
  - vite: 7.3.0 → 7.3.1
  - vitest: 4.0.15 → 4.0.17

  **Runtime Dependencies:**
  - @hono/node-server: 1.19.7 → 1.19.9
  - @langchain/anthropic: 1.3.0 → 1.3.10
  - @langchain/core: 1.1.12 → 1.1.15
  - @langchain/google-genai: 2.1.0 → 2.1.10
  - @langchain/openai: 1.2.0 → 1.2.2
  - @mcp-ui/client: 5.17.1 → 5.17.3
  - @mcp-ui/server: 5.16.2 → 5.16.3
  - posthog-js: 1.306.1 → 1.330.0
  - posthog-node: 5.17.2 → 5.22.0
  - ws: 8.18.3 → 8.19.0

  **UI Components:**
  - @eslint-react/eslint-plugin: 2.3.13 → 2.7.2
  - eslint-plugin-format: 1.1.0 → 1.3.1
  - eslint-plugin-react-refresh: 0.4.25 → 0.4.26
  - framer-motion: 12.23.26 → 12.27.1
  - motion: 12.23.26 → 12.27.1
  - markdown-to-jsx: 9.3.5 → 9.5.7
  - lucide-react: 0.561.0 → 0.562.0
  - vite-express: 0.21.1 → 0.22.0

  **Utilities:**
  - globby: 16.0.0 → 16.1.0
  - fs-extra: 11.3.2 → 11.3.3
  - ink: 6.5.1 → 6.6.0

  ### Removed
  - Removed `@ai-sdk/react` from inspector (unused, only in tests)
  - Removed `ai` from mcp-use dev dependencies (unused, only in tests/examples)

### Patch Changes

- Updated dependencies [3178200]
  - mcp-use@1.14.0-canary.3

## 0.16.0-canary.2

### Minor Changes

- ad66391: fix: improved HMR support for widgets

### Patch Changes

- Updated dependencies [ad66391]
  - mcp-use@1.14.0-canary.2

## 0.16.0-canary.1

### Patch Changes

- 199199d: feat(inspector): add copy functionality for RPC messages in Prompts, Resources, and Tools tabs
  - mcp-use@1.14.0-canary.1

## 0.16.0-canary.0

### Minor Changes

- 53fdb48: feat: allow to set serverInfo (title, name, icons, websiteUrl, description), and updated templates to have defaults

### Patch Changes

- Updated dependencies [53fdb48]
  - mcp-use@1.14.0-canary.0

## 0.15.3

### Patch Changes

- Updated dependencies [b65d05d]
  - mcp-use@1.13.5

## 0.15.3-canary.0

### Patch Changes

- mcp-use@1.13.5-canary.0

## 0.15.2

### Patch Changes

- Updated dependencies [dd8d07d]
  - mcp-use@1.13.4

## 0.15.2-canary.0

### Patch Changes

- Updated dependencies [5c65df2]
  - mcp-use@1.13.4-canary.0

## 0.15.1

### Patch Changes

- 294d17d: feat(inspector): add localStorage clearing functionality to enhance user experience
- 294d17d: fix(telemetry): enhance localStorage checks for availability and functionality
- 294d17d: feat(inspector): allow urls with no protocol dafaulting to https
- Updated dependencies [294d17d]
- Updated dependencies [294d17d]
  - mcp-use@1.13.3

## 0.15.1-canary.2

### Patch Changes

- b06fa78: feat(inspector): add localStorage clearing functionality to enhance user experience
- Updated dependencies [b06fa78]
  - mcp-use@1.13.3-canary.2

## 0.15.1-canary.1

### Patch Changes

- c3f2ebf: feat(inspector): allow urls with no protocol dafaulting to https
  - mcp-use@1.13.3-canary.1

## 0.15.1-canary.0

### Patch Changes

- d446ee5: fix(telemetry): enhance localStorage checks for availability and functionality
- Updated dependencies [d446ee5]
  - mcp-use@1.13.3-canary.0

## 0.15.0

### Minor Changes

- 0144a31: feat(inspector): add stop functionality to inspector chat
  - Export stop function from `useChatMessagesClientSide` hook and connect it to `abortControllerRef`
  - Add `abortControllerRef` to `useChatMessages` hook
  - Connect stop button to abort streaming responses
  - Enable users to stop ongoing chat responses in the inspector

  Co-authored-by: Joaquin Coromina <bjoaquinc@users.noreply.github.com>

### Patch Changes

- 0144a31: Updated dependency `hono` to `^4.11.4`.
- 0144a31: feat(cli): enhance login and deployment commands
  - Updated the login command to handle errors gracefully
  - Modified the deployment command to prompt users for login if not authenticated
  - Removed the `fromSource` option from the deployment command
  - Added checks for uncommitted changes in the git repository before deployment
  - Updated various commands to consistently use `npx mcp-use login` for login instructions

  refactor(inspector, multi-server-example): authentication UI and logic
  - Simplified the authentication button logic in InspectorDashboard
  - Updated the multi-server example to directly link to the authentication URL

- Updated dependencies [0144a31]
- Updated dependencies [0144a31]
- Updated dependencies [0144a31]
  - mcp-use@1.13.2

## 0.15.0-canary.1

### Patch Changes

- Updated dependencies [7b137c2]
  - mcp-use@1.13.2-canary.1

## 0.15.0-canary.0

### Minor Changes

- 52be97c: feat(inspector): add stop functionality to inspector chat
  - Export stop function from `useChatMessagesClientSide` hook and connect it to `abortControllerRef`
  - Add `abortControllerRef` to `useChatMessages` hook
  - Connect stop button to abort streaming responses
  - Enable users to stop ongoing chat responses in the inspector

  Co-authored-by: Joaquin Coromina <bjoaquinc@users.noreply.github.com>

### Patch Changes

- c9bde52: Updated dependency `hono` to `^4.11.4`.
- 450ab65: feat(cli): enhance login and deployment commands
  - Updated the login command to handle errors gracefully
  - Modified the deployment command to prompt users for login if not authenticated
  - Removed the `fromSource` option from the deployment command
  - Added checks for uncommitted changes in the git repository before deployment
  - Updated various commands to consistently use `npx mcp-use login` for login instructions

  refactor(inspector, multi-server-example): authentication UI and logic
  - Simplified the authentication button logic in InspectorDashboard
  - Updated the multi-server example to directly link to the authentication URL

- Updated dependencies [c9bde52]
- Updated dependencies [450ab65]
  - mcp-use@1.13.2-canary.0

## 0.14.6

### Patch Changes

- b8626dc: chore: update mcp-use version
- Updated dependencies [b8626dc]
  - mcp-use@1.13.1

## 0.14.6-canary.1

### Patch Changes

- 727df09: chore: update mcp-use version
  - mcp-use@1.13.1-canary.1

## 0.14.6-canary.0

### Patch Changes

- Updated dependencies [548206f]
  - mcp-use@1.13.1-canary.0

## 0.14.5

### Patch Changes

- bcdecd4: This release includes significant enhancements to OAuth flow handling, server metadata caching, and favicon detection:

  **OAuth Flow Enhancements**
  - Enhanced OAuth proxy to support gateway/proxy scenarios (e.g., Supabase MCP servers)
  - Added automatic metadata URL rewriting from gateway URLs to actual server URLs
  - Implemented resource parameter rewriting for authorize and token requests to use actual server URLs
  - Added WWW-Authenticate header discovery for OAuth metadata endpoints
  - Store and reuse OAuth proxy settings in callback flow for CORS bypass during token exchange
  - Added X-Forwarded-Host support for proper proxy URL construction in dev environments

  **Client Info Support**
  - Added `clientInfo` configuration prop to `McpClientProvider` for OAuth registration
  - Client info (name, version, icons, websiteUrl) is now sent during OAuth registration and displayed on consent pages
  - Supports per-server client info override
  - Inspector now includes client info with branding

  **Server Metadata Caching**
  - Added `CachedServerMetadata` interface for storing server name, version, icons, and other metadata
  - Extended `StorageProvider` interface with optional metadata methods (`getServerMetadata`, `setServerMetadata`, `removeServerMetadata`)
  - Implemented metadata caching in `LocalStorageProvider` and `MemoryStorageProvider`
  - Server metadata is now automatically cached when servers connect and used as initial display while fetching fresh data
  - Improves UX by showing server info immediately on reconnect

  **Inspector Improvements**
  - Added logging middleware to API routes for better debugging
  - Simplified server ID handling by removing redundant URL decoding (searchParams.get() already decodes)
  - Added X-Forwarded-Host header forwarding in Vite proxy configuration
  - Enabled OAuth proxy logging for better visibility

  **Favicon Detection Improvements**
  - Enhanced favicon detector to try all subdomain levels (e.g., mcp.supabase.com → supabase.com → com)
  - Added detection of default vs custom favicons using JSON API response
  - Prefer non-default favicons when available
  - Better handling of fallback cases

  **Other Changes**
  - Updated multi-server example with Supabase OAuth proxy example
  - Added connectionUrl parameter passing for resource field rewriting throughout OAuth flow
  - Improved logging and error messages throughout OAuth flow

- bcdecd4: fix: remove import from "mcp-use" which causes langchain import in server
- bcdecd4: feat(hmr): enhance synchronization for tools, prompts, and resources
  - Implemented a generic synchronization mechanism for hot module replacement (HMR) that updates tools, prompts, and resources in active sessions without removal.
  - Added support for detecting changes in definitions, including renames and updates, ensuring seamless integration during HMR.
  - Improved logging for changes in registrations, enhancing developer visibility into updates during the HMR process.
  - Introduced a new file for HMR synchronization logic, centralizing the handling of updates across different primitive types.

- Updated dependencies [bcdecd4]
- Updated dependencies [bcdecd4]
- Updated dependencies [bcdecd4]
- Updated dependencies [bcdecd4]
- Updated dependencies [bcdecd4]
  - mcp-use@1.13.0

## 0.14.5-canary.3

### Patch Changes

- e962a16: fix: remove import from "mcp-use" which causes langchain import in server
- Updated dependencies [e962a16]
  - mcp-use@1.13.0-canary.3

## 0.14.5-canary.2

### Patch Changes

- 118cb30: feat(hmr): enhance synchronization for tools, prompts, and resources
  - Implemented a generic synchronization mechanism for hot module replacement (HMR) that updates tools, prompts, and resources in active sessions without removal.
  - Added support for detecting changes in definitions, including renames and updates, ensuring seamless integration during HMR.
  - Improved logging for changes in registrations, enhancing developer visibility into updates during the HMR process.
  - Introduced a new file for HMR synchronization logic, centralizing the handling of updates across different primitive types.

- Updated dependencies [118cb30]
  - mcp-use@1.13.0-canary.2

## 0.14.5-canary.1

### Patch Changes

- Updated dependencies [7359d66]
  - mcp-use@1.13.0-canary.1

## 0.14.5-canary.0

### Patch Changes

- dfb30a6: This release includes significant enhancements to OAuth flow handling, server metadata caching, and favicon detection:

  **OAuth Flow Enhancements**
  - Enhanced OAuth proxy to support gateway/proxy scenarios (e.g., Supabase MCP servers)
  - Added automatic metadata URL rewriting from gateway URLs to actual server URLs
  - Implemented resource parameter rewriting for authorize and token requests to use actual server URLs
  - Added WWW-Authenticate header discovery for OAuth metadata endpoints
  - Store and reuse OAuth proxy settings in callback flow for CORS bypass during token exchange
  - Added X-Forwarded-Host support for proper proxy URL construction in dev environments

  **Client Info Support**
  - Added `clientInfo` configuration prop to `McpClientProvider` for OAuth registration
  - Client info (name, version, icons, websiteUrl) is now sent during OAuth registration and displayed on consent pages
  - Supports per-server client info override
  - Inspector now includes client info with branding

  **Server Metadata Caching**
  - Added `CachedServerMetadata` interface for storing server name, version, icons, and other metadata
  - Extended `StorageProvider` interface with optional metadata methods (`getServerMetadata`, `setServerMetadata`, `removeServerMetadata`)
  - Implemented metadata caching in `LocalStorageProvider` and `MemoryStorageProvider`
  - Server metadata is now automatically cached when servers connect and used as initial display while fetching fresh data
  - Improves UX by showing server info immediately on reconnect

  **Inspector Improvements**
  - Added logging middleware to API routes for better debugging
  - Simplified server ID handling by removing redundant URL decoding (searchParams.get() already decodes)
  - Added X-Forwarded-Host header forwarding in Vite proxy configuration
  - Enabled OAuth proxy logging for better visibility

  **Favicon Detection Improvements**
  - Enhanced favicon detector to try all subdomain levels (e.g., mcp.supabase.com → supabase.com → com)
  - Added detection of default vs custom favicons using JSON API response
  - Prefer non-default favicons when available
  - Better handling of fallback cases

  **Other Changes**
  - Updated multi-server example with Supabase OAuth proxy example
  - Added connectionUrl parameter passing for resource field rewriting throughout OAuth flow
  - Improved logging and error messages throughout OAuth flow

- Updated dependencies [dfb30a6]
- Updated dependencies [0be9ed8]
  - mcp-use@1.13.0-canary.0

## 0.14.4

### Patch Changes

- 5161914: fix: autoconnect is not parsing config object as well in addition to string urls
  - mcp-use@1.12.4

## 0.14.4-canary.0

### Patch Changes

- a308b3f: fix: autoconnect is not parsing config object as well in addition to string urls
  - mcp-use@1.12.4-canary.0

## 0.14.3

### Patch Changes

- 2f89a3b: Updated dependency `react-router` to `^7.12.0`.
- 2f89a3b: Security: Fixed 13 vulnerabilities (3 moderate, 10 high)
  - Updated `langchain` to `^1.2.3` (fixes serialization injection vulnerability)
  - Updated `@langchain/core` to `^1.1.8` (fixes serialization injection vulnerability)
  - Updated `react-router` to `^7.12.0` (fixes XSS and CSRF vulnerabilities)
  - Updated `react-router-dom` to `^7.12.0` (fixes XSS and CSRF vulnerabilities)
  - Added override for `qs` to `>=6.14.1` (fixes DoS vulnerability)
  - Added override for `preact` to `>=10.28.2` (fixes JSON VNode injection)

- 2f89a3b: fix: resolve OAuth flow looping issue by removing duplicate fallback logic
  - Fixed OAuth authentication loop in inspector by removing duplicated fallback logic in useAutoConnect hook
  - Simplified connection handling by consolidating state management and removing unnecessary complexity
  - Enhanced OAuth authentication flow with improved connection settings and user-initiated actions
  - Refactored connection handling to default to manual authentication, requiring explicit user action for OAuth
  - Improved auto-connect functionality with better proxy handling and error management
  - Enhanced theme toggling with dropdown menu for better UX and accessibility
  - Updated OAuth flow management in browser provider and callback handling for better state management
  - Streamlined proxy fallback configuration to use useMcp's built-in autoProxyFallback

- Updated dependencies [2f89a3b]
- Updated dependencies [2f89a3b]
- Updated dependencies [2f89a3b]
  - mcp-use@1.12.3

## 0.14.3-canary.1

### Patch Changes

- 9cdc757: Security: Fixed 13 vulnerabilities (3 moderate, 10 high)
  - Updated `langchain` to `^1.2.3` (fixes serialization injection vulnerability)
  - Updated `@langchain/core` to `^1.1.8` (fixes serialization injection vulnerability)
  - Updated `react-router` to `^7.12.0` (fixes XSS and CSRF vulnerabilities)
  - Updated `react-router-dom` to `^7.12.0` (fixes XSS and CSRF vulnerabilities)
  - Added override for `qs` to `>=6.14.1` (fixes DoS vulnerability)
  - Added override for `preact` to `>=10.28.2` (fixes JSON VNode injection)

- cbf2bb8: fix: resolve OAuth flow looping issue by removing duplicate fallback logic
  - Fixed OAuth authentication loop in inspector by removing duplicated fallback logic in useAutoConnect hook
  - Simplified connection handling by consolidating state management and removing unnecessary complexity
  - Enhanced OAuth authentication flow with improved connection settings and user-initiated actions
  - Refactored connection handling to default to manual authentication, requiring explicit user action for OAuth
  - Improved auto-connect functionality with better proxy handling and error management
  - Enhanced theme toggling with dropdown menu for better UX and accessibility
  - Updated OAuth flow management in browser provider and callback handling for better state management
  - Streamlined proxy fallback configuration to use useMcp's built-in autoProxyFallback

- Updated dependencies [9cdc757]
- Updated dependencies [cbf2bb8]
  - mcp-use@1.12.3-canary.1

## 0.14.3-canary.0

### Patch Changes

- 708f6e5: Updated dependency `react-router` to `^7.12.0`.
- Updated dependencies [708f6e5]
  - mcp-use@1.12.3-canary.0

## 0.14.2

### Patch Changes

- 198fffd: Add configurable clientInfo support for MCP connection initialization. Clients can now customize how they identify themselves to MCP servers with full metadata including name, title, version, description, icons, and website URL. The clientConfig option is deprecated in favor of deriving it from clientInfo. Default clientInfo is set for mcp-use, inspector sets "mcp-use Inspector" with its own version, and CLI sets "mcp-use CLI".
- 198fffd: feat(inspector): add reconnect functionality for failed connections
  - Introduced a reconnect button in the InspectorDashboard for connections that fail, allowing users to attempt reconnection directly from the UI.
  - Enhanced the dropdown menu to include a reconnect option for failed connections, improving user experience and accessibility.
  - Updated HttpConnector to disable automatic reconnection, shifting the responsibility to higher-level logic for better control over connection management.

- 198fffd: chore: updated docs
- 198fffd: Fix custom headers not being included when copying connection configuration from saved connection tiles. Headers are now correctly read from localStorage where they are stored in proxyConfig.customHeaders.
- 198fffd: ## Breaking Changes (with Deprecation Warnings)
  - **Renamed `customHeaders` to `headers`**: The `customHeaders` option has been renamed to `headers` across all APIs for better consistency. The old name still works but shows deprecation warnings. Update your code to use `headers` instead.
  - **Renamed `samplingCallback` to `onSampling`**: Callback naming is now more consistent with event handler patterns. The old name still works but shows deprecation warnings.

  ## New Features
  - **Automatic Proxy Fallback**: Added `autoProxyFallback` option to `useMcp` hook and `McpClientProvider`. When enabled (default: `true` in provider), automatically retries failed connections through a proxy when CORS errors or HTTP 4xx errors are detected. This makes connecting to MCP servers much more reliable in browser environments.
  - **Provider-Level Proxy Defaults**: `McpClientProvider` now supports `defaultProxyConfig` and `defaultAutoProxyFallback` props to set proxy configuration for all servers. Individual servers can override these defaults.
  - **OAuth Proxy Support**: Added OAuth request proxying through fetch interceptor in `BrowserOAuthClientProvider`. Configure with `oauthProxyUrl` to route OAuth discovery and token requests through your backend proxy.

  ## Improvements
  - **Enhanced Error Detection**: Better detection of OAuth discovery failures, CORS errors, and connection issues
  - **Smarter Connection Logic**: OAuth provider now always uses the original target URL for OAuth discovery, not the proxy URL
  - **Better Session Management**: Improved session cleanup to avoid noisy warning logs
  - **Type Safety**: Added deprecation notices in TypeScript types for deprecated options
  - **Proxy Header Support**: `proxyConfig` now accepts a `headers` field for custom headers to the proxy

  ## Refactoring
  - **Removed `oauth-helper.ts`** (521 lines): OAuth helper utilities consolidated into `browser-provider.ts`
  - **Removed `react_example.html`**: Outdated example file removed
  - **Major `useMcp` Hook Refactor**: Complete rewrite of connection logic with automatic retry, better error handling, and proxy fallback support

  ## Documentation
  - Updated all client documentation to use new `headers` naming
  - Added comprehensive examples for automatic proxy fallback
  - Updated sampling documentation with new `onSampling` callback name
  - Refreshed React integration guide with provider-based approach

- Updated dependencies [198fffd]
- Updated dependencies [198fffd]
- Updated dependencies [198fffd]
- Updated dependencies [198fffd]
  - mcp-use@1.12.2

## 0.14.2-canary.2

### Patch Changes

- f9b1001: chore: updated docs
- Updated dependencies [f9b1001]
  - mcp-use@1.12.2-canary.2

## 0.14.2-canary.1

### Patch Changes

- 94e4e63: Add configurable clientInfo support for MCP connection initialization. Clients can now customize how they identify themselves to MCP servers with full metadata including name, title, version, description, icons, and website URL. The clientConfig option is deprecated in favor of deriving it from clientInfo. Default clientInfo is set for mcp-use, inspector sets "mcp-use Inspector" with its own version, and CLI sets "mcp-use CLI".
- 94e4e63: Fix custom headers not being included when copying connection configuration from saved connection tiles. Headers are now correctly read from localStorage where they are stored in proxyConfig.customHeaders.
- 94e4e63: ## Breaking Changes (with Deprecation Warnings)
  - **Renamed `customHeaders` to `headers`**: The `customHeaders` option has been renamed to `headers` across all APIs for better consistency. The old name still works but shows deprecation warnings. Update your code to use `headers` instead.
  - **Renamed `samplingCallback` to `onSampling`**: Callback naming is now more consistent with event handler patterns. The old name still works but shows deprecation warnings.

  ## New Features
  - **Automatic Proxy Fallback**: Added `autoProxyFallback` option to `useMcp` hook and `McpClientProvider`. When enabled (default: `true` in provider), automatically retries failed connections through a proxy when CORS errors or HTTP 4xx errors are detected. This makes connecting to MCP servers much more reliable in browser environments.
  - **Provider-Level Proxy Defaults**: `McpClientProvider` now supports `defaultProxyConfig` and `defaultAutoProxyFallback` props to set proxy configuration for all servers. Individual servers can override these defaults.
  - **OAuth Proxy Support**: Added OAuth request proxying through fetch interceptor in `BrowserOAuthClientProvider`. Configure with `oauthProxyUrl` to route OAuth discovery and token requests through your backend proxy.

  ## Improvements
  - **Enhanced Error Detection**: Better detection of OAuth discovery failures, CORS errors, and connection issues
  - **Smarter Connection Logic**: OAuth provider now always uses the original target URL for OAuth discovery, not the proxy URL
  - **Better Session Management**: Improved session cleanup to avoid noisy warning logs
  - **Type Safety**: Added deprecation notices in TypeScript types for deprecated options
  - **Proxy Header Support**: `proxyConfig` now accepts a `headers` field for custom headers to the proxy

  ## Refactoring
  - **Removed `oauth-helper.ts`** (521 lines): OAuth helper utilities consolidated into `browser-provider.ts`
  - **Removed `react_example.html`**: Outdated example file removed
  - **Major `useMcp` Hook Refactor**: Complete rewrite of connection logic with automatic retry, better error handling, and proxy fallback support

  ## Documentation
  - Updated all client documentation to use new `headers` naming
  - Added comprehensive examples for automatic proxy fallback
  - Updated sampling documentation with new `onSampling` callback name
  - Refreshed React integration guide with provider-based approach

- Updated dependencies [94e4e63]
- Updated dependencies [94e4e63]
  - mcp-use@1.12.2-canary.1

## 0.14.2-canary.0

### Patch Changes

- a0aa464: feat(inspector): add reconnect functionality for failed connections
  - Introduced a reconnect button in the InspectorDashboard for connections that fail, allowing users to attempt reconnection directly from the UI.
  - Enhanced the dropdown menu to include a reconnect option for failed connections, improving user experience and accessibility.
  - Updated HttpConnector to disable automatic reconnection, shifting the responsibility to higher-level logic for better control over connection management.

- Updated dependencies [a0aa464]
  - mcp-use@1.12.2-canary.0

## 0.14.1

### Patch Changes

- e36d1ab: Updated dependency `@modelcontextprotocol/sdk` to `^1.25.2`.
- e36d1ab: fix: updated building script to correctly export types for inspector/client components
- e36d1ab: Updated dependency `@modelcontextprotocol/sdk` from `1.25.1` to `1.25.2`. This update includes a fix for ReDoS vulnerability in UriTemplate regex patterns.
- Updated dependencies [e36d1ab]
- Updated dependencies [e36d1ab]
  - mcp-use@1.12.1

## 0.14.1-canary.2

### Patch Changes

- 74ff401: fix: updated building script to correctly export types for inspector/client components
  - mcp-use@1.12.1-canary.2

## 0.14.1-canary.1

### Patch Changes

- mcp-use@1.12.1-canary.1

## 0.14.1-canary.0

### Patch Changes

- 1674a02: Updated dependency `@modelcontextprotocol/sdk` from `1.25.1` to `1.25.2`. This update includes a fix for ReDoS vulnerability in UriTemplate regex patterns.
- Updated dependencies [1674a02]
- Updated dependencies [1674a02]
  - mcp-use@1.12.1-canary.0

## 0.14.0

### Minor Changes

- 53fb670: ## Multi-Server Support and Architecture Improvements

  ### Features
  - **Multi-server management**: Introduced `McpClientProvider` to manage multiple MCP server connections, allowing dynamic addition and removal of servers in React applications
  - **Storage providers**: Added pluggable storage system with `LocalStorageProvider` and `MemoryStorageProvider` for flexible server configuration persistence
  - **Enhanced RPC logging**: New `rpc-logger` module with filtering capabilities to reduce noisy endpoint logging (telemetry, RPC streams)
  - **Browser support**: Exported `MCPAgent` for browser usage with `BrowserMCPClient` instance or through `RemoteAgent`

  ### Inspector Enhancements
  - **Improved UI responsiveness**: Enhanced mobile and tablet layouts with adaptive component visibility
  - **Better server management**: Refactored server connection handling with improved icon display and status tracking
  - **Enhanced debugging**: Added detailed logging in Layout and useAutoConnect components for better monitoring of server connection states
  - **Simplified connection settings**: Removed deprecated transport types for cleaner configuration

  ### Architecture Changes
  - Removed obsolete `McpContext` (replaced with `McpClientProvider`)
  - Refactored `useMcp` hook for better multi-server support
  - Updated components across inspector for cleaner architecture and imports
  - Added multi-server React example demonstrating new capabilities

  ### Bug Fixes
  - Fixed server connection retrieval in `OpenAIComponentRenderer` to directly access connections array

- 53fb670: chore: make broser bundle node js free
- 53fb670: feat(inspector): added support for prompt rendering and add to client dropdown
- 53fb670: feat: remove Node.js dependencies and improve browser compatibility

  This release removes Node.js-specific dependencies and significantly improves browser compatibility across the mcp-use ecosystem.

  ## Breaking Changes
  - **Logging**: Removed `winston` dependency. The logging system now uses a simple console logger that works in both browser and Node.js environments.

  ## New Features

  ### Browser Runtime Support
  - **Browser Telemetry**: Added `telemetry-browser.ts` that uses `posthog-js` for browser environments, separate from Node.js telemetry
  - **Browser Entry Point**: Enhanced `browser.ts` entry point with improved browser-specific utilities
  - **Browser Utilities**: Added new utilities:
    - `utils/favicon-detector.ts` - Detect and extract favicons from URLs
    - `utils/proxy-config.ts` - Proxy configuration utilities for browser environments
    - `utils/mcpClientUtils.ts` - MCP client utilities moved from client package

  ### React Components
  - **AddToClientDropdown**: New React component (`src/react/AddToClientDropdown.tsx`) for adding MCP servers to clients with enhanced UI and functionality

  ### Server Middleware
  - **MCP Proxy Middleware**: Added `server/middleware/mcp-proxy.ts` - Hono middleware for proxying MCP server requests with optional authentication and request validation

  ### Inspector Improvements
  - Enhanced inspector components for better browser compatibility
  - Improved server icon support and component interactions
  - Added embedded mode support
  - Better configuration handling and MCP proxy integration

  ## Refactoring
  - **Telemetry Split**: Separated telemetry into `telemetry-browser.ts` (browser) and `telemetry-node.ts` (Node.js) for better environment-specific implementations
  - **Logging Refactor**: Replaced Winston with `SimpleConsoleLogger` that works across all environments
  - **Build Configuration**: Updated `tsup.config.ts` to exclude Node.js-specific dependencies (`winston`, `posthog-node`) from browser builds
  - **Package Dependencies**: Removed `winston` and related Node.js-only dependencies from `package.json`

  ## Testing
  - Added comprehensive test (`browser-react-no-node-deps.test.ts`) to ensure `mcp-use/react` and `mcp-use/browser` do not import Node.js dependencies

  This release makes mcp-use fully compatible with browser environments while maintaining backward compatibility with Node.js applications.

- 53fb670: feat(inspector): enhance client configuration and UI components
  - Added support for client exports in the build process by introducing a new build script for client exports in `package.json`.
  - Enhanced the `CommandPalette` and `SdkIntegrationModal` components to utilize local utility functions instead of external dependencies.
  - Introduced a new CSS animation for status indicators in `index.css`.
  - Updated the `LayoutHeader` component to conditionally display notification dots based on tab activity.
  - Removed the deprecated `AddToClientDropdown` component and adjusted related imports accordingly.
  - Improved client configuration examples in the `notification-client` and `sampling-client` files to include client identification for better server-side logging.
  - Cleaned up unused imports and ensured consistent formatting across several files.

### Patch Changes

- 53fb670: fix: query url handling in built mode was not preserving args
- 53fb670: fix: add client sdks to add to client dropdown
- 53fb670: feat: allow to pass tab as query param
- 53fb670: fix: also respect query tab param when existing server
- 53fb670: chore: lint & format
- 53fb670: fix(ci): improve Windows process termination in CI workflow
- Updated dependencies [53fb670]
- Updated dependencies [53fb670]
- Updated dependencies [53fb670]
- Updated dependencies [53fb670]
- Updated dependencies [53fb670]
- Updated dependencies [53fb670]
- Updated dependencies [53fb670]
- Updated dependencies [53fb670]
- Updated dependencies [53fb670]
- Updated dependencies [53fb670]
  - mcp-use@1.12.0

## 0.14.0-canary.14

### Patch Changes

- b16431b: fix(ci): improve Windows process termination in CI workflow
  - mcp-use@1.12.0-canary.14

## 0.14.0-canary.13

### Patch Changes

- mcp-use@1.12.0-canary.13

## 0.14.0-canary.12

### Patch Changes

- Updated dependencies [d02b8df]
  - mcp-use@1.12.0-canary.12

## 0.14.0-canary.11

### Minor Changes

- 55db23e: feat(inspector): enhance client configuration and UI components
  - Added support for client exports in the build process by introducing a new build script for client exports in `package.json`.
  - Enhanced the `CommandPalette` and `SdkIntegrationModal` components to utilize local utility functions instead of external dependencies.
  - Introduced a new CSS animation for status indicators in `index.css`.
  - Updated the `LayoutHeader` component to conditionally display notification dots based on tab activity.
  - Removed the deprecated `AddToClientDropdown` component and adjusted related imports accordingly.
  - Improved client configuration examples in the `notification-client` and `sampling-client` files to include client identification for better server-side logging.
  - Cleaned up unused imports and ensured consistent formatting across several files.

### Patch Changes

- Updated dependencies [55db23e]
  - mcp-use@1.12.0-canary.11

## 0.14.0-canary.10

### Patch Changes

- ce4647d: chore: lint & format
- Updated dependencies [ce4647d]
  - mcp-use@1.12.0-canary.10

## 0.14.0-canary.9

### Patch Changes

- Updated dependencies [4fb8223]
  - mcp-use@1.12.0-canary.9

## 0.14.0-canary.8

### Patch Changes

- Updated dependencies [daf3c81]
  - mcp-use@1.12.0-canary.8

## 0.14.0-canary.7

### Patch Changes

- Updated dependencies [4f93dc3]
  - mcp-use@1.12.0-canary.7

## 0.14.0-canary.6

### Patch Changes

- 2113c43: fix: add client sdks to add to client dropdown
- Updated dependencies [2113c43]
  - mcp-use@1.12.0-canary.6

## 0.14.0-canary.5

### Patch Changes

- 7381ec3: fix: also respect query tab param when existing server
  - mcp-use@1.12.0-canary.5

## 0.14.0-canary.4

### Patch Changes

- ef5a71d: feat: allow to pass tab as query param
  - mcp-use@1.12.0-canary.4

## 0.14.0-canary.3

### Minor Changes

- 8bc7f4d: ## Multi-Server Support and Architecture Improvements

  ### Features
  - **Multi-server management**: Introduced `McpClientProvider` to manage multiple MCP server connections, allowing dynamic addition and removal of servers in React applications
  - **Storage providers**: Added pluggable storage system with `LocalStorageProvider` and `MemoryStorageProvider` for flexible server configuration persistence
  - **Enhanced RPC logging**: New `rpc-logger` module with filtering capabilities to reduce noisy endpoint logging (telemetry, RPC streams)
  - **Browser support**: Exported `MCPAgent` for browser usage with `BrowserMCPClient` instance or through `RemoteAgent`

  ### Inspector Enhancements
  - **Improved UI responsiveness**: Enhanced mobile and tablet layouts with adaptive component visibility
  - **Better server management**: Refactored server connection handling with improved icon display and status tracking
  - **Enhanced debugging**: Added detailed logging in Layout and useAutoConnect components for better monitoring of server connection states
  - **Simplified connection settings**: Removed deprecated transport types for cleaner configuration

  ### Architecture Changes
  - Removed obsolete `McpContext` (replaced with `McpClientProvider`)
  - Refactored `useMcp` hook for better multi-server support
  - Updated components across inspector for cleaner architecture and imports
  - Added multi-server React example demonstrating new capabilities

  ### Bug Fixes
  - Fixed server connection retrieval in `OpenAIComponentRenderer` to directly access connections array

### Patch Changes

- Updated dependencies [8bc7f4d]
  - mcp-use@1.12.0-canary.3

## 0.14.0-canary.2

### Patch Changes

- 93fd156: fix: query url handling in built mode was not preserving args
  - mcp-use@1.12.0-canary.2

## 0.14.0-canary.1

### Minor Changes

- 2156916: chore: make broser bundle node js free
- 2156916: feat: remove Node.js dependencies and improve browser compatibility

  This release removes Node.js-specific dependencies and significantly improves browser compatibility across the mcp-use ecosystem.

  ## Breaking Changes
  - **Logging**: Removed `winston` dependency. The logging system now uses a simple console logger that works in both browser and Node.js environments.

  ## New Features

  ### Browser Runtime Support
  - **Browser Telemetry**: Added `telemetry-browser.ts` that uses `posthog-js` for browser environments, separate from Node.js telemetry
  - **Browser Entry Point**: Enhanced `browser.ts` entry point with improved browser-specific utilities
  - **Browser Utilities**: Added new utilities:
    - `utils/favicon-detector.ts` - Detect and extract favicons from URLs
    - `utils/proxy-config.ts` - Proxy configuration utilities for browser environments
    - `utils/mcpClientUtils.ts` - MCP client utilities moved from client package

  ### React Components
  - **AddToClientDropdown**: New React component (`src/react/AddToClientDropdown.tsx`) for adding MCP servers to clients with enhanced UI and functionality

  ### Server Middleware
  - **MCP Proxy Middleware**: Added `server/middleware/mcp-proxy.ts` - Hono middleware for proxying MCP server requests with optional authentication and request validation

  ### Inspector Improvements
  - Enhanced inspector components for better browser compatibility
  - Improved server icon support and component interactions
  - Added embedded mode support
  - Better configuration handling and MCP proxy integration

  ## Refactoring
  - **Telemetry Split**: Separated telemetry into `telemetry-browser.ts` (browser) and `telemetry-node.ts` (Node.js) for better environment-specific implementations
  - **Logging Refactor**: Replaced Winston with `SimpleConsoleLogger` that works across all environments
  - **Build Configuration**: Updated `tsup.config.ts` to exclude Node.js-specific dependencies (`winston`, `posthog-node`) from browser builds
  - **Package Dependencies**: Removed `winston` and related Node.js-only dependencies from `package.json`

  ## Testing
  - Added comprehensive test (`browser-react-no-node-deps.test.ts`) to ensure `mcp-use/react` and `mcp-use/browser` do not import Node.js dependencies

  This release makes mcp-use fully compatible with browser environments while maintaining backward compatibility with Node.js applications.

### Patch Changes

- Updated dependencies [2156916]
- Updated dependencies [2156916]
  - mcp-use@1.12.0-canary.1

## 0.14.0-canary.0

### Minor Changes

- 841cccf: feat(inspector): added support for prompt rendering and add to client dropdown

### Patch Changes

- mcp-use@1.11.3-canary.0

## 0.13.2

### Patch Changes

- 9a8cb3a: chore(docs): updated examples and docs to use preferred methods
- Updated dependencies [9a8cb3a]
  - mcp-use@1.11.2

## 0.13.2-canary.1

### Patch Changes

- 681c929: chore(docs): updated examples and docs to use preferred methods
- Updated dependencies [681c929]
  - mcp-use@1.11.2-canary.1

## 0.13.2-canary.0

### Patch Changes

- mcp-use@1.11.2-canary.0

## 0.13.1

### Patch Changes

- abf0e0f: fix: widget props not picked up if zod
- Updated dependencies [abf0e0f]
  - mcp-use@1.11.1

## 0.13.1-canary.0

### Patch Changes

- 6fc856c: fix: widget props not picked up if zod
- Updated dependencies [6fc856c]
  - mcp-use@1.11.1-canary.0

## 0.13.0

### Minor Changes

- 8a2e84e: ## Breaking Changes

  ### LangChain Adapter Export Path Changed

  The LangChain adapter is no longer exported from the main entry point. Import from `mcp-use/adapters` instead:

  ```typescript
  // Before
  import { LangChainAdapter } from "mcp-use";

  // After
  import { LangChainAdapter } from "mcp-use/adapters";
  ```

  **Note:** `@langchain/core` and `langchain` moved from dependencies to optional peer dependencies.

  **Learn more:** [LangChain Integration](https://mcp-use.com/docs/typescript/agent/llm-integration)

  ### WebSocket Transport Removed

  WebSocket transport support has been removed. Use streamable HTTP or SSE transports instead.

  **Learn more:** [Client Configuration](https://mcp-use.com/docs/typescript/client/client-configuration)

  ## Features

  ### Session Management Architecture with Redis Support

  Implements a pluggable session management architecture enabling distributed deployments with cross-server notifications, sampling, and resource subscriptions.

  **New Interfaces:**
  - `SessionStore` - Pluggable interface for storing session metadata
    - `InMemorySessionStore` (production default)
    - `FileSystemSessionStore` (dev mode default)
    - `RedisSessionStore` (distributed deployments)
  - `StreamManager` - Manages active SSE connections
    - `InMemoryStreamManager` (default)
    - `RedisStreamManager` (distributed via Redis Pub/Sub)

  **Server Configuration:**

  ```typescript
  // Development (default - FileSystemSessionStore for hot reload)
  const server = new MCPServer({
    name: "dev-server",
    version: "1.0.0",
  });

  // Production distributed (cross-server notifications)
  import { RedisSessionStore, RedisStreamManager } from "mcp-use/server";
  const server = new MCPServer({
    name: "prod-server",
    version: "1.0.0",
    sessionStore: new RedisSessionStore({ client: redis }),
    streamManager: new RedisStreamManager({
      client: redis,
      pubSubClient: pubSubRedis,
    }),
  });
  ```

  **Client Improvements:**
  - Auto-refresh tools/resources/prompts when receiving list change notifications
  - Manual refresh methods: `refreshTools()`, `refreshResources()`, `refreshPrompts()`, `refreshAll()`
  - Automatic 404 handling and re-initialization per MCP spec

  **Convenience Methods:**
  - `sendToolsListChanged()` - Notify clients when tools list changes
  - `sendResourcesListChanged()` - Notify clients when resources list changes
  - `sendPromptsListChanged()` - Notify clients when prompts list changes

  **Development Experience:**
  - FileSystemSessionStore persists sessions to `.mcp-use/sessions.json` in dev mode
  - Sessions survive server hot reloads
  - Auto-cleanup of expired sessions (>24 hours)

  **Deprecated:**
  - `autoCreateSessionOnInvalidId` - Now follows MCP spec strictly (returns 404 for invalid sessions)

  **Learn more:** [Session Management](https://mcp-use.com/docs/typescript/server/session-management)

  ### Favicon Support for Widgets

  Added favicon configuration for widget pages:

  ```typescript
  const server = createMCPServer({
    name: "my-server",
    version: "1.0.0",
    favicon: "favicon.ico", // Path relative to public/ directory
  });
  ```

  - Favicon automatically served at `/favicon.ico` for entire server domain
  - CLI build process includes favicon in widget HTML pages
  - Long-term caching (1 year) for favicon assets

  **Learn more:** [UI Widgets](https://mcp-use.com/docs/typescript/server/ui-widgets) and [Server Configuration](https://mcp-use.com/docs/typescript/server/configuration)

  ### CLI Client Support

  Added dedicated CLI client support for better command-line integration and testing.

  **Learn more:** [CLI Client](https://mcp-use.com/docs/typescript/client/cli)

  ### Enhanced Session Methods
  - `callTool()` method now defaults args to an empty object
  - New `requireSession()` method for reliable session retrieval

  ## Improvements

  ### Widget Build System
  - Automatic cleanup of stale widget directories in `.mcp-use` folder
  - Dev mode watches for widget file/directory deletions and cleans up build artifacts

  ### Dependency Management
  - Added support for Node >= 18
  - Added CommonJS module support

  ### Documentation & Metadata
  - Updated agent documentation and method signatures
  - Added repository metadata to package.json

  ## Fixes

  ### Widget Fixes
  - Fixed widget styling isolation - widgets no longer pick up mcp-use styles
  - Fixed favicon URL generator for proper asset resolution

  ### React Router Migration

  Migrated from `react-router-dom` to `react-router` for better compatibility and reduced bundle size.

  **Learn more:** [useMcp Hook](https://mcp-use.com/docs/typescript/client/usemcp)

  ### Session & Transport Fixes
  - Fixed transport cleanup when session becomes idle
  - Fixed agent access to resources and prompts

  ### Code Quality
  - Formatting and linting improvements across packages

### Patch Changes

- 8a2e84e: fix: was importing node modules in the browser
- 8a2e84e: chore: organized examples folder for typescript
  fix: inspector chat was using node modules
- 8a2e84e: chore: remove dead code
- 8a2e84e: chore: moved dev deps from the workspace packages to the typescript root for consistency
- 8a2e84e: chore(inspector): fixed console logs warns
- 8a2e84e: fix: fix widget props registration
- 8a2e84e: fix: register rpc logs in background
- 8a2e84e: chore: fixed codeql vulnerabilities
- 8a2e84e: ## Inspector: Faster Direct-to-Proxy Fallback
  - **Reduced connection timeout from 30s to 5s** for faster fallback when direct connections fail
  - **Removed automatic HTTP → SSE transport fallback** since SSE is deprecated
    - Added `disableSseFallback` option to `HttpConnector` to prevent automatic fallback to SSE transport
    - Inspector now explicitly uses HTTP transport only, relying on Direct → Proxy fallback instead
    - Users can still manually select SSE transport if needed
  - **Total fallback time: ~6 seconds** (5s timeout + 1s delay) instead of ~31 seconds

  ## Deployment: Fixed Supabase Health Check
  - **Fixed deploy.sh MCP server health check** to use POST instead of GET
    - SSE endpoints hang on GET requests, causing script to timeout
    - POST requests return immediately (415 error), proving server is up
    - Script now correctly detects when deployment is complete and shows success summary with URLs

- Updated dependencies [8a2e84e]
- Updated dependencies [8a2e84e]
- Updated dependencies [8a2e84e]
- Updated dependencies [8a2e84e]
- Updated dependencies [8a2e84e]
- Updated dependencies [8a2e84e]
- Updated dependencies [8a2e84e]
- Updated dependencies [8a2e84e]
- Updated dependencies [8a2e84e]
  - mcp-use@1.11.0

## 0.13.0-canary.20

### Patch Changes

- a90ac6f: chore: fixed codeql vulnerabilities
- Updated dependencies [a90ac6f]
  - mcp-use@1.11.0-canary.20

## 0.13.0-canary.19

### Patch Changes

- 1adbb26: fix: register rpc logs in background
  - mcp-use@1.11.0-canary.19

## 0.13.0-canary.18

### Patch Changes

- 2902a2e: chore(inspector): fixed console logs warns
- d7797b6: fix: fix widget props registration
- Updated dependencies [d7797b6]
- Updated dependencies [168a2e1]
  - mcp-use@1.11.0-canary.18

## 0.13.0-canary.17

### Patch Changes

- c24cafb: ## Inspector: Faster Direct-to-Proxy Fallback
  - **Reduced connection timeout from 30s to 5s** for faster fallback when direct connections fail
  - **Removed automatic HTTP → SSE transport fallback** since SSE is deprecated
    - Added `disableSseFallback` option to `HttpConnector` to prevent automatic fallback to SSE transport
    - Inspector now explicitly uses HTTP transport only, relying on Direct → Proxy fallback instead
    - Users can still manually select SSE transport if needed
  - **Total fallback time: ~6 seconds** (5s timeout + 1s delay) instead of ~31 seconds

  ## Deployment: Fixed Supabase Health Check
  - **Fixed deploy.sh MCP server health check** to use POST instead of GET
    - SSE endpoints hang on GET requests, causing script to timeout
    - POST requests return immediately (415 error), proving server is up
    - Script now correctly detects when deployment is complete and shows success summary with URLs

- Updated dependencies [c24cafb]
  - mcp-use@1.11.0-canary.17

## 0.13.0-canary.16

### Patch Changes

- Updated dependencies [7eb280f]
  - mcp-use@1.11.0-canary.16

## 0.13.0-canary.15

### Patch Changes

- 0a7a19a: fix: was importing node modules in the browser
  - mcp-use@1.11.0-canary.15

## 0.13.0-canary.14

### Patch Changes

- f5dfa51: chore: organized examples folder for typescript
  fix: inspector chat was using node modules
- Updated dependencies [f5dfa51]
  - mcp-use@1.11.0-canary.14

## 0.13.0-canary.13

### Patch Changes

- f7623fc: chore: remove dead code
  - mcp-use@1.11.0-canary.13

## 0.13.0-canary.12

### Patch Changes

- 68d1520: chore: moved dev deps from the workspace packages to the typescript root for consistency
- Updated dependencies [68d1520]
  - mcp-use@1.11.0-canary.12

## 0.13.0-canary.11

### Patch Changes

- Updated dependencies [cf72b53]
  - mcp-use@1.11.0-canary.11

## 0.13.0-canary.10

### Patch Changes

- 14c015e: fix: trigger changeset
- Updated dependencies [14c015e]
  - mcp-use@1.11.0-canary.10

## 0.13.0-canary.9

### Patch Changes

- Updated dependencies [0262b5c]
  - mcp-use@1.11.0-canary.9

## 0.13.0-canary.8

### Patch Changes

- 3945a10: fix: widgets
- Updated dependencies [3945a10]
- Updated dependencies [3945a10]
  - mcp-use@1.11.0-canary.8

## 0.13.0-canary.7

### Patch Changes

- 9acf03b: fix: drop react-router-dom in favor of react-router
- Updated dependencies [9acf03b]
  - mcp-use@1.11.0-canary.7

## 0.13.0-canary.6

### Patch Changes

- Updated dependencies [fdbd09e]
  - mcp-use@1.11.0-canary.6

## 0.13.0-canary.5

### Patch Changes

- 861546b: fix: favicon url generator
- Updated dependencies [0b2292d]
  - mcp-use@1.11.0-canary.5

## 0.13.0-canary.4

### Patch Changes

- Updated dependencies [f469d26]
  - mcp-use@1.11.0-canary.4

## 0.13.0-canary.3

### Minor Changes

- e302f8d: feat: removed websocket transport support

### Patch Changes

- Updated dependencies [e302f8d]
- Updated dependencies [e302f8d]
  - mcp-use@1.11.0-canary.3

## 0.12.6

### Patch Changes

- Updated dependencies [918287c]
  - mcp-use@1.10.6

## 0.12.5

### Patch Changes

- Updated dependencies [dcf938f]
  - mcp-use@1.10.5

## 0.12.4

### Patch Changes

- Updated dependencies
  - mcp-use@1.10.4

## 0.12.3

### Patch Changes

- fix: deno 3
- Updated dependencies
  - mcp-use@1.10.3

## 0.12.2

### Patch Changes

- fix: update zod error
- Updated dependencies
  - mcp-use@1.10.2

## 0.12.1

### Patch Changes

- b3d69ed: fix: zod import in official sdk
- Updated dependencies [b3d69ed]
  - mcp-use@1.10.1

## 0.12.1-canary.2

### Patch Changes

- Updated dependencies [1b6562a]
  - mcp-use@1.10.1-canary.2

## 0.12.1-canary.1

### Patch Changes

- Updated dependencies [2bb2278]
  - mcp-use@1.10.1-canary.1

## 0.12.1-canary.0

### Patch Changes

- 122a36c: Added repository metadata in package.json
- Updated dependencies [122a36c]
  - mcp-use@1.10.1-canary.0

## 0.12.0

### Minor Changes

- 6ec11cd: ## Breaking Changes
  - **Server API**: Renamed `createMCPServer()` factory function to `MCPServer` class constructor. The factory function is still available for backward compatibility but new code should use `new MCPServer({ name, ... })`.
  - **Session API**: Replaced `session.connector.tools`, `session.connector.callTool()`, etc. with direct methods: `session.tools`, `session.callTool()`, `session.listResources()`, `session.readResource()`, etc.
  - **OAuth Environment Variables**: Standardized OAuth env vars to `MCP_USE_OAUTH_*` prefix (e.g., `AUTH0_DOMAIN` → `MCP_USE_OAUTH_AUTH0_DOMAIN`).

  ## New Features
  - **Client Capabilities API**: Added `ctx.client.can()` and `ctx.client.capabilities()` to check client capabilities in tool callbacks.
  - **Session Notifications**: Added `ctx.sendNotification()` and `ctx.sendNotificationToSession()` for sending notifications from tool callbacks.
  - **Session Info**: Added `ctx.session.sessionId` to access current session ID in tool callbacks.
  - **Resource Template Flat Structure**: Resource templates now support flat structure with `uriTemplate` directly on definition (in addition to nested structure).
  - **Resource Template Callback Signatures**: Resource template callbacks now support multiple signatures: `()`, `(uri)`, `(uri, params)`, `(uri, params, ctx)`.
  - **Type Exports**: Added exports for `CallToolResult`, `Tool`, `ToolAnnotations`, `PromptResult`, `GetPromptResult` types.

  ## Improvements
  - **Type Inference**: Enhanced type inference for resource template callbacks with better overload support.
  - **Client Capabilities Tracking**: Server now captures and stores client capabilities during initialization.
  - **Session Methods**: Added convenience methods to `MCPSession` for all MCP operations (listResources, readResource, subscribeToResource, listPrompts, getPrompt, etc.).
  - **Documentation**: Major documentation refactoring and restructuring for better organization.

- 6ec11cd: feat: added support for elicitation in inspector

### Patch Changes

- 6ec11cd: fix: refactor to use https://github.com/modelcontextprotocol/typescript-sdk/pull/1209
- 6ec11cd: Updated dependencies.
- 6ec11cd: chore: switch official sdk from npm to fork with edge runtime support
- 6ec11cd: fix: fix transport bug
- 6ec11cd: fix: build mcp use first
- 6ec11cd: chore: replace official sdk with fork in imports
- 6ec11cd: fix: use tool meta instead of result for appssdk
- 6ec11cd: chore: fix types
- Updated dependencies [6ec11cd]
- Updated dependencies [6ec11cd]
- Updated dependencies [6ec11cd]
- Updated dependencies [6ec11cd]
- Updated dependencies [6ec11cd]
- Updated dependencies [6ec11cd]
- Updated dependencies [6ec11cd]
- Updated dependencies [6ec11cd]
- Updated dependencies [6ec11cd]
- Updated dependencies [6ec11cd]
- Updated dependencies [6ec11cd]
- Updated dependencies [6ec11cd]
- Updated dependencies [6ec11cd]
  - mcp-use@1.10.0

## 0.12.0-canary.11

### Patch Changes

- Updated dependencies [f0fc5a2]
  - mcp-use@1.10.0-canary.11

## 0.12.0-canary.10

### Patch Changes

- 0633fbd: fix: build mcp use first
  - mcp-use@1.10.0-canary.10

## 0.12.0-canary.9

### Patch Changes

- 79ce293: fix: use tool meta instead of result for appssdk
  - mcp-use@1.10.0-canary.9

## 0.12.0-canary.8

### Patch Changes

- Updated dependencies [54ccbd8]
  - mcp-use@1.10.0-canary.8

## 0.12.0-canary.7

### Patch Changes

- Updated dependencies [48b0133]
  - mcp-use@1.10.0-canary.7

## 0.12.0-canary.6

### Patch Changes

- c4fe367: chore: replace official sdk with fork in imports
- Updated dependencies [c4fe367]
  - mcp-use@1.10.0-canary.6

## 0.12.0-canary.5

### Patch Changes

- 4d61e84: chore: switch official sdk from npm to fork with edge runtime support
- Updated dependencies [4d61e84]
  - mcp-use@1.10.0-canary.5

## 0.12.0-canary.4

### Patch Changes

- Updated dependencies [4f8c871]
  - mcp-use@1.10.0-canary.4

## 0.12.0-canary.3

### Patch Changes

- 1379b00: chore: fix types
- Updated dependencies [1379b00]
  - mcp-use@1.10.0-canary.3

## 0.12.0-canary.2

### Minor Changes

- 96e4097: ## Breaking Changes
  - **Server API**: Renamed `createMCPServer()` factory function to `MCPServer` class constructor. The factory function is still available for backward compatibility but new code should use `new MCPServer({ name, ... })`.
  - **Session API**: Replaced `session.connector.tools`, `session.connector.callTool()`, etc. with direct methods: `session.tools`, `session.callTool()`, `session.listResources()`, `session.readResource()`, etc.
  - **OAuth Environment Variables**: Standardized OAuth env vars to `MCP_USE_OAUTH_*` prefix (e.g., `AUTH0_DOMAIN` → `MCP_USE_OAUTH_AUTH0_DOMAIN`).

  ## New Features
  - **Client Capabilities API**: Added `ctx.client.can()` and `ctx.client.capabilities()` to check client capabilities in tool callbacks.
  - **Session Notifications**: Added `ctx.sendNotification()` and `ctx.sendNotificationToSession()` for sending notifications from tool callbacks.
  - **Session Info**: Added `ctx.session.sessionId` to access current session ID in tool callbacks.
  - **Resource Template Flat Structure**: Resource templates now support flat structure with `uriTemplate` directly on definition (in addition to nested structure).
  - **Resource Template Callback Signatures**: Resource template callbacks now support multiple signatures: `()`, `(uri)`, `(uri, params)`, `(uri, params, ctx)`.
  - **Type Exports**: Added exports for `CallToolResult`, `Tool`, `ToolAnnotations`, `PromptResult`, `GetPromptResult` types.

  ## Improvements
  - **Type Inference**: Enhanced type inference for resource template callbacks with better overload support.
  - **Client Capabilities Tracking**: Server now captures and stores client capabilities during initialization.
  - **Session Methods**: Added convenience methods to `MCPSession` for all MCP operations (listResources, readResource, subscribeToResource, listPrompts, getPrompt, etc.).
  - **Documentation**: Major documentation refactoring and restructuring for better organization.

### Patch Changes

- Updated dependencies [96e4097]
  - mcp-use@1.10.0-canary.2

## 0.11.1-canary.1

### Patch Changes

- Updated dependencies [94f4852]
  - mcp-use@1.9.1-canary.1

## 0.11.1-canary.0

### Patch Changes

- 4d1aa19: fix: refactor to use https://github.com/modelcontextprotocol/typescript-sdk/pull/1209
- Updated dependencies [4d1aa19]
  - mcp-use@1.9.1-canary.0

## 0.11.0

### Minor Changes

- 4fc04a9: feat: added support for elicitation in inspector

### Patch Changes

- 4fc04a9: Updated dependencies.
- 4fc04a9: fix: fix transport bug
- Updated dependencies [4fc04a9]
- Updated dependencies [4fc04a9]
- Updated dependencies [4fc04a9]
  - mcp-use@1.9.0

## 0.11.0-canary.3

### Patch Changes

- b0d1ffe: fix: fix transport bug
- Updated dependencies [b0d1ffe]
  - mcp-use@1.9.0-canary.3

## 0.11.0-canary.2

### Minor Changes

- b56c907: feat: added support for elicitation in inspector

### Patch Changes

- Updated dependencies [b56c907]
  - mcp-use@1.9.0-canary.2

## 0.10.2-canary.1

### Patch Changes

- Updated dependencies [b4e960a]
  - mcp-use@1.9.0-canary.1

## 0.10.2-canary.0

### Patch Changes

- d726bfa: Updated dependencies.
  - mcp-use@1.8.2-canary.0

## 0.10.1

### Patch Changes

- 4bf21f3: Updated dependencies.
  - mcp-use@1.8.1

## 0.10.1-canary.0

### Patch Changes

- 33a1a69: Updated dependencies.
  - mcp-use@1.8.1-canary.0

## 0.10.0

### Minor Changes

- 00b19c5: Add sampling support in inspector and fixed long running sampling requests (were timing out after 60s)

### Patch Changes

- Updated dependencies [00b19c5]
  - mcp-use@1.8.0

## 0.10.0-canary.0

### Minor Changes

- de6ca09: Add sampling support in inspector and fixed long running sampling requests (were timing out after 60s)

### Patch Changes

- Updated dependencies [de6ca09]
  - mcp-use@1.8.0-canary.0

## 0.9.2

### Patch Changes

- a4341d5: chore: update deps
- Updated dependencies [a4341d5]
  - mcp-use@1.7.2

## 0.9.2-canary.0

### Patch Changes

- c1d7378: chore: update deps
- Updated dependencies [c1d7378]
  - mcp-use@1.7.2-canary.0

## 0.9.1

### Patch Changes

- f6f2b61: ### Bug Fixes
  - **Fixed bin entry issue (#536)**: Resolved pnpm installation warning where bin entry referenced non-existent `./node_modules/@mcp-use/cli/dist/index.js` path. Created proper bin forwarding script at `./dist/src/bin.js` that allows users to run `mcp-use` CLI commands (dev, build, etc.) after installing the package.

  ### Improvements
  - Standardized import statement formatting across multiple files for improved code consistency and readability

- f6f2b61: fix lint & format
- Updated dependencies [f6f2b61]
- Updated dependencies [f6f2b61]
  - mcp-use@1.7.1

## 0.9.1-canary.1

### Patch Changes

- c9cb2db: fix lint & format
- Updated dependencies [c9cb2db]
  - mcp-use@1.7.1-canary.1

## 0.9.1-canary.0

### Patch Changes

- bab4ad0: ### Bug Fixes
  - **Fixed bin entry issue (#536)**: Resolved pnpm installation warning where bin entry referenced non-existent `./node_modules/@mcp-use/cli/dist/index.js` path. Created proper bin forwarding script at `./dist/src/bin.js` that allows users to run `mcp-use` CLI commands (dev, build, etc.) after installing the package.

  ### Improvements
  - Standardized import statement formatting across multiple files for improved code consistency and readability

- Updated dependencies [bab4ad0]
  - mcp-use@1.7.1-canary.0

## 0.9.0

### Minor Changes

- 2730902: ## New Features
  - **OAuth Authentication System**: Complete OAuth 2.0 support with built-in providers (Auth0, WorkOS, Supabase, Keycloak) and custom provider configuration
  - **OAuth Middleware & Routes**: Server-side OAuth flow handling with automatic token management and session persistence
  - **OAuth Callback Component**: Inspector now includes OAuth callback handling for authentication flows
  - **Context Storage**: New async local storage system for request-scoped context in servers
  - **Response Helpers**: Utility functions for standardized HTTP responses and error handling
  - **Runtime Detection**: Auto-detection utilities for Node.js, Bun, and Deno environments
  - **Server Authentication Examples**: Added OAuth examples for Auth0, WorkOS, and Supabase

  ## Improvements
  - **Enhanced useMcp Hook**: Improved connection management with better state handling and OAuth support
  - **Enhanced Inspector Dashboard**: Added OAuth configuration UI and connection status indicators
  - **Enhanced Browser Provider**: Better authentication flow handling with OAuth integration
  - **Improved Auto-Connect**: Enhanced connection recovery and auto-reconnect logic
  - **Enhanced Authentication Docs**: Comprehensive server-side authentication guide with OAuth setup instructions
  - **Renamed Notification Example**: Cleaner naming convention (notification-example → notifications)
  - **Enhanced Tool Types**: Improved type definitions for server-side tool handlers with context support
  - **Enhanced HTTP Connectors**: Added OAuth token handling in HTTP transport layer

  ## Documentation
  - Added server authentication guide
  - Enhanced client authentication documentation with OAuth flows
  - Added notification examples and usage patterns
  - Updated useMcp hook documentation with OAuth configuration

### Patch Changes

- 2730902: Fix scrolls in tools, resources, and prompts tab
- 2730902: Fix: switched to https://pkg.pr.new/modelcontextprotocol/typescript-sdk/@modelcontextprotocol/sdk@1194 instead of @modelcontextprotocol/sdk to fix zod errors on deno runtime
- 2730902: Optimized dependencies
- 2730902: Fix: fix models and apikeys box in inspector chat
- 2730902: Fix: rendering of table, inline-code, code and images of inspector chat
- 2730902: Fix padding of rpc panels
- 2730902: Feat: added enum input display for tools
- 2730902: feat: enable bundle minification 9.7mb -> 4.2 mb
- Updated dependencies [2730902]
- Updated dependencies [2730902]
- Updated dependencies [2730902]
- Updated dependencies [2730902]
- Updated dependencies [2730902]
- Updated dependencies [2730902]
  - mcp-use@1.7.0

## 0.9.0-canary.8

### Patch Changes

- mcp-use@1.7.0-canary.8

## 0.9.0-canary.7

### Patch Changes

- caf8c7c: Fix: switched to https://pkg.pr.new/modelcontextprotocol/typescript-sdk/@modelcontextprotocol/sdk@1194 instead of @modelcontextprotocol/sdk to fix zod errors on deno runtime
- Updated dependencies [caf8c7c]
- Updated dependencies [caf8c7c]
- Updated dependencies [caf8c7c]
  - mcp-use@1.7.0-canary.7

## 0.9.0-canary.6

### Patch Changes

- 38da68d: Fix: fix models and apikeys box in inspector chat
- 38da68d: Fix: rendering of table, inline-code, code and images of inspector chat
  - mcp-use@1.7.0-canary.6

## 0.9.0-canary.5

### Patch Changes

- 4b917e0: feat: enable bundle minification 9.7mb -> 4.2 mb
  - mcp-use@1.7.0-canary.5

## 0.9.0-canary.4

### Patch Changes

- f44e60f: Fix padding of rpc panels
  - mcp-use@1.7.0-canary.4

## 0.9.0-canary.3

### Patch Changes

- Updated dependencies [0c8cb1a]
  - mcp-use@1.7.0-canary.3

## 0.9.0-canary.2

### Patch Changes

- 1ca9801: Optimized dependencies
- Updated dependencies [1ca9801]
  - mcp-use@1.7.0-canary.2

## 0.9.0-canary.1

### Minor Changes

- 6bb0f3d: ## New Features
  - **OAuth Authentication System**: Complete OAuth 2.0 support with built-in providers (Auth0, WorkOS, Supabase, Keycloak) and custom provider configuration
  - **OAuth Middleware & Routes**: Server-side OAuth flow handling with automatic token management and session persistence
  - **OAuth Callback Component**: Inspector now includes OAuth callback handling for authentication flows
  - **Context Storage**: New async local storage system for request-scoped context in servers
  - **Response Helpers**: Utility functions for standardized HTTP responses and error handling
  - **Runtime Detection**: Auto-detection utilities for Node.js, Bun, and Deno environments
  - **Server Authentication Examples**: Added OAuth examples for Auth0, WorkOS, and Supabase

  ## Improvements
  - **Enhanced useMcp Hook**: Improved connection management with better state handling and OAuth support
  - **Enhanced Inspector Dashboard**: Added OAuth configuration UI and connection status indicators
  - **Enhanced Browser Provider**: Better authentication flow handling with OAuth integration
  - **Improved Auto-Connect**: Enhanced connection recovery and auto-reconnect logic
  - **Enhanced Authentication Docs**: Comprehensive server-side authentication guide with OAuth setup instructions
  - **Renamed Notification Example**: Cleaner naming convention (notification-example → notifications)
  - **Enhanced Tool Types**: Improved type definitions for server-side tool handlers with context support
  - **Enhanced HTTP Connectors**: Added OAuth token handling in HTTP transport layer

  ## Documentation
  - Added server authentication guide
  - Enhanced client authentication documentation with OAuth flows
  - Added notification examples and usage patterns
  - Updated useMcp hook documentation with OAuth configuration

### Patch Changes

- Updated dependencies [6bb0f3d]
  - mcp-use@1.7.0-canary.1

## 0.8.3-canary.0

### Patch Changes

- 041da75: Fix scrolls in tools, resources, and prompts tab
- 041da75: Feat: added enum input display for tools
  - mcp-use@1.6.3-canary.0

## 0.8.2

### Patch Changes

- 7e7c9a5: Downgrade mcp sdk to 22 due to https://github.com/modelcontextprotocol/typescript-sdk/issues/1182
- Updated dependencies [7e7c9a5]
  - mcp-use@1.6.2

## 0.8.2-canary.0

### Patch Changes

- 0530e6a: Downgrade mcp sdk to 22 due to https://github.com/modelcontextprotocol/typescript-sdk/issues/1182
- Updated dependencies [0530e6a]
  - mcp-use@1.6.2-canary.0

## 0.8.1

### Patch Changes

- 1a509bf: chore(deps): update @modelcontextprotocol/sdk to 1.23.0

  Updated @modelcontextprotocol/sdk dependency from 1.20.0 to 1.23.0.

- 1a509bf: remove console
- c8e30ec: Fix new sdk types
- Updated dependencies [1a509bf]
- Updated dependencies [c60c055]
- Updated dependencies [4950e56]
- Updated dependencies [1a509bf]
- Updated dependencies [c8e30ec]
  - mcp-use@1.6.1

## 0.8.1-canary.1

### Patch Changes

- mcp-use@1.6.1-canary.1

## 0.8.1-canary.0

### Patch Changes

- 9974d55: chore(deps): update @modelcontextprotocol/sdk to 1.23.0

  Updated @modelcontextprotocol/sdk dependency from 1.20.0 to 1.23.0.

- 299ce65: remove console
- 0e77821: Fix new sdk types
- Updated dependencies [9974d55]
- Updated dependencies [e9e4075]
- Updated dependencies [32c6790]
- Updated dependencies [299ce65]
- Updated dependencies [0e77821]
  - mcp-use@1.6.1-canary.0

## 0.8.0

### Minor Changes

- 7e4dd9b: ## Features
  - **Notifications**: Added bidirectional notification support between clients and servers. Clients can register notification handlers and servers can send targeted or broadcast notifications. Includes automatic handling of `list_changed` notifications per MCP spec.
  - **Sampling**: Implemented LLM sampling capabilities allowing MCP tools to request completions from connected clients. Clients can provide a `samplingCallback` to handle sampling requests, enabling tools to leverage client-side LLMs.
  - **Widget Build ID**: Added build ID support for widget UI resources to enable cache busting. Build IDs are automatically incorporated into widget URIs.
  - **Inspector Enhancements**: Added notifications tab with real-time notification display and server capabilities modal showing supported MCP capabilities.

  ## Improvements
  - **Session Management**: Refactored HTTP transport to reuse sessions across requests instead of creating new transports per request. Added session tracking with configurable idle timeout (default 5 minutes) and automatic cleanup. Sessions now maintain state across multiple requests, enabling targeted notifications to specific clients.
  - Enhanced HTTP connector with improved notification handling and sampling support
  - Added roots support in connectors and session API (`setRoots()`, `getRoots()`) for better file system integration
  - Added session event handling API (`session.on("notification")`) for registering notification handlers
  - Added server methods for session management (`getActiveSessions()`, `sendNotificationToSession()`) enabling targeted client communication
  - Added comprehensive examples for notifications and sampling features
  - Enhanced documentation for notifications and sampling functionality

- 7e4dd9b: ## New Features

  ### OpenAI Apps SDK Integration (`mcp-use` package)
  - **McpUseProvider** (`packages/mcp-use/src/react/McpUseProvider.tsx`) - New unified provider component that combines all common React setup for mcp-use widgets:
    - Automatically includes StrictMode, ThemeProvider, BrowserRouter with automatic basename calculation
    - Optional WidgetControls integration for debugging and view controls
    - ErrorBoundary wrapper for error handling
    - Auto-sizing support with ResizeObserver that calls `window.openai.notifyIntrinsicHeight()` for dynamic height updates
    - Automatic basename calculation for proper routing in both dev proxy and production environments
  - **WidgetControls** (`packages/mcp-use/src/react/WidgetControls.tsx`) - New component (752 lines) providing:
    - Debug button overlay for displaying widget debug information (props, state, theme, display mode, etc.)
    - View controls for fullscreen and picture-in-picture (PIP) modes
    - Shared hover logic for all control buttons
    - Customizable positioning (top-left, top-right, bottom-left, etc.)
    - Interactive debug overlay with tool testing capabilities
  - **useWidget hook** (`packages/mcp-use/src/react/useWidget.ts`) - New type-safe React adapter for OpenAI Apps SDK `window.openai` API:
    - Automatic props extraction from `toolInput`
    - Reactive state management subscribing to all OpenAI global changes
    - Access to theme, display mode, safe areas, locale, user agent
    - Action methods: `callTool`, `sendFollowUpMessage`, `openExternal`, `requestDisplayMode`, `setState`
    - Type-safe with full TypeScript support
  - **ErrorBoundary** (`packages/mcp-use/src/react/ErrorBoundary.tsx`) - New error boundary component for graceful error handling in widgets
  - **Image** (`packages/mcp-use/src/react/Image.tsx`) - New image component that handles both data URLs and public file paths for widgets
  - **ThemeProvider** (`packages/mcp-use/src/react/ThemeProvider.tsx`) - New theme provider component for consistent theme management across widgets

  ### Inspector Widget Support
  - **WidgetInspectorControls** (`packages/inspector/src/client/components/WidgetInspectorControls.tsx`) - New component (364 lines) providing:
    - Inspector-specific widget controls and debugging interface
    - Widget state inspection with real-time updates
    - Debug information display including props, output, metadata, and state
    - Integration with inspector's tool execution flow
  - **Console Proxy Toggle** (`packages/inspector/src/client/components/IframeConsole.tsx` and `packages/inspector/src/client/hooks/useIframeConsole.ts`):
    - New toggle option to proxy iframe console logs to the page console
    - Persistent preference stored in localStorage
    - Improved console UI with tooltips and better error/warning indicators
    - Formatted console output with appropriate log levels

  ### Enhanced Apps SDK Template
  - **Product Search Result Widget** (`packages/create-mcp-use-app/src/templates/apps-sdk/resources/product-search-result/`):
    - Complete ecommerce widget example with carousel, accordion, and product display components
    - Carousel component (`components/Carousel.tsx`) with smooth animations and transitions
    - Accordion components (`components/Accordion.tsx`, `components/AccordionItem.tsx`) for collapsible content
    - Fruits API integration using `@tanstack/react-query` for data fetching
    - 16 fruit product images added to `public/fruits/` directory (apple, apricot, avocado, banana, blueberry, cherries, coconut, grapes, lemon, mango, orange, pear, pineapple, plum, strawberry, watermelon)
    - Enhanced product display with filtering and search capabilities
  - **Updated Template Example** (`packages/create-mcp-use-app/src/templates/apps-sdk/index.ts`):
    - New `get-brand-info` tool replacing the old `get-my-city` example
    - Fruits API endpoint (`/api/fruits`) for template data
    - Better example demonstrating brand information retrieval

  ### CLI Widget Building Enhancements
  - **Folder-based Widget Support** (`packages/cli/src/index.ts` and `packages/mcp-use/src/server/mcp-server.ts`):
    - Support for widgets organized in folders with `widget.tsx` entry point
    - Automatic detection of both single-file widgets and folder-based widgets
    - Proper widget name resolution from folder names
  - **Public Folder Support** (`packages/cli/src/index.ts`):
    - Automatic copying of `public/` folder to `dist/public/` during build
    - Support for static assets in widget templates
  - **Enhanced SSR Configuration** (`packages/cli/src/index.ts`):
    - Improved Vite SSR configuration with proper `noExternal` settings for `@openai/apps-sdk-ui` and `react-router`
    - Better environment variable definitions for SSR context
    - CSS handling plugin for SSR mode
  - **Dev Server Public Assets** (`packages/mcp-use/src/server/mcp-server.ts`):
    - New `/mcp-use/public/*` route for serving static files in development mode
    - Proper content-type detection for various file types (images, fonts, etc.)

  ## Improvements

  ### Inspector Component Enhancements
  - **OpenAIComponentRenderer** (`packages/inspector/src/client/components/OpenAIComponentRenderer.tsx`):
    - Added `memo` wrapper for performance optimization
    - Enhanced `notifyIntrinsicHeight` message handling with proper height calculation and capping for different display modes
    - Improved theme support to prevent theme flashing on widget load by passing theme in widget data
    - Widget state inspection support via `mcp-inspector:getWidgetState` message handling
    - Better dev mode detection and widget URL generation
    - Enhanced CSP handling with dev server URL support
  - **ToolResultDisplay** (`packages/inspector/src/client/components/tools/ToolResultDisplay.tsx`) - Major refactor (894 lines changed):
    - New formatted content display supporting multiple content types:
      - Text content with JSON detection and formatting
      - Image content with base64 data URL rendering
      - Audio content with player controls
      - Resource links with full metadata display
      - Embedded resources with content preview
    - Result history navigation with dropdown selector
    - Relative time display (e.g., "2m ago", "1h ago")
    - JSON validation and automatic formatting
    - Maximize/restore functionality for result panel
    - Better visual organization with content type labels
  - **ToolsTab** (`packages/inspector/src/client/components/ToolsTab.tsx`):
    - Resizable panels with collapse support using refs
    - Maximize functionality for result panel that collapses left and top panels
    - Better mobile view handling and responsive design
    - Improved panel state management

  ### Server-Side Improvements
  - **shared-routes.ts** (`packages/inspector/src/server/shared-routes.ts`):
    - Enhanced dev widget proxy with better asset loading
    - Direct asset loading from dev server for simplicity (avoids HTML rewriting issues)
    - CSP violation warnings injected into HTML for development debugging
    - Improved Vite HMR WebSocket handling with direct connection to dev server
    - Base tag injection for proper routing and dynamic module loading
    - Better CSP header generation supporting both production and development modes
  - **shared-utils.ts** and **shared-utils-browser.ts** (`packages/inspector/src/server/`):
    - Enhanced widget security headers with dev server URL support
    - Improved CSP configuration separating production and development resource domains
    - Theme support in widget data for preventing theme flash
    - Widget state inspection message handling
    - `notifyIntrinsicHeight` API support in browser version
    - MCP widget utilities injection (`__mcpPublicUrl`, `__getFile`) for Image component support
    - Better history management to prevent redirects in inspector dev-widget proxy

  ### Template Improvements
  - **apps-sdk template** (`packages/create-mcp-use-app/src/templates/apps-sdk/`):
    - Updated README with comprehensive documentation:
      - Official UI components integration guide
      - Ecommerce widgets documentation
      - Better examples and usage instructions
    - Enhanced example tool (`get-brand-info`) with complete brand information structure
    - Fruits API endpoint for template data
    - Better styling and theming support
    - Removed outdated `display-weather.tsx` widget
  - **Template Styles** (`packages/create-mcp-use-app/src/templates/apps-sdk/styles.css`):
    - Enhanced CSS with better theming support
    - Improved component styling

  ### CLI Improvements
  - **CLI index.ts** (`packages/cli/src/index.ts`):
    - Better server waiting mechanism using `AbortController` for proper cleanup
    - Enhanced fetch request with proper headers and signal handling
    - Support for folder-based widgets with proper entry path resolution
    - Public folder copying during build process
    - Enhanced SSR configuration with proper Vite settings
    - Better error handling throughout

  ### Code Quality
  - Improved logging throughout the codebase with better context and formatting
  - Better code formatting and readability improvements
  - Enhanced type safety with proper TypeScript types
  - Better error handling with try-catch blocks and proper error messages
  - Consistent code organization and structure

  ## Bug Fixes

  ### Widget Rendering
  - Fixed iframe height calculation issues by properly handling `notifyIntrinsicHeight` messages and respecting display mode constraints
  - Fixed theme flashing on widget load by passing theme in widget data and using it in initial API setup
  - Fixed CSP header generation for dev mode by properly handling dev server URLs in CSP configuration
  - Fixed asset loading in dev widget proxy by using direct URLs to dev server instead of proxy rewriting

  ### Inspector Issues
  - Fixed console logging in iframe by improving message handling and adding proxy toggle functionality
  - Fixed widget state inspection by adding proper message handling for `mcp-inspector:getWidgetState` requests
  - Fixed resizable panel collapse behavior by using refs and proper state management
  - Fixed mobile view handling with better responsive design and view state management

  ### Build Process
  - Fixed widget metadata extraction by properly handling folder-based widgets and entry paths
  - Fixed Vite SSR configuration by adding proper `noExternal` settings and environment definitions
  - Fixed public asset copying by adding explicit copy step in build process
  - Fixed widget name resolution for folder-based widgets by using folder name instead of file name

  ### Documentation
  - Fixed Supabase deployment script (`packages/mcp-use/examples/server/supabase/deploy.sh`) with updated project creation syntax
  - Updated deployment command in Supabase documentation to reflect new project creation syntax
  - Added server inspection URL to Supabase deployment documentation (`docs/typescript/server/deployment/supabase.mdx`)

  ### Other Fixes
  - Fixed history management to prevent unwanted redirects when running widgets in inspector dev-widget proxy
  - Fixed macOS resource fork file exclusion in widget discovery (`.DS_Store`, `._*` files)
  - Fixed Vite HMR WebSocket connection by using direct dev server URLs instead of proxy
  - Fixed CSS imports in SSR mode by adding custom plugin to handle CSS files properly

- 7e4dd9b: Release canary
- 7e4dd9b: Added support for rpc messages logging in inspector

### Patch Changes

- 7e4dd9b: fix versions
- 7e4dd9b: **Bug Fixes:**
  - Fixed auto-connect proxy fallback behavior - now properly retries with proxy when direct connection fails
  - Fixed connection config updates not applying when connection already exists
  - Fixed connection wrapper not re-rendering when proxy config changes

  **Improvements:**
  - Auto-switch (proxy fallback) now automatically enabled during auto-connect flow
  - Added automatic navigation to home page after connection failures
  - Improved error messages for connection failures
  - Enhanced state cleanup on connection retry and failure scenarios

- 7e4dd9b: - **Security**: Added `https://*.openai.com` to Content Security Policy trusted domains for widgets
  - **Type safety**: Exported `WidgetMetadata` type from `mcp-use/react` for better widget development experience
  - **Templates**: Updated widget templates to use `WidgetMetadata` type and fixed CSS import paths (moved styles to resources directory)
  - **Documentation**: Added comprehensive Apps SDK metadata documentation including CSP configuration examples
- 7e4dd9b: - Fix OpenAI Apps SDK UI theme synchronization by setting data-theme attribute and color-scheme on iframe document
  - Replace hardcoded Tailwind color classes with design tokens in create-mcp-use-app template components
  - Fix collapsed panel size from 5 to 6 in Prompts, Resources, and Tools tabs
- Updated dependencies [7e4dd9b]
- Updated dependencies [7e4dd9b]
- Updated dependencies [7e4dd9b]
- Updated dependencies [7e4dd9b]
- Updated dependencies [7e4dd9b]
- Updated dependencies [7e4dd9b]
- Updated dependencies [7e4dd9b]
- Updated dependencies [7e4dd9b]
- Updated dependencies [7e4dd9b]
- Updated dependencies [7e4dd9b]
- Updated dependencies [7e4dd9b]
- Updated dependencies [7e4dd9b]
- Updated dependencies [7e4dd9b]
- Updated dependencies [7e4dd9b]
- Updated dependencies [7e4dd9b]
  - mcp-use@1.6.0

## 0.7.1-canary.7

### Patch Changes

- 94b9824: **Bug Fixes:**
  - Fixed auto-connect proxy fallback behavior - now properly retries with proxy when direct connection fails
  - Fixed connection config updates not applying when connection already exists
  - Fixed connection wrapper not re-rendering when proxy config changes

  **Improvements:**
  - Auto-switch (proxy fallback) now automatically enabled during auto-connect flow
  - Added automatic navigation to home page after connection failures
  - Improved error messages for connection failures
  - Enhanced state cleanup on connection retry and failure scenarios

- Updated dependencies [94b9824]
  - mcp-use@1.5.1-canary.7

## 0.7.1-canary.6

### Patch Changes

- Updated dependencies [a3295a0]
  - mcp-use@1.5.1-canary.6

## 0.7.1-canary.5

### Patch Changes

- Updated dependencies [95fa604]
  - mcp-use@1.5.1-canary.5

## 0.7.1-canary.4

### Patch Changes

- Updated dependencies [a93befb]
  - mcp-use@1.5.1-canary.4

## 0.7.1-canary.3

### Patch Changes

- Updated dependencies [ccc2df3]
  - mcp-use@1.5.1-canary.3

## 0.7.1-canary.2

### Patch Changes

- Updated dependencies [e5e8e1b]
  - mcp-use@1.5.1-canary.2

## 0.7.1-canary.1

### Patch Changes

- Updated dependencies [4ca7772]
  - mcp-use@1.5.1-canary.1

## 0.7.1-canary.0

### Patch Changes

- 12a88c7: fix versions
- Updated dependencies [12a88c7]
  - mcp-use@1.5.1-canary.0

## 0.7.0

### Minor Changes

- 266a445: ## New Features

  ### OpenAI Apps SDK Integration (`mcp-use` package)
  - **McpUseProvider** (`packages/mcp-use/src/react/McpUseProvider.tsx`) - New unified provider component that combines all common React setup for mcp-use widgets:
    - Automatically includes StrictMode, ThemeProvider, BrowserRouter with automatic basename calculation
    - Optional WidgetControls integration for debugging and view controls
    - ErrorBoundary wrapper for error handling
    - Auto-sizing support with ResizeObserver that calls `window.openai.notifyIntrinsicHeight()` for dynamic height updates
    - Automatic basename calculation for proper routing in both dev proxy and production environments
  - **WidgetControls** (`packages/mcp-use/src/react/WidgetControls.tsx`) - New component (752 lines) providing:
    - Debug button overlay for displaying widget debug information (props, state, theme, display mode, etc.)
    - View controls for fullscreen and picture-in-picture (PIP) modes
    - Shared hover logic for all control buttons
    - Customizable positioning (top-left, top-right, bottom-left, etc.)
    - Interactive debug overlay with tool testing capabilities
  - **useWidget hook** (`packages/mcp-use/src/react/useWidget.ts`) - New type-safe React adapter for OpenAI Apps SDK `window.openai` API:
    - Automatic props extraction from `toolInput`
    - Reactive state management subscribing to all OpenAI global changes
    - Access to theme, display mode, safe areas, locale, user agent
    - Action methods: `callTool`, `sendFollowUpMessage`, `openExternal`, `requestDisplayMode`, `setState`
    - Type-safe with full TypeScript support
  - **ErrorBoundary** (`packages/mcp-use/src/react/ErrorBoundary.tsx`) - New error boundary component for graceful error handling in widgets
  - **Image** (`packages/mcp-use/src/react/Image.tsx`) - New image component that handles both data URLs and public file paths for widgets
  - **ThemeProvider** (`packages/mcp-use/src/react/ThemeProvider.tsx`) - New theme provider component for consistent theme management across widgets

  ### Inspector Widget Support
  - **WidgetInspectorControls** (`packages/inspector/src/client/components/WidgetInspectorControls.tsx`) - New component (364 lines) providing:
    - Inspector-specific widget controls and debugging interface
    - Widget state inspection with real-time updates
    - Debug information display including props, output, metadata, and state
    - Integration with inspector's tool execution flow
  - **Console Proxy Toggle** (`packages/inspector/src/client/components/IframeConsole.tsx` and `packages/inspector/src/client/hooks/useIframeConsole.ts`):
    - New toggle option to proxy iframe console logs to the page console
    - Persistent preference stored in localStorage
    - Improved console UI with tooltips and better error/warning indicators
    - Formatted console output with appropriate log levels

  ### Enhanced Apps SDK Template
  - **Product Search Result Widget** (`packages/create-mcp-use-app/src/templates/apps-sdk/resources/product-search-result/`):
    - Complete ecommerce widget example with carousel, accordion, and product display components
    - Carousel component (`components/Carousel.tsx`) with smooth animations and transitions
    - Accordion components (`components/Accordion.tsx`, `components/AccordionItem.tsx`) for collapsible content
    - Fruits API integration using `@tanstack/react-query` for data fetching
    - 16 fruit product images added to `public/fruits/` directory (apple, apricot, avocado, banana, blueberry, cherries, coconut, grapes, lemon, mango, orange, pear, pineapple, plum, strawberry, watermelon)
    - Enhanced product display with filtering and search capabilities
  - **Updated Template Example** (`packages/create-mcp-use-app/src/templates/apps-sdk/index.ts`):
    - New `get-brand-info` tool replacing the old `get-my-city` example
    - Fruits API endpoint (`/api/fruits`) for template data
    - Better example demonstrating brand information retrieval

  ### CLI Widget Building Enhancements
  - **Folder-based Widget Support** (`packages/cli/src/index.ts` and `packages/mcp-use/src/server/mcp-server.ts`):
    - Support for widgets organized in folders with `widget.tsx` entry point
    - Automatic detection of both single-file widgets and folder-based widgets
    - Proper widget name resolution from folder names
  - **Public Folder Support** (`packages/cli/src/index.ts`):
    - Automatic copying of `public/` folder to `dist/public/` during build
    - Support for static assets in widget templates
  - **Enhanced SSR Configuration** (`packages/cli/src/index.ts`):
    - Improved Vite SSR configuration with proper `noExternal` settings for `@openai/apps-sdk-ui` and `react-router`
    - Better environment variable definitions for SSR context
    - CSS handling plugin for SSR mode
  - **Dev Server Public Assets** (`packages/mcp-use/src/server/mcp-server.ts`):
    - New `/mcp-use/public/*` route for serving static files in development mode
    - Proper content-type detection for various file types (images, fonts, etc.)

  ## Improvements

  ### Inspector Component Enhancements
  - **OpenAIComponentRenderer** (`packages/inspector/src/client/components/OpenAIComponentRenderer.tsx`):
    - Added `memo` wrapper for performance optimization
    - Enhanced `notifyIntrinsicHeight` message handling with proper height calculation and capping for different display modes
    - Improved theme support to prevent theme flashing on widget load by passing theme in widget data
    - Widget state inspection support via `mcp-inspector:getWidgetState` message handling
    - Better dev mode detection and widget URL generation
    - Enhanced CSP handling with dev server URL support
  - **ToolResultDisplay** (`packages/inspector/src/client/components/tools/ToolResultDisplay.tsx`) - Major refactor (894 lines changed):
    - New formatted content display supporting multiple content types:
      - Text content with JSON detection and formatting
      - Image content with base64 data URL rendering
      - Audio content with player controls
      - Resource links with full metadata display
      - Embedded resources with content preview
    - Result history navigation with dropdown selector
    - Relative time display (e.g., "2m ago", "1h ago")
    - JSON validation and automatic formatting
    - Maximize/restore functionality for result panel
    - Better visual organization with content type labels
  - **ToolsTab** (`packages/inspector/src/client/components/ToolsTab.tsx`):
    - Resizable panels with collapse support using refs
    - Maximize functionality for result panel that collapses left and top panels
    - Better mobile view handling and responsive design
    - Improved panel state management

  ### Server-Side Improvements
  - **shared-routes.ts** (`packages/inspector/src/server/shared-routes.ts`):
    - Enhanced dev widget proxy with better asset loading
    - Direct asset loading from dev server for simplicity (avoids HTML rewriting issues)
    - CSP violation warnings injected into HTML for development debugging
    - Improved Vite HMR WebSocket handling with direct connection to dev server
    - Base tag injection for proper routing and dynamic module loading
    - Better CSP header generation supporting both production and development modes
  - **shared-utils.ts** and **shared-utils-browser.ts** (`packages/inspector/src/server/`):
    - Enhanced widget security headers with dev server URL support
    - Improved CSP configuration separating production and development resource domains
    - Theme support in widget data for preventing theme flash
    - Widget state inspection message handling
    - `notifyIntrinsicHeight` API support in browser version
    - MCP widget utilities injection (`__mcpPublicUrl`, `__getFile`) for Image component support
    - Better history management to prevent redirects in inspector dev-widget proxy

  ### Template Improvements
  - **apps-sdk template** (`packages/create-mcp-use-app/src/templates/apps-sdk/`):
    - Updated README with comprehensive documentation:
      - Official UI components integration guide
      - Ecommerce widgets documentation
      - Better examples and usage instructions
    - Enhanced example tool (`get-brand-info`) with complete brand information structure
    - Fruits API endpoint for template data
    - Better styling and theming support
    - Removed outdated `display-weather.tsx` widget
  - **Template Styles** (`packages/create-mcp-use-app/src/templates/apps-sdk/styles.css`):
    - Enhanced CSS with better theming support
    - Improved component styling

  ### CLI Improvements
  - **CLI index.ts** (`packages/cli/src/index.ts`):
    - Better server waiting mechanism using `AbortController` for proper cleanup
    - Enhanced fetch request with proper headers and signal handling
    - Support for folder-based widgets with proper entry path resolution
    - Public folder copying during build process
    - Enhanced SSR configuration with proper Vite settings
    - Better error handling throughout

  ### Code Quality
  - Improved logging throughout the codebase with better context and formatting
  - Better code formatting and readability improvements
  - Enhanced type safety with proper TypeScript types
  - Better error handling with try-catch blocks and proper error messages
  - Consistent code organization and structure

  ## Bug Fixes

  ### Widget Rendering
  - Fixed iframe height calculation issues by properly handling `notifyIntrinsicHeight` messages and respecting display mode constraints
  - Fixed theme flashing on widget load by passing theme in widget data and using it in initial API setup
  - Fixed CSP header generation for dev mode by properly handling dev server URLs in CSP configuration
  - Fixed asset loading in dev widget proxy by using direct URLs to dev server instead of proxy rewriting

  ### Inspector Issues
  - Fixed console logging in iframe by improving message handling and adding proxy toggle functionality
  - Fixed widget state inspection by adding proper message handling for `mcp-inspector:getWidgetState` requests
  - Fixed resizable panel collapse behavior by using refs and proper state management
  - Fixed mobile view handling with better responsive design and view state management

  ### Build Process
  - Fixed widget metadata extraction by properly handling folder-based widgets and entry paths
  - Fixed Vite SSR configuration by adding proper `noExternal` settings and environment definitions
  - Fixed public asset copying by adding explicit copy step in build process
  - Fixed widget name resolution for folder-based widgets by using folder name instead of file name

  ### Documentation
  - Fixed Supabase deployment script (`packages/mcp-use/examples/server/supabase/deploy.sh`) with updated project creation syntax
  - Updated deployment command in Supabase documentation to reflect new project creation syntax
  - Added server inspection URL to Supabase deployment documentation (`docs/typescript/server/deployment/supabase.mdx`)

  ### Other Fixes
  - Fixed history management to prevent unwanted redirects when running widgets in inspector dev-widget proxy
  - Fixed macOS resource fork file exclusion in widget discovery (`.DS_Store`, `._*` files)
  - Fixed Vite HMR WebSocket connection by using direct dev server URLs instead of proxy
  - Fixed CSS imports in SSR mode by adding custom plugin to handle CSS files properly

- 266a445: Release canary
- 266a445: Added support for rpc messages logging in inspector

### Patch Changes

- Updated dependencies [266a445]
- Updated dependencies [266a445]
- Updated dependencies [266a445]
- Updated dependencies [266a445]
  - mcp-use@1.5.0

## 0.7.0-canary.3

### Minor Changes

- 018395c: Release canary

### Patch Changes

- Updated dependencies [018395c]
  - mcp-use@1.5.0-canary.3

## 0.7.0-canary.2

### Minor Changes

- 229a3a3: Added support for rpc messages logging in inspector

### Patch Changes

- Updated dependencies [229a3a3]
  - mcp-use@1.5.0-canary.2

## 0.7.0-canary.1

### Minor Changes

- fc64bd7: ## New Features

  ### OpenAI Apps SDK Integration (`mcp-use` package)
  - **McpUseProvider** (`packages/mcp-use/src/react/McpUseProvider.tsx`) - New unified provider component that combines all common React setup for mcp-use widgets:
    - Automatically includes StrictMode, ThemeProvider, BrowserRouter with automatic basename calculation
    - Optional WidgetControls integration for debugging and view controls
    - ErrorBoundary wrapper for error handling
    - Auto-sizing support with ResizeObserver that calls `window.openai.notifyIntrinsicHeight()` for dynamic height updates
    - Automatic basename calculation for proper routing in both dev proxy and production environments
  - **WidgetControls** (`packages/mcp-use/src/react/WidgetControls.tsx`) - New component (752 lines) providing:
    - Debug button overlay for displaying widget debug information (props, state, theme, display mode, etc.)
    - View controls for fullscreen and picture-in-picture (PIP) modes
    - Shared hover logic for all control buttons
    - Customizable positioning (top-left, top-right, bottom-left, etc.)
    - Interactive debug overlay with tool testing capabilities
  - **useWidget hook** (`packages/mcp-use/src/react/useWidget.ts`) - New type-safe React adapter for OpenAI Apps SDK `window.openai` API:
    - Automatic props extraction from `toolInput`
    - Reactive state management subscribing to all OpenAI global changes
    - Access to theme, display mode, safe areas, locale, user agent
    - Action methods: `callTool`, `sendFollowUpMessage`, `openExternal`, `requestDisplayMode`, `setState`
    - Type-safe with full TypeScript support
  - **ErrorBoundary** (`packages/mcp-use/src/react/ErrorBoundary.tsx`) - New error boundary component for graceful error handling in widgets
  - **Image** (`packages/mcp-use/src/react/Image.tsx`) - New image component that handles both data URLs and public file paths for widgets
  - **ThemeProvider** (`packages/mcp-use/src/react/ThemeProvider.tsx`) - New theme provider component for consistent theme management across widgets

  ### Inspector Widget Support
  - **WidgetInspectorControls** (`packages/inspector/src/client/components/WidgetInspectorControls.tsx`) - New component (364 lines) providing:
    - Inspector-specific widget controls and debugging interface
    - Widget state inspection with real-time updates
    - Debug information display including props, output, metadata, and state
    - Integration with inspector's tool execution flow
  - **Console Proxy Toggle** (`packages/inspector/src/client/components/IframeConsole.tsx` and `packages/inspector/src/client/hooks/useIframeConsole.ts`):
    - New toggle option to proxy iframe console logs to the page console
    - Persistent preference stored in localStorage
    - Improved console UI with tooltips and better error/warning indicators
    - Formatted console output with appropriate log levels

  ### Enhanced Apps SDK Template
  - **Product Search Result Widget** (`packages/create-mcp-use-app/src/templates/apps-sdk/resources/product-search-result/`):
    - Complete ecommerce widget example with carousel, accordion, and product display components
    - Carousel component (`components/Carousel.tsx`) with smooth animations and transitions
    - Accordion components (`components/Accordion.tsx`, `components/AccordionItem.tsx`) for collapsible content
    - Fruits API integration using `@tanstack/react-query` for data fetching
    - 16 fruit product images added to `public/fruits/` directory (apple, apricot, avocado, banana, blueberry, cherries, coconut, grapes, lemon, mango, orange, pear, pineapple, plum, strawberry, watermelon)
    - Enhanced product display with filtering and search capabilities
  - **Updated Template Example** (`packages/create-mcp-use-app/src/templates/apps-sdk/index.ts`):
    - New `get-brand-info` tool replacing the old `get-my-city` example
    - Fruits API endpoint (`/api/fruits`) for template data
    - Better example demonstrating brand information retrieval

  ### CLI Widget Building Enhancements
  - **Folder-based Widget Support** (`packages/cli/src/index.ts` and `packages/mcp-use/src/server/mcp-server.ts`):
    - Support for widgets organized in folders with `widget.tsx` entry point
    - Automatic detection of both single-file widgets and folder-based widgets
    - Proper widget name resolution from folder names
  - **Public Folder Support** (`packages/cli/src/index.ts`):
    - Automatic copying of `public/` folder to `dist/public/` during build
    - Support for static assets in widget templates
  - **Enhanced SSR Configuration** (`packages/cli/src/index.ts`):
    - Improved Vite SSR configuration with proper `noExternal` settings for `@openai/apps-sdk-ui` and `react-router`
    - Better environment variable definitions for SSR context
    - CSS handling plugin for SSR mode
  - **Dev Server Public Assets** (`packages/mcp-use/src/server/mcp-server.ts`):
    - New `/mcp-use/public/*` route for serving static files in development mode
    - Proper content-type detection for various file types (images, fonts, etc.)

  ## Improvements

  ### Inspector Component Enhancements
  - **OpenAIComponentRenderer** (`packages/inspector/src/client/components/OpenAIComponentRenderer.tsx`):
    - Added `memo` wrapper for performance optimization
    - Enhanced `notifyIntrinsicHeight` message handling with proper height calculation and capping for different display modes
    - Improved theme support to prevent theme flashing on widget load by passing theme in widget data
    - Widget state inspection support via `mcp-inspector:getWidgetState` message handling
    - Better dev mode detection and widget URL generation
    - Enhanced CSP handling with dev server URL support
  - **ToolResultDisplay** (`packages/inspector/src/client/components/tools/ToolResultDisplay.tsx`) - Major refactor (894 lines changed):
    - New formatted content display supporting multiple content types:
      - Text content with JSON detection and formatting
      - Image content with base64 data URL rendering
      - Audio content with player controls
      - Resource links with full metadata display
      - Embedded resources with content preview
    - Result history navigation with dropdown selector
    - Relative time display (e.g., "2m ago", "1h ago")
    - JSON validation and automatic formatting
    - Maximize/restore functionality for result panel
    - Better visual organization with content type labels
  - **ToolsTab** (`packages/inspector/src/client/components/ToolsTab.tsx`):
    - Resizable panels with collapse support using refs
    - Maximize functionality for result panel that collapses left and top panels
    - Better mobile view handling and responsive design
    - Improved panel state management

  ### Server-Side Improvements
  - **shared-routes.ts** (`packages/inspector/src/server/shared-routes.ts`):
    - Enhanced dev widget proxy with better asset loading
    - Direct asset loading from dev server for simplicity (avoids HTML rewriting issues)
    - CSP violation warnings injected into HTML for development debugging
    - Improved Vite HMR WebSocket handling with direct connection to dev server
    - Base tag injection for proper routing and dynamic module loading
    - Better CSP header generation supporting both production and development modes
  - **shared-utils.ts** and **shared-utils-browser.ts** (`packages/inspector/src/server/`):
    - Enhanced widget security headers with dev server URL support
    - Improved CSP configuration separating production and development resource domains
    - Theme support in widget data for preventing theme flash
    - Widget state inspection message handling
    - `notifyIntrinsicHeight` API support in browser version
    - MCP widget utilities injection (`__mcpPublicUrl`, `__getFile`) for Image component support
    - Better history management to prevent redirects in inspector dev-widget proxy

  ### Template Improvements
  - **apps-sdk template** (`packages/create-mcp-use-app/src/templates/apps-sdk/`):
    - Updated README with comprehensive documentation:
      - Official UI components integration guide
      - Ecommerce widgets documentation
      - Better examples and usage instructions
    - Enhanced example tool (`get-brand-info`) with complete brand information structure
    - Fruits API endpoint for template data
    - Better styling and theming support
    - Removed outdated `display-weather.tsx` widget
  - **Template Styles** (`packages/create-mcp-use-app/src/templates/apps-sdk/styles.css`):
    - Enhanced CSS with better theming support
    - Improved component styling

  ### CLI Improvements
  - **CLI index.ts** (`packages/cli/src/index.ts`):
    - Better server waiting mechanism using `AbortController` for proper cleanup
    - Enhanced fetch request with proper headers and signal handling
    - Support for folder-based widgets with proper entry path resolution
    - Public folder copying during build process
    - Enhanced SSR configuration with proper Vite settings
    - Better error handling throughout

  ### Code Quality
  - Improved logging throughout the codebase with better context and formatting
  - Better code formatting and readability improvements
  - Enhanced type safety with proper TypeScript types
  - Better error handling with try-catch blocks and proper error messages
  - Consistent code organization and structure

  ## Bug Fixes

  ### Widget Rendering
  - Fixed iframe height calculation issues by properly handling `notifyIntrinsicHeight` messages and respecting display mode constraints
  - Fixed theme flashing on widget load by passing theme in widget data and using it in initial API setup
  - Fixed CSP header generation for dev mode by properly handling dev server URLs in CSP configuration
  - Fixed asset loading in dev widget proxy by using direct URLs to dev server instead of proxy rewriting

  ### Inspector Issues
  - Fixed console logging in iframe by improving message handling and adding proxy toggle functionality
  - Fixed widget state inspection by adding proper message handling for `mcp-inspector:getWidgetState` requests
  - Fixed resizable panel collapse behavior by using refs and proper state management
  - Fixed mobile view handling with better responsive design and view state management

  ### Build Process
  - Fixed widget metadata extraction by properly handling folder-based widgets and entry paths
  - Fixed Vite SSR configuration by adding proper `noExternal` settings and environment definitions
  - Fixed public asset copying by adding explicit copy step in build process
  - Fixed widget name resolution for folder-based widgets by using folder name instead of file name

  ### Documentation
  - Fixed Supabase deployment script (`packages/mcp-use/examples/server/supabase/deploy.sh`) with updated project creation syntax
  - Updated deployment command in Supabase documentation to reflect new project creation syntax
  - Added server inspection URL to Supabase deployment documentation (`docs/typescript/server/deployment/supabase.mdx`)

  ### Other Fixes
  - Fixed history management to prevent unwanted redirects when running widgets in inspector dev-widget proxy
  - Fixed macOS resource fork file exclusion in widget discovery (`.DS_Store`, `._*` files)
  - Fixed Vite HMR WebSocket connection by using direct dev server URLs instead of proxy
  - Fixed CSS imports in SSR mode by adding custom plugin to handle CSS files properly

### Patch Changes

- Updated dependencies [fc64bd7]
  - mcp-use@1.5.0-canary.1

## 0.6.1

### Patch Changes

- Updated dependencies [95c9d9f]
- Updated dependencies [95c9d9f]
  - mcp-use@1.4.1

## 0.6.1-canary.1

### Patch Changes

- Updated dependencies [0975320]
  - mcp-use@1.4.1-canary.1

## 0.6.1-canary.0

### Patch Changes

- Updated dependencies [d434691]
  - mcp-use@1.4.1-canary.0

## 0.6.0

### Minor Changes

- 33e4a68: Responsive design for inspector :O

### Patch Changes

- 33e4a68: Remove debugger button from pip mode to avoid overlap with close button
- Updated dependencies [33e4a68]
  - mcp-use@1.4.0

## 0.6.0-canary.3

### Patch Changes

- Updated dependencies [35fd9ae]
  - mcp-use@1.4.0-canary.3

## 0.6.0-canary.2

### Patch Changes

- mcp-use@1.3.4-canary.2

## 0.6.0-canary.1

### Patch Changes

- 451c507: Remove debugger button from pip mode to avoid overlap with close button
  - mcp-use@1.3.4-canary.1

## 0.6.0-canary.0

### Minor Changes

- 1f4a798: Responsive design for inspector :O

### Patch Changes

- mcp-use@1.3.4-canary.0

## 0.5.3

### Patch Changes

- e8ec993: Fix formatting of object tool input
- e8ec993: Add support for displaying console logs of widgets in the inspector preview panel
- e8ec993: - Add emulation of openai api to the inspector
  - Add utility component WidgetFullscreenWrapper: render full screen and pip buttons
  - Add utility component WidgetDebugger: shows an overlay with openai metadata for debugging ChatGPT integration
- e8ec993: Fix connection edit button in inspector
- e8ec993: Fix button overflow in connect form
- e8ec993: Dynamically load models for the chat
- Updated dependencies [e8ec993]
- Updated dependencies [e8ec993]
- Updated dependencies [e8ec993]
  - mcp-use@1.3.3

## 0.5.3-canary.8

### Patch Changes

- 329ce35: Dynamically load models for the chat
  - mcp-use@1.3.3-canary.8

## 0.5.3-canary.7

### Patch Changes

- 1ed0ab8: Fix formatting of object tool input
  - mcp-use@1.3.3-canary.7

## 0.5.3-canary.6

### Patch Changes

- ba654db: Fix button overflow in connect form
  - mcp-use@1.3.3-canary.6

## 0.5.3-canary.5

### Patch Changes

- f971dd8: Fix connection edit button in inspector
  - mcp-use@1.3.3-canary.5

## 0.5.3-canary.4

### Patch Changes

- 68d0d4c: - Add emulation of openai api to the inspector
  - Add utility component WidgetFullscreenWrapper: render full screen and pip buttons
  - Add utility component WidgetDebugger: shows an overlay with openai metadata for debugging ChatGPT integration
- Updated dependencies [68d0d4c]
  - mcp-use@1.3.3-canary.4

## 0.5.3-canary.3

### Patch Changes

- Updated dependencies [d4dc001]
  - mcp-use@1.3.3-canary.3

## 0.5.3-canary.2

### Patch Changes

- Updated dependencies [9fc286c]
  - mcp-use@1.3.3-canary.2

## 0.5.3-canary.1

### Patch Changes

- mcp-use@1.3.3-canary.1

## 0.5.3-canary.0

### Patch Changes

- d4c246a: Add support for displaying console logs of widgets in the inspector preview panel
  - mcp-use@1.3.3-canary.0

## 0.5.2

### Patch Changes

- 835d367: - Updated the version of @modelcontextprotocol/sdk to 1.22.0 in both inspector and mcp-use package.json files.
- 835d367: Hanlde large json responses by showing a preview and a download button
- 835d367: chore: update dependencies
- Updated dependencies [835d367]
- Updated dependencies [835d367]
- Updated dependencies [835d367]
  - mcp-use@1.3.2

## 0.5.2-canary.5

### Patch Changes

- Updated dependencies [d9e3ae2]
  - mcp-use@1.3.2-canary.5

## 0.5.2-canary.4

### Patch Changes

- 9db6706: Hanlde large json responses by showing a preview and a download button
  - mcp-use@1.3.2-canary.4

## 0.5.2-canary.3

### Patch Changes

- mcp-use@1.3.2-canary.3

## 0.5.2-canary.2

### Patch Changes

- mcp-use@1.3.2-canary.2

## 0.5.2-canary.1

### Patch Changes

- mcp-use@1.3.2-canary.1

## 0.5.2-canary.0

### Patch Changes

- 2ebe233: - Updated the version of @modelcontextprotocol/sdk to 1.22.0 in both inspector and mcp-use package.json files.
- 2ebe233: chore: update dependencies
- Updated dependencies [2ebe233]
- Updated dependencies [2ebe233]
  - mcp-use@1.3.2-canary.0

## 0.5.1

### Patch Changes

- 91fdcee: - Updated the version of @modelcontextprotocol/sdk to 1.22.0 in both inspector and mcp-use package.json files.
- 91fdcee: chore: update dependencies
- Updated dependencies [91fdcee]
- Updated dependencies [91fdcee]
  - mcp-use@1.3.1

## 0.5.1-canary.0

### Patch Changes

- 9ece7fe: - Updated the version of @modelcontextprotocol/sdk to 1.22.0 in both inspector and mcp-use package.json files.
- 9ece7fe: chore: update dependencies
- Updated dependencies [9ece7fe]
- Updated dependencies [9ece7fe]
  - mcp-use@1.3.1-canary.0

## 0.5.0

### Minor Changes

- 26e1162: Migrated mcp-use server from Express to Hono framework to enable edge runtime support (Cloudflare Workers, Deno Deploy, Supabase Edge Functions). Added runtime detection for Deno/Node.js environments, Connect middleware adapter for compatibility, and `getHandler()` method for edge deployment. Updated dependencies: added `hono` and `@hono/node-server`, moved `connect` and `node-mocks-http` to optional dependencies, removed `express` and `cors` from peer dependencies.

  Added Supabase deployment documentation and example templates to create-mcp-use-app for easier edge runtime deployment.

- 26e1162: ### MCPAgent Message Detection Improvements (fix #446)

  Fixed issue where `agent.run()` returned "No output generated" even when valid output was produced, caused by messages not being AIMessage instances after serialization/deserialization across module boundaries. Added robust message detection helpers (`_isAIMessageLike`, `_isHumanMessageLike`, `_isToolMessageLike`) that handle multiple message formats (class instances, plain objects with `type`/`role` properties, objects with `getType()` methods) to support version mismatches and different LangChain message formats. Includes comprehensive test coverage for message detection edge cases.

  ### Server Base URL Fix

  Fixed server base URL handling to ensure proper connection and routing in edge runtime environments, resolving issues with URL construction and path resolution.

  ### Inspector Enhancements

  Improved auto-connection logic with better error handling and retry mechanisms. Enhanced resource display components and OpenAI component renderer for better reliability and user experience. Updated connection context management for more robust multi-server support.

  ### Supabase Deployment Example

  Added complete Supabase deployment example with Deno-compatible server implementation, deployment scripts, and configuration templates to `create-mcp-use-app` for easier edge runtime deployment.

  ### React Hook and CLI Improvements

  Enhanced `useMcp` hook with better error handling and connection state management for browser-based MCP clients. Updated CLI with improved server URL handling and connection management.

### Patch Changes

- f25018a: Removed non functional setting button and removed tool input formatting that made it annoying to type arrays
- Updated dependencies [26e1162]
- Updated dependencies [26e1162]
  - mcp-use@1.3.0

## 0.5.0-canary.1

### Minor Changes

- 9d0be46: ### MCPAgent Message Detection Improvements (fix #446)

  Fixed issue where `agent.run()` returned "No output generated" even when valid output was produced, caused by messages not being AIMessage instances after serialization/deserialization across module boundaries. Added robust message detection helpers (`_isAIMessageLike`, `_isHumanMessageLike`, `_isToolMessageLike`) that handle multiple message formats (class instances, plain objects with `type`/`role` properties, objects with `getType()` methods) to support version mismatches and different LangChain message formats. Includes comprehensive test coverage for message detection edge cases.

  ### Server Base URL Fix

  Fixed server base URL handling to ensure proper connection and routing in edge runtime environments, resolving issues with URL construction and path resolution.

  ### Inspector Enhancements

  Improved auto-connection logic with better error handling and retry mechanisms. Enhanced resource display components and OpenAI component renderer for better reliability and user experience. Updated connection context management for more robust multi-server support.

  ### Supabase Deployment Example

  Added complete Supabase deployment example with Deno-compatible server implementation, deployment scripts, and configuration templates to `create-mcp-use-app` for easier edge runtime deployment.

  ### React Hook and CLI Improvements

  Enhanced `useMcp` hook with better error handling and connection state management for browser-based MCP clients. Updated CLI with improved server URL handling and connection management.

### Patch Changes

- Updated dependencies [9d0be46]
  - mcp-use@1.3.0-canary.1

## 0.5.0-canary.0

### Minor Changes

- 3db425d: Migrated mcp-use server from Express to Hono framework to enable edge runtime support (Cloudflare Workers, Deno Deploy, Supabase Edge Functions). Added runtime detection for Deno/Node.js environments, Connect middleware adapter for compatibility, and `getHandler()` method for edge deployment. Updated dependencies: added `hono` and `@hono/node-server`, moved `connect` and `node-mocks-http` to optional dependencies, removed `express` and `cors` from peer dependencies.

  Added Supabase deployment documentation and example templates to create-mcp-use-app for easier edge runtime deployment.

### Patch Changes

- f25018a: Removed non functional setting button and removed tool input formatting that made it annoying to type arrays
- Updated dependencies [3db425d]
  - mcp-use@1.3.0-canary.0

## 0.4.13

### Patch Changes

- 9209e99: fix: inspector dependencies
- Updated dependencies [9209e99]
- Updated dependencies [9209e99]
  - mcp-use@1.2.4

## 0.4.13-canary.1

### Patch Changes

- Updated dependencies [8194ad2]
  - mcp-use@1.2.4-canary.1

## 0.4.13-canary.0

### Patch Changes

- 8e2210a: fix: inspector dependencies
- Updated dependencies [8e2210a]
  - mcp-use@1.2.4-canary.0

## 0.4.12

### Patch Changes

- Updated dependencies [410c67c]
- Updated dependencies [410c67c]
  - mcp-use@1.2.3

## 0.4.12-canary.1

### Patch Changes

- Updated dependencies [7d0f904]
  - mcp-use@1.2.3-canary.1

## 0.4.12-canary.0

### Patch Changes

- Updated dependencies [d5ed5ba]
  - mcp-use@1.2.3-canary.0

## 0.4.11

### Patch Changes

- ceed51b: Standardize code formatting with ESLint + Prettier integration
  - Add Prettier for consistent code formatting across the monorepo
  - Integrate Prettier with ESLint via `eslint-config-prettier` to prevent conflicts
  - Configure pre-commit hooks with `lint-staged` to auto-format staged files
  - Add Prettier format checks to CI pipeline
  - Remove `@antfu/eslint-config` in favor of unified root ESLint configuration
  - Enforce semicolons and consistent code style with `.prettierrc.json`
  - Exclude markdown and JSON files from formatting via `.prettierignore`

- ceed51b: Several major updates:
  - `useMCP` now uses `BrowserMCPClient` (previously it relied on the unofficial SDK).
  - Chat functionality works in the Inspector using client-side message handling (LangChain agents run client-side, not in `useMcp` due to browser compatibility limitations).
  - Chat and Inspector tabs share the same connection.
  - The agent in Chat now has memory (previously, it didn't retain context from the ongoing conversation).
  - The client now uses the advertised capability array from the server to determine which functions to call.
    Previously, it would call functions like `list_resource` regardless of whether the server supported them.
  - Added PostHog integration in the docs.
  - Improved error handling throughout the Chat tab and connection process.
  - Fixed Apps SDK widget rendering with proper parameter passing.

- Updated dependencies [ceed51b]
- Updated dependencies [ceed51b]
  - mcp-use@1.2.2

## 0.4.11-canary.1

### Patch Changes

- 3f992c3: Standardize code formatting with ESLint + Prettier integration
  - Add Prettier for consistent code formatting across the monorepo
  - Integrate Prettier with ESLint via `eslint-config-prettier` to prevent conflicts
  - Configure pre-commit hooks with `lint-staged` to auto-format staged files
  - Add Prettier format checks to CI pipeline
  - Remove `@antfu/eslint-config` in favor of unified root ESLint configuration
  - Enforce semicolons and consistent code style with `.prettierrc.json`
  - Exclude markdown and JSON files from formatting via `.prettierignore`

- Updated dependencies [3f992c3]
  - mcp-use@1.2.2-canary.1

## 0.4.11-canary.0

### Patch Changes

- 38d3c3c: Several major updates:
  - `useMCP` now uses `BrowserMCPClient` (previously it relied on the unofficial SDK).
  - Chat functionality works in the Inspector using client-side message handling (LangChain agents run client-side, not in `useMcp` due to browser compatibility limitations).
  - Chat and Inspector tabs share the same connection.
  - The agent in Chat now has memory (previously, it didn't retain context from the ongoing conversation).
  - The client now uses the advertised capability array from the server to determine which functions to call.
    Previously, it would call functions like `list_resource` regardless of whether the server supported them.
  - Added PostHog integration in the docs.
  - Improved error handling throughout the Chat tab and connection process.
  - Fixed Apps SDK widget rendering with proper parameter passing.

- Updated dependencies [38d3c3c]
  - mcp-use@1.2.2-canary.0

## 0.4.10

### Patch Changes

- 9e555ef: fix: inspector deps
  - mcp-use@1.2.1

## 0.4.10-canary.0

### Patch Changes

- a5a6919: fix: inspector deps
  - mcp-use@1.2.1-canary.0

## 0.4.9

### Patch Changes

- 708cc5b: fix: enhance widget CSP handling and security headers
- 708cc5b: chore: update langchain dependencies
- 708cc5b: fix: apps sdk metadata setup from widget build
- Updated dependencies [708cc5b]
- Updated dependencies [708cc5b]
- Updated dependencies [708cc5b]
- Updated dependencies [708cc5b]
- Updated dependencies [708cc5b]
- Updated dependencies [708cc5b]
  - mcp-use@1.2.0

## 0.4.9-canary.7

### Patch Changes

- a8e5b65: fix: apps sdk metadata setup from widget build
- Updated dependencies [a8e5b65]
  - mcp-use@1.2.0-canary.6

## 0.4.9-canary.6

### Patch Changes

- Updated dependencies [940d727]
  - mcp-use@1.2.0-canary.5

## 0.4.9-canary.5

### Patch Changes

- b9b739b: chore: update langchain dependencies
  - mcp-use@1.2.0-canary.4

## 0.4.9-canary.4

### Patch Changes

- Updated dependencies [da6e7ed]
  - mcp-use@1.2.0-canary.3

## 0.4.9-canary.3

### Patch Changes

- Updated dependencies [3f2d2e9]
  - mcp-use@1.2.0-canary.2

## 0.4.9-canary.2

### Patch Changes

- Updated dependencies [5dd503f]
  - mcp-use@1.2.0-canary.1

## 0.4.9-canary.1

### Patch Changes

- 3b72cde: fix: enhance widget CSP handling and security headers

## 0.4.9-canary.0

### Patch Changes

- Updated dependencies [b24a213]
  - mcp-use@1.2.0-canary.0

## 0.4.8

### Patch Changes

- 80213e6: ## Widget Integration & Server Enhancements
  - Enhanced widget integration capabilities in MCP server with improved handling
  - Streamlined widget HTML generation with comprehensive logging
  - Better server reliability and error handling for widget operations

  ## CLI Tunnel Support & Development Workflow
  - Added comprehensive tunnel support to CLI for seamless server exposure
  - Enhanced development workflow with tunnel integration capabilities
  - Disabled tunnel in dev mode for optimal Vite compatibility

  ## Inspector UI & User Experience Improvements
  - Enhanced inspector UI components with better tunnel URL handling
  - Improved user experience with updated dependencies and compatibility
  - Better visual feedback and error handling in inspector interface

  ## Technical Improvements
  - Enhanced logging capabilities throughout the system
  - Improved error handling and user feedback mechanisms
  - Updated dependencies for better stability and performance

- Updated dependencies [80213e6]
- Updated dependencies [80213e6]
  - mcp-use@1.1.8

## 0.4.8-canary.1

### Patch Changes

- 370120e: ## Widget Integration & Server Enhancements
  - Enhanced widget integration capabilities in MCP server with improved handling
  - Streamlined widget HTML generation with comprehensive logging
  - Better server reliability and error handling for widget operations

  ## CLI Tunnel Support & Development Workflow
  - Added comprehensive tunnel support to CLI for seamless server exposure
  - Enhanced development workflow with tunnel integration capabilities
  - Disabled tunnel in dev mode for optimal Vite compatibility

  ## Inspector UI & User Experience Improvements
  - Enhanced inspector UI components with better tunnel URL handling
  - Improved user experience with updated dependencies and compatibility
  - Better visual feedback and error handling in inspector interface

  ## Technical Improvements
  - Enhanced logging capabilities throughout the system
  - Improved error handling and user feedback mechanisms
  - Updated dependencies for better stability and performance

- Updated dependencies [370120e]
  - mcp-use@1.1.8-canary.1

## 0.4.8-canary.0

### Patch Changes

- Updated dependencies [3074165]
  - mcp-use@1.1.8-canary.0

## 0.4.7

### Patch Changes

- 3c87c42: ## Apps SDK widgets & Automatic Widget Registration

  ### Key Features Added

  #### Automatic UI Widget Registration
  - **Major Enhancement**: React components in `resources/` folder now auto-register as MCP tools and resources
  - No boilerplate needed, just export `widgetMetadata` with Zod schema
  - Automatically creates both MCP tool and `ui://widget/{name}` resource endpoints
  - Integration with existing manual registration patterns

  #### Template System Restructuring
  - Renamed `ui-resource` → `mcp-ui` for clarity
  - Consolidated `apps-sdk-demo` into streamlined `apps-sdk` template
  - Enhanced `starter` template as default with both MCP-UI and Apps SDK examples
  - Added comprehensive weather examples to all templates

  #### 📚 Documentation Enhancements
  - Complete rewrite of template documentation with feature comparison matrices
  - New "Automatic Widget Registration" section in ui-widgets.mdx
  - Updated quick start guides for all package managers (npm, pnpm, yarn)
  - Added practical weather widget implementation examples

- Updated dependencies [3c87c42]
  - mcp-use@1.1.7

## 0.4.7-canary.0

### Patch Changes

- 6b8fdf2: ## Apps SDK widgets & Automatic Widget Registration

  ### Key Features Added

  #### Automatic UI Widget Registration
  - **Major Enhancement**: React components in `resources/` folder now auto-register as MCP tools and resources
  - No boilerplate needed, just export `widgetMetadata` with Zod schema
  - Automatically creates both MCP tool and `ui://widget/{name}` resource endpoints
  - Integration with existing manual registration patterns

  #### Template System Restructuring
  - Renamed `ui-resource` → `mcp-ui` for clarity
  - Consolidated `apps-sdk-demo` into streamlined `apps-sdk` template
  - Enhanced `starter` template as default with both MCP-UI and Apps SDK examples
  - Added comprehensive weather examples to all templates

  #### 📚 Documentation Enhancements
  - Complete rewrite of template documentation with feature comparison matrices
  - New "Automatic Widget Registration" section in ui-widgets.mdx
  - Updated quick start guides for all package managers (npm, pnpm, yarn)
  - Added practical weather widget implementation examples

- Updated dependencies [6b8fdf2]
  - mcp-use@1.1.7-canary.0

## 0.4.6

### Patch Changes

- 696b2e1: fix ph use ph-node
- 696b2e1: fix scarf
- 696b2e1: The main changes ensure that the proxy does not request or forward compressed responses and that problematic headers are filtered out when forwarding responses.
- 696b2e1: fix logging
- 696b2e1: add ph
- 696b2e1: chore: cleanup logging
- Updated dependencies [696b2e1]
- Updated dependencies [696b2e1]
  - mcp-use@1.1.6

## 0.4.6-canary.7

### Patch Changes

- 21a46d0: fix logging

## 0.4.6-canary.6

### Patch Changes

- c0d9b0b: chore: cleanup logging

## 0.4.6-canary.5

### Patch Changes

- 1f18132: fix ph use ph-node

## 0.4.6-canary.4

### Patch Changes

- f958d73: The main changes ensure that the proxy does not request or forward compressed responses and that problematic headers are filtered out when forwarding responses.

## 0.4.6-canary.3

### Patch Changes

- 6010d08: fix scarf

## 0.4.6-canary.2

### Patch Changes

- Updated dependencies [60f20cb]
  - mcp-use@1.1.6-canary.1

## 0.4.6-canary.1

### Patch Changes

- 3d759e9: add ph

## 0.4.6-canary.0

### Patch Changes

- Updated dependencies [6960f7f]
  - mcp-use@1.1.6-canary.0

## 0.4.5

### Patch Changes

- 6dcee78: fix inspector chat formatting
- Updated dependencies [6dcee78]
  - mcp-use@1.1.5

## 0.4.5-canary.0

### Patch Changes

- d397711: fix inspector chat formatting
  - mcp-use@1.1.5-canary.0

## 0.4.4

### Patch Changes

- 09d1e45: fix: inspector chat
- 09d1e45: fix inspector shadow
  - mcp-use@1.1.4

## 0.4.4-canary.1

### Patch Changes

- f88801a: fix inspector shadow

## 0.4.4-canary.0

### Patch Changes

- f11f846: fix: inspector chat
  - mcp-use@1.1.4-canary.0

## 0.4.3

### Patch Changes

- 4852465: ## Inspector Package

  ### Major Refactoring and Improvements
  - **Server Architecture**: Refactored server code with major improvements to routing and middleware
    - Removed legacy `mcp-inspector.ts` file in favor of modular architecture
    - Added new `cli.ts` for improved command-line interface handling
    - Added `utils.ts` and `shared-utils-browser.ts` for better code organization
    - Enhanced `shared-routes.ts` with improved route handling and error management
    - Streamlined middleware for better performance

  ### Apps SDK Support
  - Enhanced widget data handling and state management
  - Added `readResource` method in MCPInspector for fetching resources based on server ID
  - Integrated widget data storage and retrieval in inspector routes
  - Enhanced OpenAI component renderer to utilize serverId and readResource for improved functionality
  - Added error handling for widget data storage with detailed logging
  - Improved safe data serialization for widget state management

  ### UI/UX Improvements
  - Enhanced `ConnectionSettingsForm` with copy configuration feature and improved paste functionality for auto-populating form fields with JSON configuration
  - Updated `OpenAIComponentRenderer` to dynamically adjust iframe height based on content
  - Improved resource display with duration metrics and enhanced badge styling
  - Added proper error handling and type safety across components
  - Enhanced `LayoutHeader` with dynamic badge styling for better visual feedback
  - Fixed scrollable tool parameters for better user experience
  - Added mobile-responsive hiding features

  ### Component Enhancements
  - Updated `ResourceResultDisplay` to support OpenAI components with proper metadata handling
  - Enhanced `MessageList` and `ToolResultRenderer` with serverId and readResource props
  - Improved `ToolExecutionPanel` layout with better spacing and styling consistency
  - Replaced static error messages with reusable `NotFound` component
  - Added tooltip support for better user guidance

  ### Bug Fixes
  - Fixed inspector mounting logic by simplifying server URL handling
  - Fixed linting issues across multiple components
  - Fixed server configuration for improved stability

## 0.4.3-canary.1

### Patch Changes

- 0203a77: fix lint
- ebf1814: fix server of inspector
- Updated dependencies [cb60eef]
  - mcp-use@1.1.3-canary.1

## 0.4.3-canary.0

### Patch Changes

- d171bf7: feat/app-sdk
- Updated dependencies [d171bf7]
  - mcp-use@1.1.3-canary.0

## 0.4.2

### Patch Changes

- abb7f52: ## Enhanced MCP Inspector with Auto-Connection and Multi-Server Support

  ### 🚀 New Features
  - **Auto-connection functionality**: Inspector now automatically connects to MCP servers on startup
  - **Multi-server support**: Enhanced support for connecting to multiple MCP servers simultaneously
  - **Client-side chat functionality**: New client-side chat implementation with improved message handling
  - **Resource handling**: Enhanced chat components with proper resource management
  - **Browser integration**: Improved browser-based MCP client with better connection handling

  ### 🔧 Improvements
  - **Streamlined routing**: Refactored server and client routing for better performance
  - **Enhanced connection handling**: Improved auto-connection logic and error handling
  - **Better UI components**: Updated Layout, ChatTab, and ToolsTab components
  - **Dependency updates**: Updated various dependencies for better compatibility

  ### 🐛 Fixes
  - Fixed connection handling in InspectorDashboard
  - Improved error messages in useMcp hook
  - Enhanced Layout component connection handling

  ### 📦 Technical Changes
  - Added new client-side chat hooks and components
  - Implemented shared routing and static file handling
  - Enhanced tool result rendering and display
  - Added browser-specific utilities and stubs
  - Updated Vite configuration for better development experience

- Updated dependencies [abb7f52]
  - mcp-use@1.1.2

## 0.4.2-canary.0

### Patch Changes

- d52c050: ## Enhanced MCP Inspector with Auto-Connection and Multi-Server Support

  ### 🚀 New Features
  - **Auto-connection functionality**: Inspector now automatically connects to MCP servers on startup
  - **Multi-server support**: Enhanced support for connecting to multiple MCP servers simultaneously
  - **Client-side chat functionality**: New client-side chat implementation with improved message handling
  - **Resource handling**: Enhanced chat components with proper resource management
  - **Browser integration**: Improved browser-based MCP client with better connection handling

  ### 🔧 Improvements
  - **Streamlined routing**: Refactored server and client routing for better performance
  - **Enhanced connection handling**: Improved auto-connection logic and error handling
  - **Better UI components**: Updated Layout, ChatTab, and ToolsTab components
  - **Dependency updates**: Updated various dependencies for better compatibility

  ### 🐛 Fixes
  - Fixed connection handling in InspectorDashboard
  - Improved error messages in useMcp hook
  - Enhanced Layout component connection handling

  ### 📦 Technical Changes
  - Added new client-side chat hooks and components
  - Implemented shared routing and static file handling
  - Enhanced tool result rendering and display
  - Added browser-specific utilities and stubs
  - Updated Vite configuration for better development experience

- Updated dependencies [d52c050]
  - mcp-use@1.1.2-canary.0

## 0.4.1

### Patch Changes

- 3670ed0: minor fixes
- 3670ed0: minor
- Updated dependencies [3670ed0]
- Updated dependencies [3670ed0]
  - mcp-use@1.1.1

## 0.4.1-canary.1

### Patch Changes

- a571b5c: minor
- Updated dependencies [a571b5c]
  - mcp-use@1.1.1-canary.1

## 0.4.1-canary.0

### Patch Changes

- 4ad9c7f: minor fixes
- Updated dependencies [4ad9c7f]
  - mcp-use@1.1.1-canary.0

## 0.4.0

### Minor Changes

- 0f2b7f6: reafctor: Refactor Inpector to be aligned with mcp-use-ts
  - Migrated from CommonJS to ESM format
  - Added input validation for port and URL
  - Improved error handling and logging
  - Added `open` package for cross-platform browser launching
  - Chat components: `AssistantMessage`, `UserMessage`, `ToolCallDisplay`, `MCPUIResource`, `MessageList`
  - UI components: `aurora-background`, `text-shimmer`, `sheet`, `switch`, `kbd`, `shimmer-button`, `status-dot`
  - Form components: `ConnectionSettingsForm`, `ServerDropdown`
  - Tool components: `ToolExecutionPanel`, `ToolResultDisplay`, `SaveRequestDialog`
  - Resource components: `ResourceResultDisplay`, `ResourcesList`
  - Reorganized component structure (moved to `src/client/components/`)
  - Refactored `ChatTab` to use streaming API and custom hooks
  - Enhanced `InspectorDashboard` with auto-connect functionality
  - Improved `CommandPalette` with better item selection
  - Updated routing to use query parameters
  - Updated `@types/node` to 20.19.21
  - Upgraded `@typescript-eslint` packages to 8.46.1
  - Added `inquirer@9.3.8` and `ora@8.2.0` for better CLI experience
  - Removed `AddServerDialog` and `ServerSelectionModal` to streamline UI
  - Cleaned up obsolete TypeScript declaration files

  fix: CLI binary format and package configuration
  - Changed CLI build format from CommonJS to ESM for ESM-only dependency compatibility
  - Added prepublishOnly hook to ensure build before publishing
  - Updated documentation references from @mcp-use/inspect to @mcp-use/inspector
  - Removed compiled artifacts from source directory
  - Added input validation for port and URL arguments
  - Improved error logging in API routes
  - Fixed async/await bugs in static file serving

### Patch Changes

- Updated dependencies [0f2b7f6]
  - mcp-use@1.1.0

## 0.3.9

### Patch Changes

- Updated dependencies [55dfebf]
  - mcp-use@1.0.5

## 0.3.8

### Patch Changes

- fix: support multiple clients per server
- Updated dependencies
  - mcp-use@1.0.4

## 0.3.7

### Patch Changes

- fix: export server from mcp-use/server due to edge runtime
- Updated dependencies
  - mcp-use@1.0.3

## 0.3.6

### Patch Changes

- Updated dependencies [3bd613e]
  - mcp-use@1.0.2

## 0.3.5

### Patch Changes

- 8e92eaa: Bump version to fix npm publish issue - version 0.3.3 was already published

## 0.3.4

### Patch Changes

- Bump version to fix npm publish issue - version 0.3.3 was already published

## 0.3.3

### Patch Changes

- 1310533: add MCP server feature to mcp-use + add mcp-use inspector + add mcp-use cli build and deployment tool + add create-mcp-use-app for scaffolding mcp-use apps
- Updated dependencies [1310533]
  - mcp-use@1.0.1

## 0.3.2

### Patch Changes

- 6fa0026: Fix cli dist

## 0.3.1

### Patch Changes

- 04b9f14: Update versions

## 0.3.0

### Minor Changes

- Update dependecies versions

### Patch Changes

- mcp-use@1.0.0

## 0.2.1

### Patch Changes

- db54528: Migrated build system from tsc to tsup for faster builds (10-100x improvement) with dual CJS/ESM output support. This is an internal change that improves build performance without affecting the public API.
- Updated dependencies [db54528]
- Updated dependencies [db54528]
  - mcp-use@0.3.0
