# @mcp-use/cli

## 3.2.0

### Minor Changes

- 46caf80: feat(cli): borderless aligned-columns table rendering, gh/kubectl style

  Replaced the box-drawing ASCII table in `mcp-use client {tools,resources,prompts,sessions} list` with a borderless layout: UPPERCASE bold headers, two-space gutter between columns, ANSI-stripped width math, ellipsis truncation for long descriptions, sized to the terminal width (or 100 cols). Tool rows now also show a `MODE` column (read-only / write / destructive, derived from the tool's MCP annotations) and an `ARGS` column (required/total).

  When stdout is not a TTY (pipes, agents, CI), every list command instead emits tab-separated values with no header, no decorative banners, and no ANSI — matching how the GitHub CLI behaves. This makes the CLI directly parseable by AI agents and shell pipelines.

- 46caf80: feat(cli)!: drop the "active session" model — every `client` command now takes a name

  The CLI client used to track an implicit "active session" that you switched
  between with `client sessions switch`. Per-command flags like `--session` and
  `--name` were sprinkled around to override it. The active state was hidden,
  easy to get wrong, and forced every subcommand to handle "no session" as a
  real case.

  It's gone. The client name is now a required positional, and every
  per-client command lives under `mcp-use client <name> <scope> <action>`:

  ```bash
  # Before
  mcp-use client connect https://mcp.manufact.com --name manufact
  mcp-use client tools list
  mcp-use client tools call read_file path=/x --session manufact
  mcp-use client sessions list
  mcp-use client sessions switch other-server
  mcp-use client disconnect --all

  # After
  mcp-use client connect manufact https://mcp.manufact.com
  mcp-use client manufact tools list
  mcp-use client manufact tools call read_file path=/x
  mcp-use client list
  mcp-use client other-server <action>   # name addresses any saved client directly
  mcp-use client manufact disconnect     # disconnect one at a time
  ```

  **Breaking changes:**
  - `client connect <url> --name <name>` → `client connect <name> <url>` (name is required, positional).
  - `--session <name>` is removed from every per-client subcommand; the name comes from the path instead.
  - `client sessions list` → `client list`.
  - `client sessions switch` is removed — there is no active client to switch.
  - `client disconnect --all` is removed; disconnect each client by name.
  - `mcp-use screenshot` no longer falls back to the active session; pass `--session <name>` or `--mcp <url>` explicitly.

  Existing `~/.mcp-use/cli-sessions.json` files keep working; the now-unused
  `activeSession` field is silently ignored on load.

  The CLI also gives clearer feedback for the common shape mistakes the new
  syntax invites — passing only a URL to `connect`, forgetting the client
  name before a per-client scope (`mcp-use client tools call foo`), or
  typing an unknown subcommand — instead of the bare commander defaults.

- 46caf80: feat(cli): add `--device-scale-factor <n>` to `mcp-use client screenshot` (both ad-hoc and per-server forms) and `--screenshot-device-scale-factor <n>` to `mcp-use client <name> tools call` for capturing high-DPI widget screenshots (e.g. Retina-style 2x). Defaults to 1, so existing behavior is unchanged. Accepts fractional values; bounded to (0, 4].
- 46caf80: feat(cli)!: make widget screenshot opt-in on `mcp-use client <name> tools call`. The `--no-screenshot` flag is replaced by `--screenshot`. By default, tool calls no longer capture a PNG of any rendered widget; when a tool declares a UI resource and `--screenshot` is omitted, the CLI prints a hint suggesting the flag. Passing `--screenshot-output` or `--screenshot-device-scale-factor` implies `--screenshot`. Breaking: scripts/agents relying on auto-capture must add `--screenshot`.
- 46caf80: feat(cli): move `screenshot` under `client` and require an explicit session name

  The standalone `mcp-use screenshot` command has been folded into `mcp-use client`, with two forms:
  - **Saved-server form:** `mcp-use client <name> screenshot --tool <tool>` reuses the auth from `mcp-use client connect`. The `--session` flag is gone — the server name is now the explicit positional that every other `mcp-use client <name> ...` command already takes.
  - **Ad-hoc form:** `mcp-use client screenshot --mcp <url> --tool <tool>` keeps `-H/--header` for authenticating one-off captures. Useful for programmatic / CI use that doesn't want to first save a server with `mcp-use client connect`.

  **Breaking changes:**
  - `mcp-use screenshot ...` no longer exists. Use `mcp-use client <name> screenshot ...` (saved server) or `mcp-use client screenshot --mcp <url> ...` (ad-hoc).
  - The `--session <name>` flag is removed. The saved-server name is the positional in `mcp-use client <name> screenshot`.
  - `screenshot` is now a reserved name and can't be used as a saved-server name.

  This mirrors the rest of the `mcp-use client` surface after the removal of the implicit "active session" model — every per-server command takes the server name as its first positional argument.

- 46caf80: feat(cli): accept `key=value` args for `client tools call` and `client prompts get`

  Previously the only way to pass arguments to a tool or prompt was a single
  JSON-encoded string, which is brittle for both humans (shell escaping) and
  agents (extra JSON-stringify step, easy to get wrong). Now each argument is a
  variadic positional in `key=value` form, with types coerced from the tool's
  input schema (`number`, `integer`, `boolean`, `array`, `object`, `string`,
  nullable unions). For nested objects or arrays, `key:=<json>` (httpie-style)
  forces the value to be parsed as JSON.

  ```bash
  # Before
  mcp-use client tools call greet '{"name":"world","count":3,"enabled":true}'

  # After
  mcp-use client tools call greet name=world count=3 enabled=true

  # Nested values
  mcp-use client tools call create-doc title=hello meta:='{"tags":["a","b"]}'
  ```

  The legacy single-JSON-object form is still accepted for backward
  compatibility (a single positional starting with `{` is parsed as a JSON
  object), and a leading `--` on a key is stripped if present (`--name=world`
  works the same as `name=world`). The same syntax applies to
  `mcp-use client prompts get`. Error messages now show usage examples and the
  target tool's schema so agents can self-correct.

- 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.

- 46caf80: feat(auth): Node OAuth client provider + CLI OAuth flow

  Adds a real OAuth flow to the `mcp-use` CLI. `mcp-use client connect <url>`
  against an OAuth-protected MCP server now opens a browser, captures the
  authorization code via a localhost loopback, persists tokens to
  `~/.mcp-use/oauth/<urlHash>/`, and silently refreshes them on subsequent
  commands — no flag plumbing.

  New on `mcp-use`:
  - `mcp-use/auth/node` entrypoint exporting `NodeOAuthClientProvider`,
    `FileKVStore`, the `KVStore` type, and re-exporting the SDK's `auth` and
    `UnauthorizedError`.
  - `NodeOAuthClientProvider` implements `OAuthClientProvider`, owns the
    loopback callback server (preferred port 33418, walks up to 33427 on
    conflict, persisted across runs), and exposes `getAuthorizationCode()`
    for the orchestrator pattern in `useMcp.ts`.
  - `FileKVStore` writes tokens, client info, and code verifiers to one file
    per key under `~/.mcp-use/oauth/<urlHash>/` with `0o600` perms and atomic
    rename on write.

  New on `@mcp-use/cli`:
  - `mcp-use client connect <url>` auto-runs OAuth on `UnauthorizedError`
    when no `--auth` is supplied. New flags: `--no-oauth`, `--auth-timeout`.
  - `mcp-use client auth status|refresh|logout [session]` for token
    introspection, forced refresh, and revocation. (No `auth login` — that's
    what `connect` is for.)
  - Follow-up commands (`tools list`, etc.) on OAuth sessions transparently
    refresh expiring JWTs. If the refresh token itself is dead, the CLI
    prompts to re-auth on TTY or prints the exact `connect` command to run
    on non-TTY.

- 46caf80: feat(cli): add `--header` / `-H` to `mcp-use screenshot` for authenticated `--mcp <url>` servers

  `mcp-use screenshot --mcp <url>` now accepts repeatable `-H, --header "Key: Value"` flags (curl-style), letting you screenshot authenticated MCP servers without first running `mcp-use client connect`. The most common use is a static bearer token:

  ```
  mcp-use screenshot --tool show-board \
    --mcp https://my-mcp.example.com/mcp \
    -H "Authorization: Bearer $TOKEN"
  ```

  Headers are only honored with `--mcp <url>`; passing `--header` alongside `--session` (or the active saved session) errors with a clear message, since saved sessions already carry their own OAuth/bearer auth from `mcp-use client connect`. Header values are split on the first `:` only, so colons inside the value (e.g. ISO timestamps) are preserved. Whitespace around key and value is trimmed.

### Patch Changes

- 46caf80: Remove unused dependencies and devDependencies flagged by `knip`.
  - Root: drop `lint-staged` and `typescript-eslint` (unused; ESLint config uses `@typescript-eslint/eslint-plugin` and `@typescript-eslint/parser` directly, and Husky pre-commit runs `pnpm format`/`lint:fix` directly without lint-staged). Removed the stale root `lint-staged` config block.
  - `@mcp-use/cli`: drop `globby`, `ws`, `@types/ws` (no source references; `globby` was explicitly replaced by Node built-ins). Removed `globby` from `tsup.config.ts` `noExternal`.
  - `create-mcp-use-app`: drop `fs-extra` and `@types/fs-extra` (no source references).
  - `mcp-use`: drop `ws`, `@types/ws`, `@antfu/eslint-config`, `@langchain/anthropic` (devDep — already an optional peer; only referenced as a string for dynamic import), `eslint-plugin-format`, `lint-staged`. Removed the stale package-level `lint-staged` config block.
  - `knip.json`: ignore `@mcp-use/inspector` for the `cli` package (resolved dynamically via `createRequire().resolve` to read its `package.json`).

  `pnpm knip:deps` now reports 0 unused (dev)dependencies. `pnpm install --frozen-lockfile`, `pnpm lint`, and `pnpm build` all succeed.

- 46caf80: fix(cli): exit cleanly after `client` subcommands so headless agents don't hang

  Each `mcp-use client` subcommand spins up a fresh `MCPClient` + HTTP/SSE
  transport per process invocation but never closed it before returning, so
  the underlying socket kept the Node event loop alive and the CLI process
  hung after `tools list`, `tools call`, `resources read`, etc. — making the
  client unusable for headless / agent-driven flows.

  Each one-shot subcommand now closes its in-memory sessions and exits at
  the end. Long-running commands (`subscribe`, `interactive`) are unchanged
  and still keep the loop alive until Ctrl+C / `quit`.

- 46caf80: feat(cli): add `mcp-use client remove <name>` to drop a saved server

  Saved servers could be added (`client connect`) and listed (`client list`),
  but the only way to delete one was to hand-edit
  `~/.mcp-use/cli-sessions.json`. `client remove <name>` now does this: it
  errors if no server by that name exists, closes any in-process connection,
  deletes the entry, and — for OAuth-authenticated servers — also revokes
  the stored tokens for that URL. If another saved server still points at
  the same URL the tokens are kept (they're URL-keyed, so wiping them would
  break the sibling); the CLI prints which sibling is keeping them alive.

- 46caf80: refactor(cli): user-facing copy now calls saved entries "servers" instead of "clients"

  The CLI itself is the MCP client; the things it connects to are MCP
  servers. The old copy referred to saved connections as "saved clients" /
  "named clients", which is backwards and confused users.

  User-facing strings (help text, error messages, table headers, REPL
  prompts, docs) now consistently say "server" / "saved server". The
  `mcp-use client` command name is unchanged — it's still the entry point
  for client-side operations — so this is purely a wording change and no
  scripts break.

- 46caf80: fix(cli): reject saved-server names that collide with per-server scope tokens

  `mcp-use client <name> ...` routes any name that isn't a reserved subcommand
  (`connect`, `list`, `remove`, `help`) to the per-server command tree. If a
  user saved a server under one of the scope names — `tools`, `resources`,
  `prompts`, `auth`, `disconnect`, `interactive` — every invocation against
  that name would instead be caught by the "missing server name" routing and
  the saved entry would be unreachable.

  `client connect` now refuses those names up front with the list of reserved
  names and a suggested rename, instead of silently saving an entry that can
  never be addressed.

- 46caf80: fix(cli): show a "not found, here's how to connect" message instead of the per-server help when `mcp-use client <name>` targets an unknown server

  Running `mcp-use client <name>` with no subcommand used to fall through to
  commander's per-server help — listing `tools`, `resources`, `prompts`, etc.
  That help is only useful once the server actually exists; for a name the
  user hasn't connected yet it just leaks the subcommand surface without
  telling them how to make the name resolve.

  When the name doesn't match a saved server, the CLI now prints the
  `client connect <name> <url>` hint (plus a pointer to `client list`) and
  exits non-zero. The per-server help is still shown when the server exists.

- 46caf80: fix(cli): stop auto-opening the browser during OAuth flows

  When an `mcp-use client` command needed to authenticate against an OAuth
  server it would launch the user's browser via the `open` package on TTYs,
  and only print the URL when stdout wasn't a TTY. That was surprising in two
  directions: scripts that did happen to inherit a TTY got pop-up windows, and
  the heuristic missed plenty of agentic/CI environments that _do_ keep a TTY
  attached. The CLI now always prints the authorization URL and waits on the
  loopback callback — the user opens the link themselves whenever it's
  convenient. (Other CLI surfaces that intentionally open a browser, like
  `mcp-use deploy --open` and the auth login flow, are unchanged.)

- 46caf80: fix(cli): don't auto-open a browser for OAuth in non-TTY contexts

  When `mcp-use client connect` (or a session restore) hits an OAuth flow,
  the CLI used to launch the user's browser unconditionally. That's the
  right call from an interactive terminal, but surprising when an LLM
  agent or a CI script runs the same command — the agent has no way to
  "see" the browser, and the user gets an unexpected window.

  `stdout.isTTY` now gates the browser launch:
  - TTY: opens the browser as before.
  - Non-TTY: prints the authorization URL to stderr and waits on the
    loopback callback, so the caller (human or agent) can hand the URL
    off however it wants.

  The leading "→ Opening browser to authenticate..." message is also
  adjusted to "→ OAuth authentication required." in non-TTY mode so the
  log doesn't claim a browser was opened when it wasn't.

- 46caf80: chore(cli): rename "mcp-use cloud" to "Manufact cloud" in login command output

  `mcp-use login --help` now says "Login to Manufact cloud" and the body banner reads "Logging in to Manufact cloud..." — matching the existing wording used by `logout` and `deploy`.

- 46caf80: fix(cli): tests no longer touch the developer's real `~/.mcp-use` directory

  Two leaks are closed:
  - `session-storage.test.ts` computed its target path from `os.homedir()` and `rmSync`'d it in `beforeEach`/`afterEach`, so running `pnpm test` during local development deleted any saved clients on disk. The tests now mock `node:os.homedir` to a per-process temp directory.
  - `cli-integration.test.ts` spawned the real CLI as a subprocess and so read the developer's real `cli-sessions.json` when running `client list`. `runCLI` now sets `HOME` (and `USERPROFILE`) to an isolated temp dir for every spawn.

- 46caf80: fix(cli): stop printing tool results twice when servers return structuredContent

  Per the MCP spec, a tool that returns `structuredContent` SHOULD also serialize
  the same JSON into a `TextContent` block for backwards compatibility. The
  client was rendering both, so every call to a structured-output tool printed
  the JSON payload twice.

  `mcp-use client <name> tools call ...` now treats `structuredContent` as the
  canonical form: when it's present, duplicate `TextContent` blocks are
  suppressed and only the structured JSON is shown. Non-text content blocks
  (image, resource) are still rendered alongside the structured payload — they
  carry information the structured form doesn't.

- 46caf80: fix(cli): surface tool call error details in `client tools call`

  Previously when a tool call returned `isError: true`, the CLI showed
  only "✗ Tool execution failed" without making it clear that the
  following content was the error message — and printed nothing at all
  when the server returned no content. Both human users and agent
  callers had no way to debug what went wrong.

  The output now labels the error content explicitly ("Error details:"),
  colors text content red, surfaces `structuredContent` when present,
  and falls back to "(no error details provided by server)" if the
  server returned neither. Connection-level failures (caught Errors)
  now also print any attached `data` payload.

- 46caf80: fix(cli): exit non-zero when `client tools call` returns `isError: true`

  `mcp-use client tools call <tool>` printed "✗ Tool execution failed"
  but still exited 0, so headless agents and shell pipelines couldn't
  distinguish a successful tool call from a failed one. The command now
  exits 1 when the tool result has `isError: true`, in both default and
  `--json` output modes. The result content is still printed first so the
  failure detail remains visible.

- 46caf80: fix(auth): handle SDK-initiated OAuth redirect on 401 in CLI connect

  The SDK's `StreamableHTTPClientTransport` auto-calls `auth()` on a 401, which
  in turn calls our `redirectToAuthorization()` — binding the loopback and
  opening the browser before the transport throws. Two fixes so the CLI's
  `connect` command picks up where the SDK left off instead of dying:
  - `NodeOAuthClientProvider` exposes `hasPendingFlow` so orchestrators can
    detect that the SDK already kicked off the flow and skip straight to
    `getAuthorizationCode()` (calling `auth()` again would throw "an
    authorization is already in progress").
  - `mcp-use client connect`'s `runOAuthFlow` uses `hasPendingFlow` to skip
    the duplicate `auth()` call, and `isUnauthorized` now also matches the
    rewrapped 401 that `HttpConnector` throws (plain `Error` with `code = 401`).

  Without these, the first connect to an OAuth-protected server printed
  "Authentication required" and `process.exit(1)`'d before the browser
  callback returned — leaving the user staring at a "connection refused"
  loopback page.

- 46caf80: fix(cli): error when `client screenshot` omits required tool arguments

  `mcp-use client screenshot --tool <tool>` (and `mcp-use client <name>
screenshot --tool <tool>`) silently produced a blank PNG and exited 0
  when the target tool declared required arguments but none were passed.
  The command now mirrors `client tools call`: it prints "This tool
  requires arguments." along with the tool schema and exits 1, before
  launching the inspector or browser.

- 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]
- Updated dependencies [46caf80]
- Updated dependencies [46caf80]
  - mcp-use@1.28.0
  - @mcp-use/inspector@6.0.0

## 3.2.0-canary.15

### Patch Changes

- c3da11e: chore(cli): rename "mcp-use cloud" to "Manufact cloud" in login command output

  `mcp-use login --help` now says "Login to Manufact cloud" and the body banner reads "Logging in to Manufact cloud..." — matching the existing wording used by `logout` and `deploy`.
  - mcp-use@1.28.0-canary.15
  - @mcp-use/inspector@6.0.0-canary.15

## 3.2.0-canary.14

### Minor Changes

- e124d58: feat(cli)!: make widget screenshot opt-in on `mcp-use client <name> tools call`. The `--no-screenshot` flag is replaced by `--screenshot`. By default, tool calls no longer capture a PNG of any rendered widget; when a tool declares a UI resource and `--screenshot` is omitted, the CLI prints a hint suggesting the flag. Passing `--screenshot-output` or `--screenshot-device-scale-factor` implies `--screenshot`. Breaking: scripts/agents relying on auto-capture must add `--screenshot`.

### Patch Changes

- mcp-use@1.28.0-canary.14
- @mcp-use/inspector@6.0.0-canary.14

## 3.2.0-canary.13

### Patch Changes

- 03612f1: fix(cli): error when `client screenshot` omits required tool arguments

  `mcp-use client screenshot --tool <tool>` (and `mcp-use client <name>
screenshot --tool <tool>`) silently produced a blank PNG and exited 0
  when the target tool declared required arguments but none were passed.
  The command now mirrors `client tools call`: it prints "This tool
  requires arguments." along with the tool schema and exits 1, before
  launching the inspector or browser.
  - mcp-use@1.28.0-canary.13
  - @mcp-use/inspector@6.0.0-canary.13

## 3.2.0-canary.12

### Minor Changes

- 2ef0a90: feat(cli): add `--device-scale-factor <n>` to `mcp-use client screenshot` (both ad-hoc and per-server forms) and `--screenshot-device-scale-factor <n>` to `mcp-use client <name> tools call` for capturing high-DPI widget screenshots (e.g. Retina-style 2x). Defaults to 1, so existing behavior is unchanged. Accepts fractional values; bounded to (0, 4].

### Patch Changes

- mcp-use@1.28.0-canary.12
- @mcp-use/inspector@6.0.0-canary.12

## 3.2.0-canary.11

### Minor Changes

- fb50dbb: feat(cli): move `screenshot` under `client` and require an explicit session name

  The standalone `mcp-use screenshot` command has been folded into `mcp-use client`, with two forms:
  - **Saved-server form:** `mcp-use client <name> screenshot --tool <tool>` reuses the auth from `mcp-use client connect`. The `--session` flag is gone — the server name is now the explicit positional that every other `mcp-use client <name> ...` command already takes.
  - **Ad-hoc form:** `mcp-use client screenshot --mcp <url> --tool <tool>` keeps `-H/--header` for authenticating one-off captures. Useful for programmatic / CI use that doesn't want to first save a server with `mcp-use client connect`.

  **Breaking changes:**
  - `mcp-use screenshot ...` no longer exists. Use `mcp-use client <name> screenshot ...` (saved server) or `mcp-use client screenshot --mcp <url> ...` (ad-hoc).
  - The `--session <name>` flag is removed. The saved-server name is the positional in `mcp-use client <name> screenshot`.
  - `screenshot` is now a reserved name and can't be used as a saved-server name.

  This mirrors the rest of the `mcp-use client` surface after the removal of the implicit "active session" model — every per-server command takes the server name as its first positional argument.

### Patch Changes

- mcp-use@1.28.0-canary.11
- @mcp-use/inspector@6.0.0-canary.11

## 3.2.0-canary.10

### Minor Changes

- 64f74d2: feat(cli)!: drop the "active session" model — every `client` command now takes a name

  The CLI client used to track an implicit "active session" that you switched
  between with `client sessions switch`. Per-command flags like `--session` and
  `--name` were sprinkled around to override it. The active state was hidden,
  easy to get wrong, and forced every subcommand to handle "no session" as a
  real case.

  It's gone. The client name is now a required positional, and every
  per-client command lives under `mcp-use client <name> <scope> <action>`:

  ```bash
  # Before
  mcp-use client connect https://mcp.manufact.com --name manufact
  mcp-use client tools list
  mcp-use client tools call read_file path=/x --session manufact
  mcp-use client sessions list
  mcp-use client sessions switch other-server
  mcp-use client disconnect --all

  # After
  mcp-use client connect manufact https://mcp.manufact.com
  mcp-use client manufact tools list
  mcp-use client manufact tools call read_file path=/x
  mcp-use client list
  mcp-use client other-server <action>   # name addresses any saved client directly
  mcp-use client manufact disconnect     # disconnect one at a time
  ```

  **Breaking changes:**
  - `client connect <url> --name <name>` → `client connect <name> <url>` (name is required, positional).
  - `--session <name>` is removed from every per-client subcommand; the name comes from the path instead.
  - `client sessions list` → `client list`.
  - `client sessions switch` is removed — there is no active client to switch.
  - `client disconnect --all` is removed; disconnect each client by name.
  - `mcp-use screenshot` no longer falls back to the active session; pass `--session <name>` or `--mcp <url>` explicitly.

  Existing `~/.mcp-use/cli-sessions.json` files keep working; the now-unused
  `activeSession` field is silently ignored on load.

  The CLI also gives clearer feedback for the common shape mistakes the new
  syntax invites — passing only a URL to `connect`, forgetting the client
  name before a per-client scope (`mcp-use client tools call foo`), or
  typing an unknown subcommand — instead of the bare commander defaults.

### Patch Changes

- 64f74d2: feat(cli): add `mcp-use client remove <name>` to drop a saved server

  Saved servers could be added (`client connect`) and listed (`client list`),
  but the only way to delete one was to hand-edit
  `~/.mcp-use/cli-sessions.json`. `client remove <name>` now does this: it
  errors if no server by that name exists, closes any in-process connection,
  deletes the entry, and — for OAuth-authenticated servers — also revokes
  the stored tokens for that URL. If another saved server still points at
  the same URL the tokens are kept (they're URL-keyed, so wiping them would
  break the sibling); the CLI prints which sibling is keeping them alive.

- 64f74d2: refactor(cli): user-facing copy now calls saved entries "servers" instead of "clients"

  The CLI itself is the MCP client; the things it connects to are MCP
  servers. The old copy referred to saved connections as "saved clients" /
  "named clients", which is backwards and confused users.

  User-facing strings (help text, error messages, table headers, REPL
  prompts, docs) now consistently say "server" / "saved server". The
  `mcp-use client` command name is unchanged — it's still the entry point
  for client-side operations — so this is purely a wording change and no
  scripts break.

- 64f74d2: fix(cli): reject saved-server names that collide with per-server scope tokens

  `mcp-use client <name> ...` routes any name that isn't a reserved subcommand
  (`connect`, `list`, `remove`, `help`) to the per-server command tree. If a
  user saved a server under one of the scope names — `tools`, `resources`,
  `prompts`, `auth`, `disconnect`, `interactive` — every invocation against
  that name would instead be caught by the "missing server name" routing and
  the saved entry would be unreachable.

  `client connect` now refuses those names up front with the list of reserved
  names and a suggested rename, instead of silently saving an entry that can
  never be addressed.

- 64f74d2: fix(cli): show a "not found, here's how to connect" message instead of the per-server help when `mcp-use client <name>` targets an unknown server

  Running `mcp-use client <name>` with no subcommand used to fall through to
  commander's per-server help — listing `tools`, `resources`, `prompts`, etc.
  That help is only useful once the server actually exists; for a name the
  user hasn't connected yet it just leaks the subcommand surface without
  telling them how to make the name resolve.

  When the name doesn't match a saved server, the CLI now prints the
  `client connect <name> <url>` hint (plus a pointer to `client list`) and
  exits non-zero. The per-server help is still shown when the server exists.

- 64f74d2: fix(cli): stop auto-opening the browser during OAuth flows

  When an `mcp-use client` command needed to authenticate against an OAuth
  server it would launch the user's browser via the `open` package on TTYs,
  and only print the URL when stdout wasn't a TTY. That was surprising in two
  directions: scripts that did happen to inherit a TTY got pop-up windows, and
  the heuristic missed plenty of agentic/CI environments that _do_ keep a TTY
  attached. The CLI now always prints the authorization URL and waits on the
  loopback callback — the user opens the link themselves whenever it's
  convenient. (Other CLI surfaces that intentionally open a browser, like
  `mcp-use deploy --open` and the auth login flow, are unchanged.)

- 64f74d2: fix(cli): tests no longer touch the developer's real `~/.mcp-use` directory

  Two leaks are closed:
  - `session-storage.test.ts` computed its target path from `os.homedir()` and `rmSync`'d it in `beforeEach`/`afterEach`, so running `pnpm test` during local development deleted any saved clients on disk. The tests now mock `node:os.homedir` to a per-process temp directory.
  - `cli-integration.test.ts` spawned the real CLI as a subprocess and so read the developer's real `cli-sessions.json` when running `client list`. `runCLI` now sets `HOME` (and `USERPROFILE`) to an isolated temp dir for every spawn.

- 64f74d2: fix(cli): stop printing tool results twice when servers return structuredContent

  Per the MCP spec, a tool that returns `structuredContent` SHOULD also serialize
  the same JSON into a `TextContent` block for backwards compatibility. The
  client was rendering both, so every call to a structured-output tool printed
  the JSON payload twice.

  `mcp-use client <name> tools call ...` now treats `structuredContent` as the
  canonical form: when it's present, duplicate `TextContent` blocks are
  suppressed and only the structured JSON is shown. Non-text content blocks
  (image, resource) are still rendered alongside the structured payload — they
  carry information the structured form doesn't.
  - mcp-use@1.28.0-canary.10
  - @mcp-use/inspector@6.0.0-canary.10

## 3.2.0-canary.9

### Patch Changes

- Updated dependencies [4cc5436]
  - @mcp-use/inspector@6.0.0-canary.9
  - mcp-use@1.28.0-canary.9

## 3.2.0-canary.8

### Minor Changes

- 77b2a04: feat(cli): add `--header` / `-H` to `mcp-use screenshot` for authenticated `--mcp <url>` servers

  `mcp-use screenshot --mcp <url>` now accepts repeatable `-H, --header "Key: Value"` flags (curl-style), letting you screenshot authenticated MCP servers without first running `mcp-use client connect`. The most common use is a static bearer token:

  ```
  mcp-use screenshot --tool show-board \
    --mcp https://my-mcp.example.com/mcp \
    -H "Authorization: Bearer $TOKEN"
  ```

  Headers are only honored with `--mcp <url>`; passing `--header` alongside `--session` (or the active saved session) errors with a clear message, since saved sessions already carry their own OAuth/bearer auth from `mcp-use client connect`. Header values are split on the first `:` only, so colons inside the value (e.g. ISO timestamps) are preserved. Whitespace around key and value is trimmed.

### Patch Changes

- mcp-use@1.28.0-canary.8
- @mcp-use/inspector@6.0.0-canary.8

## 3.2.0-canary.7

### Patch Changes

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

## 3.2.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

- Updated dependencies [ce16171]
  - @mcp-use/inspector@6.0.0-canary.6
  - mcp-use@1.28.0-canary.6

## 3.2.0-canary.5

### Minor Changes

- 25a906a: feat(cli): borderless aligned-columns table rendering, gh/kubectl style

  Replaced the box-drawing ASCII table in `mcp-use client {tools,resources,prompts,sessions} list` with a borderless layout: UPPERCASE bold headers, two-space gutter between columns, ANSI-stripped width math, ellipsis truncation for long descriptions, sized to the terminal width (or 100 cols). Tool rows now also show a `MODE` column (read-only / write / destructive, derived from the tool's MCP annotations) and an `ARGS` column (required/total).

  When stdout is not a TTY (pipes, agents, CI), every list command instead emits tab-separated values with no header, no decorative banners, and no ANSI — matching how the GitHub CLI behaves. This makes the CLI directly parseable by AI agents and shell pipelines.

- 25a906a: feat(cli): accept `key=value` args for `client tools call` and `client prompts get`

  Previously the only way to pass arguments to a tool or prompt was a single
  JSON-encoded string, which is brittle for both humans (shell escaping) and
  agents (extra JSON-stringify step, easy to get wrong). Now each argument is a
  variadic positional in `key=value` form, with types coerced from the tool's
  input schema (`number`, `integer`, `boolean`, `array`, `object`, `string`,
  nullable unions). For nested objects or arrays, `key:=<json>` (httpie-style)
  forces the value to be parsed as JSON.

  ```bash
  # Before
  mcp-use client tools call greet '{"name":"world","count":3,"enabled":true}'

  # After
  mcp-use client tools call greet name=world count=3 enabled=true

  # Nested values
  mcp-use client tools call create-doc title=hello meta:='{"tags":["a","b"]}'
  ```

  The legacy single-JSON-object form is still accepted for backward
  compatibility (a single positional starting with `{` is parsed as a JSON
  object), and a leading `--` on a key is stripped if present (`--name=world`
  works the same as `name=world`). The same syntax applies to
  `mcp-use client prompts get`. Error messages now show usage examples and the
  target tool's schema so agents can self-correct.

- 25a906a: feat(auth): Node OAuth client provider + CLI OAuth flow

  Adds a real OAuth flow to the `mcp-use` CLI. `mcp-use client connect <url>`
  against an OAuth-protected MCP server now opens a browser, captures the
  authorization code via a localhost loopback, persists tokens to
  `~/.mcp-use/oauth/<urlHash>/`, and silently refreshes them on subsequent
  commands — no flag plumbing.

  New on `mcp-use`:
  - `mcp-use/auth/node` entrypoint exporting `NodeOAuthClientProvider`,
    `FileKVStore`, the `KVStore` type, and re-exporting the SDK's `auth` and
    `UnauthorizedError`.
  - `NodeOAuthClientProvider` implements `OAuthClientProvider`, owns the
    loopback callback server (preferred port 33418, walks up to 33427 on
    conflict, persisted across runs), and exposes `getAuthorizationCode()`
    for the orchestrator pattern in `useMcp.ts`.
  - `FileKVStore` writes tokens, client info, and code verifiers to one file
    per key under `~/.mcp-use/oauth/<urlHash>/` with `0o600` perms and atomic
    rename on write.

  New on `@mcp-use/cli`:
  - `mcp-use client connect <url>` auto-runs OAuth on `UnauthorizedError`
    when no `--auth` is supplied. New flags: `--no-oauth`, `--auth-timeout`.
  - `mcp-use client auth status|refresh|logout [session]` for token
    introspection, forced refresh, and revocation. (No `auth login` — that's
    what `connect` is for.)
  - Follow-up commands (`tools list`, etc.) on OAuth sessions transparently
    refresh expiring JWTs. If the refresh token itself is dead, the CLI
    prompts to re-auth on TTY or prints the exact `connect` command to run
    on non-TTY.

### Patch Changes

- 25a906a: fix(cli): exit cleanly after `client` subcommands so headless agents don't hang

  Each `mcp-use client` subcommand spins up a fresh `MCPClient` + HTTP/SSE
  transport per process invocation but never closed it before returning, so
  the underlying socket kept the Node event loop alive and the CLI process
  hung after `tools list`, `tools call`, `resources read`, etc. — making the
  client unusable for headless / agent-driven flows.

  Each one-shot subcommand now closes its in-memory sessions and exits at
  the end. Long-running commands (`subscribe`, `interactive`) are unchanged
  and still keep the loop alive until Ctrl+C / `quit`.

- 25a906a: fix(cli): don't auto-open a browser for OAuth in non-TTY contexts

  When `mcp-use client connect` (or a session restore) hits an OAuth flow,
  the CLI used to launch the user's browser unconditionally. That's the
  right call from an interactive terminal, but surprising when an LLM
  agent or a CI script runs the same command — the agent has no way to
  "see" the browser, and the user gets an unexpected window.

  `stdout.isTTY` now gates the browser launch:
  - TTY: opens the browser as before.
  - Non-TTY: prints the authorization URL to stderr and waits on the
    loopback callback, so the caller (human or agent) can hand the URL
    off however it wants.

  The leading "→ Opening browser to authenticate..." message is also
  adjusted to "→ OAuth authentication required." in non-TTY mode so the
  log doesn't claim a browser was opened when it wasn't.

- 25a906a: fix(cli): surface tool call error details in `client tools call`

  Previously when a tool call returned `isError: true`, the CLI showed
  only "✗ Tool execution failed" without making it clear that the
  following content was the error message — and printed nothing at all
  when the server returned no content. Both human users and agent
  callers had no way to debug what went wrong.

  The output now labels the error content explicitly ("Error details:"),
  colors text content red, surfaces `structuredContent` when present,
  and falls back to "(no error details provided by server)" if the
  server returned neither. Connection-level failures (caught Errors)
  now also print any attached `data` payload.

- 25a906a: fix(cli): exit non-zero when `client tools call` returns `isError: true`

  `mcp-use client tools call <tool>` printed "✗ Tool execution failed"
  but still exited 0, so headless agents and shell pipelines couldn't
  distinguish a successful tool call from a failed one. The command now
  exits 1 when the tool result has `isError: true`, in both default and
  `--json` output modes. The result content is still printed first so the
  failure detail remains visible.

- 25a906a: fix(auth): handle SDK-initiated OAuth redirect on 401 in CLI connect

  The SDK's `StreamableHTTPClientTransport` auto-calls `auth()` on a 401, which
  in turn calls our `redirectToAuthorization()` — binding the loopback and
  opening the browser before the transport throws. Two fixes so the CLI's
  `connect` command picks up where the SDK left off instead of dying:
  - `NodeOAuthClientProvider` exposes `hasPendingFlow` so orchestrators can
    detect that the SDK already kicked off the flow and skip straight to
    `getAuthorizationCode()` (calling `auth()` again would throw "an
    authorization is already in progress").
  - `mcp-use client connect`'s `runOAuthFlow` uses `hasPendingFlow` to skip
    the duplicate `auth()` call, and `isUnauthorized` now also matches the
    rewrapped 401 that `HttpConnector` throws (plain `Error` with `code = 401`).

  Without these, the first connect to an OAuth-protected server printed
  "Authentication required" and `process.exit(1)`'d before the browser
  callback returned — leaving the user staring at a "connection refused"
  loopback page.

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

## 3.1.5-canary.4

### Patch Changes

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

## 3.1.5-canary.3

### Patch Changes

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

## 3.1.5-canary.2

### Patch Changes

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

## 3.1.5-canary.1

### Patch Changes

- 2810bf6: Remove unused dependencies and devDependencies flagged by `knip`.
  - Root: drop `lint-staged` and `typescript-eslint` (unused; ESLint config uses `@typescript-eslint/eslint-plugin` and `@typescript-eslint/parser` directly, and Husky pre-commit runs `pnpm format`/`lint:fix` directly without lint-staged). Removed the stale root `lint-staged` config block.
  - `@mcp-use/cli`: drop `globby`, `ws`, `@types/ws` (no source references; `globby` was explicitly replaced by Node built-ins). Removed `globby` from `tsup.config.ts` `noExternal`.
  - `create-mcp-use-app`: drop `fs-extra` and `@types/fs-extra` (no source references).
  - `mcp-use`: drop `ws`, `@types/ws`, `@antfu/eslint-config`, `@langchain/anthropic` (devDep — already an optional peer; only referenced as a string for dynamic import), `eslint-plugin-format`, `lint-staged`. Removed the stale package-level `lint-staged` config block.
  - `knip.json`: ignore `@mcp-use/inspector` for the `cli` package (resolved dynamically via `createRequire().resolve` to read its `package.json`).

  `pnpm knip:deps` now reports 0 unused (dev)dependencies. `pnpm install --frozen-lockfile`, `pnpm lint`, and `pnpm build` all succeed.

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

## 3.1.5-canary.0

### Patch Changes

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

## 3.1.4

### Patch Changes

- Updated dependencies [ca1b34f]
- Updated dependencies [ca1b34f]
  - @mcp-use/inspector@5.0.1
  - mcp-use@1.27.1

## 3.1.4-canary.1

### Patch Changes

- Updated dependencies [25a8745]
  - @mcp-use/inspector@5.0.1-canary.1
  - mcp-use@1.27.1-canary.1

## 3.1.4-canary.0

### Patch Changes

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

## 3.1.3

### Patch Changes

- 78cfc8a: fix(cli): propagate `--env`/`--env-file` to the server on `mcp-use deploy` redeploys

  `mcp-use deploy --env KEY=VAL` previously only forwarded env vars when the
  deploy created a new server: the values rode along on the `createServer`
  request body. On redeploys (an existing linked server, or a previously failed
  deployment), the CLI parsed the flags, displayed them in the configuration
  preview, and then silently dropped them — `createDeployment` was called
  without ever touching the server's env vars.

  The deploy command now upserts each `--env`/`--env-file` entry against the
  server's env-variables API before triggering the deployment: keys that exist
  get a `PATCH` with the new value, new keys get a `POST`. Keys not present in
  the supplied set are left untouched (clearing still requires
  `mcp-use servers env rm`).

- Updated dependencies [78cfc8a]
- Updated dependencies [78cfc8a]
- Updated dependencies [78cfc8a]
- Updated dependencies [78cfc8a]
- Updated dependencies [78cfc8a]
  - mcp-use@1.27.0
  - @mcp-use/inspector@5.0.0

## 3.1.3-canary.5

### Patch Changes

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

## 3.1.3-canary.4

### Patch Changes

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

## 3.1.3-canary.3

### Patch Changes

- Updated dependencies [870983e]
  - @mcp-use/inspector@5.0.0-canary.3
  - mcp-use@1.27.0-canary.3

## 3.1.3-canary.2

### Patch Changes

- Updated dependencies [8b4f674]
  - @mcp-use/inspector@5.0.0-canary.2
  - mcp-use@1.27.0-canary.2

## 3.1.3-canary.1

### Patch Changes

- 6229097: fix(cli): propagate `--env`/`--env-file` to the server on `mcp-use deploy` redeploys

  `mcp-use deploy --env KEY=VAL` previously only forwarded env vars when the
  deploy created a new server: the values rode along on the `createServer`
  request body. On redeploys (an existing linked server, or a previously failed
  deployment), the CLI parsed the flags, displayed them in the configuration
  preview, and then silently dropped them — `createDeployment` was called
  without ever touching the server's env vars.

  The deploy command now upserts each `--env`/`--env-file` entry against the
  server's env-variables API before triggering the deployment: keys that exist
  get a `PATCH` with the new value, new keys get a `POST`. Keys not present in
  the supplied set are left untouched (clearing still requires
  `mcp-use servers env rm`).
  - mcp-use@1.27.0-canary.1
  - @mcp-use/inspector@5.0.0-canary.1

## 3.1.3-canary.0

### Patch Changes

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

## 3.1.2

### Patch Changes

- Updated dependencies [bdf9182]
- Updated dependencies [bdf9182]
  - mcp-use@1.26.0
  - @mcp-use/inspector@4.0.0

## 3.1.2-canary.1

### Patch Changes

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

## 3.1.2-canary.0

### Patch Changes

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

## 3.1.1

### Patch Changes

- 806dbca: fix(cli): keep `mcp-use build` non-fatal under the bun runtime

  Building a project with `bun run build` inside an `oven/bun:alpine` image was failing in the tool-registry type-generation step. That step uses `tsx/esm/api`'s `tsImport`, which relies on Node.js custom loader hooks that bun does not implement, and the exception killed the whole build.

  Three small changes keep the build moving:
  - Detect the bun runtime up front in `generateToolRegistryTypesForServer` and skip the `tsx/esm/api` import with a clear warning instead of crashing.
  - Wrap the build command's call to `generateToolRegistryTypesForServer` in try/catch so any other import-time error in the user's server file is surfaced as a non-blocking warning rather than exiting the build.
  - Invoke `tsc --noEmit` via `process.execPath` instead of hardcoding `node`, so bun-only images (which don't ship a `node` binary) can still type-check. Also drop `--max-old-space-size=4096` under bun, which doesn't accept that flag.

  Type generation remains available on Node.js. Under bun, users can still refresh `.mcp-use/tool-registry.d.ts` by running `mcp-use generate-types` from a Node.js shell when needed.

- 806dbca: fix(build): bundle each TypeScript entry with esbuild so extensionless relative imports resolve under plain Node ESM

  `mcp-use build` now runs esbuild with `bundle: true` and `packages: "external"`. Relative imports between a user's source files are resolved at build time; third-party packages (`mcp-use`, `react`, `zod`, etc.) stay as external imports that Node resolves from `node_modules`. Users can keep writing idiomatic TypeScript imports without `.js` suffixes and `mcp-use start` no longer hits `ERR_MODULE_NOT_FOUND`.

- Updated dependencies [806dbca]
- Updated dependencies [806dbca]
- Updated dependencies [806dbca]
- Updated dependencies [806dbca]
- Updated dependencies [806dbca]
- Updated dependencies [806dbca]
- Updated dependencies [806dbca]
- Updated dependencies [806dbca]
  - @mcp-use/inspector@3.0.1
  - mcp-use@1.25.1

## 3.1.1-canary.8

### Patch Changes

- Updated dependencies [d62850e]
  - @mcp-use/inspector@3.0.1-canary.8
  - mcp-use@1.25.1-canary.8

## 3.1.1-canary.7

### Patch Changes

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

## 3.1.1-canary.6

### Patch Changes

- Updated dependencies [47b446e]
  - @mcp-use/inspector@3.0.1-canary.6
  - mcp-use@1.25.1-canary.6

## 3.1.1-canary.5

### Patch Changes

- Updated dependencies [c1ea21a]
  - mcp-use@1.25.1-canary.5
  - @mcp-use/inspector@3.0.1-canary.5

## 3.1.1-canary.4

### Patch Changes

- 37a217c: fix(build): bundle each TypeScript entry with esbuild so extensionless relative imports resolve under plain Node ESM

  `mcp-use build` now runs esbuild with `bundle: true` and `packages: "external"`. Relative imports between a user's source files are resolved at build time; third-party packages (`mcp-use`, `react`, `zod`, etc.) stay as external imports that Node resolves from `node_modules`. Users can keep writing idiomatic TypeScript imports without `.js` suffixes and `mcp-use start` no longer hits `ERR_MODULE_NOT_FOUND`.
  - mcp-use@1.25.1-canary.4
  - @mcp-use/inspector@3.0.1-canary.4

## 3.1.1-canary.3

### Patch Changes

- Updated dependencies [f41869b]
  - @mcp-use/inspector@3.0.1-canary.3
  - mcp-use@1.25.1-canary.3

## 3.1.1-canary.2

### Patch Changes

- Updated dependencies [dfe35fa]
  - @mcp-use/inspector@3.0.1-canary.2
  - mcp-use@1.25.1-canary.2

## 3.1.1-canary.1

### Patch Changes

- 7f4e99d: fix(cli): keep `mcp-use build` non-fatal under the bun runtime

  Building a project with `bun run build` inside an `oven/bun:alpine` image was failing in the tool-registry type-generation step. That step uses `tsx/esm/api`'s `tsImport`, which relies on Node.js custom loader hooks that bun does not implement, and the exception killed the whole build.

  Three small changes keep the build moving:
  - Detect the bun runtime up front in `generateToolRegistryTypesForServer` and skip the `tsx/esm/api` import with a clear warning instead of crashing.
  - Wrap the build command's call to `generateToolRegistryTypesForServer` in try/catch so any other import-time error in the user's server file is surfaced as a non-blocking warning rather than exiting the build.
  - Invoke `tsc --noEmit` via `process.execPath` instead of hardcoding `node`, so bun-only images (which don't ship a `node` binary) can still type-check. Also drop `--max-old-space-size=4096` under bun, which doesn't accept that flag.

  Type generation remains available on Node.js. Under bun, users can still refresh `.mcp-use/tool-registry.d.ts` by running `mcp-use generate-types` from a Node.js shell when needed.
  - mcp-use@1.25.1-canary.1
  - @mcp-use/inspector@3.0.1-canary.1

## 3.1.1-canary.0

### Patch Changes

- Updated dependencies [c864134]
- Updated dependencies [a59476b]
  - @mcp-use/inspector@3.0.1-canary.0
  - mcp-use@1.25.1-canary.0

## 3.1.0

### Minor Changes

- 1bdec92: Add ORG column to `deployments list` output so users can see which organization each deployment belongs to.
- 1bdec92: `mcp-use login`: add `--org <slug|id|name>` flag for non-interactive org selection. Previously, when a user had multiple organizations, login would prompt on stdin after the browser auth completed — leaving agent harnesses blocked because they cannot write to the running process's stdin. With `--org`, login picks the org up-front and skips the prompt. If login is run without a TTY and no `--org` is supplied, it now fails fast with a message pointing at the flag rather than hanging. Matches the resolver already used by `mcp-use deploy --org`.
- 1bdec92: feat(cli, mcp-use): Next.js drop-in support for MCP servers
  - `mcp-use dev/build/start --mcp-dir <dir>` lets a Next.js app colocate an MCP server (default `src/mcp/`) alongside its routes, sharing the same `@/*` aliases, Tailwind styles, and component library.
  - Auto-shims Next.js server-runtime modules (`server-only`, `client-only`, `next/cache`, `next/headers`, `next/navigation`, `next/server`) when `next` is detected in `package.json`, so tools transitively imported from the app don't blow up outside a Next runtime. Shim list is centralized in `next-shims-registry.json`.
  - Loads Next.js env cascade (`.env`, `.env.development`, `.env.local`, `.env.development.local`) in the MCP server process.
  - Widget builds fail fast with an actionable error when a widget (or a module it transitively imports) pulls in a Next.js server-only module — widgets run in a browser iframe, so the right fix is to read server data in an MCP tool and pass it through widget props.

### Patch Changes

- 1bdec92: `mcp-use login` now validates the stored API key against the backend before short-circuiting with "You are already logged in." If the key is expired or revoked, login detects the 401, clears the stale config, and drops into the device-auth flow automatically. Network or other non-401 errors preserve the old "already logged in" behavior so users don't get bounced into re-auth just because they're offline.

  Every command that hits the authenticated API (`whoami`, `org`, `servers`, `deployments`, `env`) now funnels errors through a shared `handleCommandError` helper. On a 401 the user sees a friendly "session expired — run `npx mcp-use login` to re-authenticate" hint instead of a raw `API request failed: 401 …` dump. The `deploy` command's existing richer re-auth flow is unchanged.

- 1bdec92: fix: auto-discover available port in `mcp-use start` when default port is in use
- 1bdec92: `mcp-use deploy --org <org>`: respect the flag when a project is already linked to a server in a different organization. Previously, the existing `.mcp-use/project.json` link was followed unconditionally, silently ignoring `--org` and redeploying to the linked (wrong-org) server. Now the CLI verifies the linked server's organization matches the requested one and, if not, warns and creates a new server in the specified org.
- Updated dependencies [1bdec92]
- Updated dependencies [1bdec92]
- Updated dependencies [1bdec92]
- Updated dependencies [1bdec92]
- Updated dependencies [1bdec92]
  - mcp-use@1.25.0
  - @mcp-use/inspector@3.0.0

## 3.1.0-canary.9

### Patch Changes

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

## 3.1.0-canary.8

### Patch Changes

- Updated dependencies [a0500f4]
  - @mcp-use/inspector@3.0.0-canary.8
  - mcp-use@1.25.0-canary.8

## 3.1.0-canary.7

### Patch Changes

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

## 3.1.0-canary.6

### Patch Changes

- Updated dependencies [2304ff0]
  - @mcp-use/inspector@3.0.0-canary.6
  - mcp-use@1.25.0-canary.6

## 3.1.0-canary.5

### Patch Changes

- 9805a50: `mcp-use login` now validates the stored API key against the backend before short-circuiting with "You are already logged in." If the key is expired or revoked, login detects the 401, clears the stale config, and drops into the device-auth flow automatically. Network or other non-401 errors preserve the old "already logged in" behavior so users don't get bounced into re-auth just because they're offline.

  Every command that hits the authenticated API (`whoami`, `org`, `servers`, `deployments`, `env`) now funnels errors through a shared `handleCommandError` helper. On a 401 the user sees a friendly "session expired — run `npx mcp-use login` to re-authenticate" hint instead of a raw `API request failed: 401 …` dump. The `deploy` command's existing richer re-auth flow is unchanged.
  - mcp-use@1.25.0-canary.5
  - @mcp-use/inspector@3.0.0-canary.5

## 3.1.0-canary.4

### Patch Changes

- 4470adc: `mcp-use deploy --org <org>`: respect the flag when a project is already linked to a server in a different organization. Previously, the existing `.mcp-use/project.json` link was followed unconditionally, silently ignoring `--org` and redeploying to the linked (wrong-org) server. Now the CLI verifies the linked server's organization matches the requested one and, if not, warns and creates a new server in the specified org.
  - mcp-use@1.25.0-canary.4
  - @mcp-use/inspector@3.0.0-canary.4

## 3.1.0-canary.3

### Minor Changes

- 3b79a17: feat(cli, mcp-use): Next.js drop-in support for MCP servers
  - `mcp-use dev/build/start --mcp-dir <dir>` lets a Next.js app colocate an MCP server (default `src/mcp/`) alongside its routes, sharing the same `@/*` aliases, Tailwind styles, and component library.
  - Auto-shims Next.js server-runtime modules (`server-only`, `client-only`, `next/cache`, `next/headers`, `next/navigation`, `next/server`) when `next` is detected in `package.json`, so tools transitively imported from the app don't blow up outside a Next runtime. Shim list is centralized in `next-shims-registry.json`.
  - Loads Next.js env cascade (`.env`, `.env.development`, `.env.local`, `.env.development.local`) in the MCP server process.
  - Widget builds fail fast with an actionable error when a widget (or a module it transitively imports) pulls in a Next.js server-only module — widgets run in a browser iframe, so the right fix is to read server data in an MCP tool and pass it through widget props.

### Patch Changes

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

## 3.1.0-canary.2

### Minor Changes

- e9bb402: `mcp-use login`: add `--org <slug|id|name>` flag for non-interactive org selection. Previously, when a user had multiple organizations, login would prompt on stdin after the browser auth completed — leaving agent harnesses blocked because they cannot write to the running process's stdin. With `--org`, login picks the org up-front and skips the prompt. If login is run without a TTY and no `--org` is supplied, it now fails fast with a message pointing at the flag rather than hanging. Matches the resolver already used by `mcp-use deploy --org`.

### Patch Changes

- mcp-use@1.24.3-canary.2
- @mcp-use/inspector@2.2.1-canary.2

## 3.1.0-canary.1

### Minor Changes

- 468af39: Add ORG column to `deployments list` output so users can see which organization each deployment belongs to.

### Patch Changes

- mcp-use@1.24.3-canary.1
- @mcp-use/inspector@2.2.1-canary.1

## 3.0.3-canary.0

### Patch Changes

- 52a98f9: fix: auto-discover available port in `mcp-use start` when default port is in use
  - mcp-use@1.24.3-canary.0
  - @mcp-use/inspector@2.2.1-canary.0

## 3.0.2

### Patch Changes

- e9c4bd0: Deploy: HTTP 401 is treated as an invalid or expired API key for the current backend—short re-authenticate prompt instead of the GitHub App "not connected" flow. Runs `testAuth` after org resolution (including when org is read from disk). GitHub connection checks and install polling recover via the same re-auth path on 401.
- e9c4bd0: Deploy: `git init` / `commit` / `push` no longer fail silently—mutating git commands throw with stderr, the first branch is normalized to `main` before push, and `git rev-parse HEAD` verifies a commit exists. `mcp-use deploy` catches these errors and prints hints for missing `user.name`/`user.email` and for rejected/non-fast-forward pushes. Commit messages are shell-quoted.
- Updated dependencies [e9c4bd0]
- Updated dependencies [e9c4bd0]
- Updated dependencies [e9c4bd0]
- Updated dependencies [e9c4bd0]
- Updated dependencies [e9c4bd0]
- Updated dependencies [e9c4bd0]
- Updated dependencies [e9c4bd0]
  - mcp-use@1.24.2
  - @mcp-use/inspector@2.2.0

## 3.0.2-canary.7

### Patch Changes

- Updated dependencies [028cd3c]
  - @mcp-use/inspector@2.2.0-canary.7
  - mcp-use@1.24.2-canary.7

## 3.0.2-canary.6

### Patch Changes

- Updated dependencies [baa93e6]
  - @mcp-use/inspector@2.2.0-canary.6
  - mcp-use@1.24.2-canary.6

## 3.0.2-canary.5

### Patch Changes

- Updated dependencies [bd58d95]
- Updated dependencies [1b64075]
  - mcp-use@1.24.2-canary.5
  - @mcp-use/inspector@2.2.0-canary.5

## 3.0.2-canary.4

### Patch Changes

- Updated dependencies [d9ac208]
  - @mcp-use/inspector@2.2.0-canary.4
  - mcp-use@1.24.2-canary.4

## 3.0.2-canary.3

### Patch Changes

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

## 3.0.2-canary.2

### Patch Changes

- Updated dependencies [ee5abf8]
  - @mcp-use/inspector@2.2.0-canary.2
  - mcp-use@1.24.2-canary.2

## 3.0.2-canary.1

### Patch Changes

- 8f8a8e0: Deploy: HTTP 401 is treated as an invalid or expired API key for the current backend—short re-authenticate prompt instead of the GitHub App "not connected" flow. Runs `testAuth` after org resolution (including when org is read from disk). GitHub connection checks and install polling recover via the same re-auth path on 401.
  - mcp-use@1.24.2-canary.1
  - @mcp-use/inspector@2.1.1-canary.1

## 3.0.2-canary.0

### Patch Changes

- 5f0c888: Deploy: `git init` / `commit` / `push` no longer fail silently—mutating git commands throw with stderr, the first branch is normalized to `main` before push, and `git rev-parse HEAD` verifies a commit exists. `mcp-use deploy` catches these errors and prints hints for missing `user.name`/`user.email` and for rejected/non-fast-forward pushes. Commit messages are shell-quoted.
  - mcp-use@1.24.2-canary.0
  - @mcp-use/inspector@2.1.1-canary.0

## 3.0.1

### Patch Changes

- 30be19e: refactor(cli): enhance deploy command with GitHub authorization handling
- Updated dependencies [30be19e]
- Updated dependencies [30be19e]
- Updated dependencies [30be19e]
  - mcp-use@1.24.1
  - @mcp-use/inspector@2.1.0

## 3.0.1-canary.3

### Patch Changes

- Updated dependencies [d85fb4f]
  - @mcp-use/inspector@2.1.0-canary.3
  - mcp-use@1.24.1-canary.3

## 3.0.1-canary.2

### Patch Changes

- 744db4d: refactor(cli): enhance deploy command with GitHub authorization handling
  - mcp-use@1.24.1-canary.2
  - @mcp-use/inspector@2.1.0-canary.2

## 3.0.1-canary.1

### Patch Changes

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

## 3.0.1-canary.0

### Patch Changes

- Updated dependencies [27bd31c]
  - @mcp-use/inspector@2.1.0-canary.0
  - mcp-use@1.24.1-canary.0

## 3.0.0

### Major Changes

- 4070f26: Moved to device flow authentication.
- 4070f26: cli: refactor cli to use new manufact apis

### Patch Changes

- 4070f26: fix(mcp-use): correct handling of paths on windows
- Updated dependencies [4070f26]
- Updated dependencies [4070f26]
- 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
  - @mcp-use/inspector@2.0.0

## 3.0.0-canary.5

### Patch Changes

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

## 3.0.0-canary.4

### Major Changes

- 2bfcf48: cli: refactor cli to use new manufact apis

### Patch Changes

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

## 3.0.0-canary.3

### Major Changes

- c51a656: Moved to device flow authentication.

### Patch Changes

- c51a656: fix(mcp-use): correct handling of paths on windows
- Updated dependencies [c51a656]
- Updated dependencies [c51a656]
- Updated dependencies [c51a656]
  - mcp-use@1.24.0-canary.3
  - @mcp-use/inspector@2.0.0-canary.3

## 2.21.5-canary.2

### Patch Changes

- Updated dependencies [9478920]
- Updated dependencies [b0e2492]
  - mcp-use@1.24.0-canary.2
  - @mcp-use/inspector@2.0.0-canary.2

## 2.21.5-canary.1

### Patch Changes

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

## 2.21.5-canary.0

### Patch Changes

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

## 2.21.4

### Patch Changes

- Updated dependencies [6d7fd2e]
  - mcp-use@1.23.1
  - @mcp-use/inspector@1.0.1

## 2.21.4-canary.0

### Patch Changes

- Updated dependencies [b3680f9]
  - mcp-use@1.23.1-canary.0
  - @mcp-use/inspector@1.0.1-canary.0

## 2.21.3

### Patch Changes

- 6d7c4df: Updated dependency `vite` to `^8.0.5`.
- 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.
- 6d7c4df: fix(mcp-use): correct handling of paths on windows
- Updated dependencies [6d7c4df]
- Updated dependencies [6d7c4df]
- Updated dependencies [6d7c4df]
- Updated dependencies [6d7c4df]
- Updated dependencies [6d7c4df]
- 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
  - @mcp-use/inspector@1.0.0

## 2.21.3-canary.10

### Patch Changes

- Updated dependencies [5749a4b]
  - @mcp-use/inspector@1.0.0-canary.10
  - mcp-use@1.23.0-canary.10

## 2.21.3-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
  - @mcp-use/inspector@1.0.0-canary.9

## 2.21.3-canary.8

### Patch Changes

- Updated dependencies [9ec2039]
- Updated dependencies [ebc6c9f]
  - @mcp-use/inspector@1.0.0-canary.8
  - mcp-use@1.23.0-canary.8

## 2.21.3-canary.7

### Patch Changes

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

## 2.21.3-canary.6

### Patch Changes

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

## 2.21.3-canary.5

### Patch Changes

- Updated dependencies [7be81db]
  - @mcp-use/inspector@0.27.0-canary.5
  - mcp-use@1.22.4-canary.5

## 2.21.3-canary.4

### Patch Changes

- Updated dependencies [36334a0]
  - @mcp-use/inspector@0.26.2-canary.4
  - mcp-use@1.22.4-canary.4

## 2.21.3-canary.3

### Patch Changes

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

## 2.21.3-canary.2

### Patch Changes

- Updated dependencies [d09532e]
  - @mcp-use/inspector@0.26.2-canary.2
  - mcp-use@1.22.4-canary.2

## 2.21.3-canary.1

### Patch Changes

- Updated dependencies [62f95c2]
  - @mcp-use/inspector@0.26.2-canary.1
  - mcp-use@1.22.4-canary.1

## 2.21.3-canary.0

### Patch Changes

- cca2612: fix(mcp-use): correct handling of paths on windows
- Updated dependencies [cca2612]
  - mcp-use@1.22.4-canary.0
  - @mcp-use/inspector@0.26.2-canary.0

## 2.21.2

### Patch Changes

- Updated dependencies [0ec6068]
  - @mcp-use/inspector@0.26.1
  - mcp-use@1.22.3

## 2.21.2-canary.0

### Patch Changes

- Updated dependencies [8cb5d98]
  - @mcp-use/inspector@0.26.1-canary.0
  - mcp-use@1.22.3-canary.0

## 2.21.1

### Patch Changes

- Updated dependencies [6255bbd]
- Updated dependencies [6255bbd]
- Updated dependencies [6255bbd]
- Updated dependencies [6255bbd]
- Updated dependencies [6255bbd]
  - mcp-use@1.22.2
  - @mcp-use/inspector@0.26.0

## 2.21.1-canary.4

### Patch Changes

- Updated dependencies [f36d835]
  - mcp-use@1.22.2-canary.4

## 2.21.1-canary.3

### Patch Changes

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

## 2.21.1-canary.2

### Patch Changes

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

## 2.21.1-canary.1

### Patch Changes

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

## 2.21.1-canary.0

### Patch Changes

- Updated dependencies [a412783]
  - @mcp-use/inspector@0.26.0-canary.0
  - mcp-use@1.22.2-canary.0

## 2.21.0

### Minor Changes

- 7d2112e: Add organization support to the CLI
  - `mcp-use org list` / `switch` / `current` commands to manage organizations
  - `mcp-use deploy --org <slug-or-id>` to deploy to a specific organization
  - Login flow now prompts for organization selection when the user belongs to multiple orgs
  - `whoami` displays the active organization
  - All API requests include `x-profile-id` header for org-scoped operations
  - Organization preference is persisted in `~/.mcp-use/config.json`

### Patch Changes

- 7d2112e: Add `-y` / `--yes` to `mcp-use deploy` for non-interactive runs
  - Skip confirmation prompts (MCP project, uncommitted changes, final deploy, GitHub connect/retry) when the flag is set
  - If not logged in and `--yes` is passed, exit with an error instructing users to run `mcp-use login` first (browser login cannot be automated)
  - With `--yes`, post-GitHub-setup “Press Enter” is replaced by polling connection status instead of blocking on stdin

- Updated dependencies [7d2112e]
- Updated dependencies [7d2112e]
- Updated dependencies [7d2112e]
- Updated dependencies [7d2112e]
  - mcp-use@1.22.1
  - @mcp-use/inspector@0.25.1

## 2.21.0-canary.5

### Patch Changes

- e743a07: Add `-y` / `--yes` to `mcp-use deploy` for non-interactive runs
  - Skip confirmation prompts (MCP project, uncommitted changes, final deploy, GitHub connect/retry) when the flag is set
  - If not logged in and `--yes` is passed, exit with an error instructing users to run `mcp-use login` first (browser login cannot be automated)
  - With `--yes`, post-GitHub-setup “Press Enter” is replaced by polling connection status instead of blocking on stdin
  - mcp-use@1.22.1-canary.5
  - @mcp-use/inspector@0.25.1-canary.5

## 2.21.0-canary.4

### Minor Changes

- 7934749: Add organization support to the CLI
  - `mcp-use org list` / `switch` / `current` commands to manage organizations
  - `mcp-use deploy --org <slug-or-id>` to deploy to a specific organization
  - Login flow now prompts for organization selection when the user belongs to multiple orgs
  - `whoami` displays the active organization
  - All API requests include `x-profile-id` header for org-scoped operations
  - Organization preference is persisted in `~/.mcp-use/config.json`

### Patch Changes

- mcp-use@1.22.1-canary.4
- @mcp-use/inspector@0.25.1-canary.4

## 2.20.1-canary.3

### Patch Changes

- Updated dependencies [f28452e]
  - @mcp-use/inspector@0.25.1-canary.3
  - mcp-use@1.22.1-canary.3

## 2.20.1-canary.2

### Patch Changes

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

## 2.20.1-canary.1

### Patch Changes

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

## 2.20.1-canary.0

### Patch Changes

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

## 2.20.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

- 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
  - @mcp-use/inspector@0.25.0

## 2.20.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/inspector@0.25.0-canary.6
  - mcp-use@1.22.0-canary.6

## 2.20.0-canary.5

### Patch Changes

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

## 2.20.0-canary.4

### Patch Changes

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

## 2.20.0-canary.3

### Patch Changes

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

## 2.20.0-canary.2

### Patch Changes

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

## 2.20.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
  - @mcp-use/inspector@0.25.0-canary.1

## 2.19.1-canary.0

### Patch Changes

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

## 2.19.0

### Minor Changes

- ed0fadb: feat: use esbuild for transpilation, separate type checking from build

  `mcp-use build` now uses esbuild for TypeScript transpilation instead of tsc. esbuild strips types without analyzing them, so it cannot OOM on complex type graphs (Zod v4, Prisma, etc.). Type checking runs separately via `tsc --noEmit` after transpilation — if it fails or OOMs, the build output is still produced. Use `--no-typecheck` to skip type checking entirely for faster builds.

### 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.
- ed0fadb: fix: TypeGen crash with Zod v4 enum schemas

  `zod-to-ts` assumed Zod v3 internal structure for `ZodEnum` (`_def.values`), which is `undefined` in Zod v4 where enum entries are stored as `_def.entries`. This caused `Cannot read properties of undefined (reading 'map')` during `mcp-use build` for any project using `z.enum()` with Zod v4. Added v4 fallback paths for `ZodEnum`, `ZodDiscriminatedUnion`, and null guards for `ZodUnion` and `ZodTuple`. Also fixed the CLI reporting success when type generation silently failed.

- ed0fadb: Fix Windows crash in `mcp-use dev` and `mcp-use generate-types` where raw OS paths (e.g. `C:\project\index.ts`) were passed to `tsImport` instead of `file://` URLs, causing `ERR_UNSUPPORTED_ESM_URL_SCHEME`.
- Updated dependencies [ed0fadb]
- Updated dependencies [ed0fadb]
- Updated dependencies [ed0fadb]
  - mcp-use@1.21.5
  - @mcp-use/inspector@0.24.5

## 2.19.0-canary.3

### Patch Changes

- b4ad0e8: fix: TypeGen crash with Zod v4 enum schemas

  `zod-to-ts` assumed Zod v3 internal structure for `ZodEnum` (`_def.values`), which is `undefined` in Zod v4 where enum entries are stored as `_def.entries`. This caused `Cannot read properties of undefined (reading 'map')` during `mcp-use build` for any project using `z.enum()` with Zod v4. Added v4 fallback paths for `ZodEnum`, `ZodDiscriminatedUnion`, and null guards for `ZodUnion` and `ZodTuple`. Also fixed the CLI reporting success when type generation silently failed.

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

## 2.19.0-canary.2

### Patch Changes

- 3b0a426: Fix Windows crash in `mcp-use dev` and `mcp-use generate-types` where raw OS paths (e.g. `C:\project\index.ts`) were passed to `tsImport` instead of `file://` URLs, causing `ERR_UNSUPPORTED_ESM_URL_SCHEME`.
  - mcp-use@1.21.5-canary.2
  - @mcp-use/inspector@0.24.5-canary.2

## 2.19.0-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
  - @mcp-use/inspector@0.24.5-canary.1

## 2.19.0-canary.0

### Minor Changes

- cfff626: feat: use esbuild for transpilation, separate type checking from build

  `mcp-use build` now uses esbuild for TypeScript transpilation instead of tsc. esbuild strips types without analyzing them, so it cannot OOM on complex type graphs (Zod v4, Prisma, etc.). Type checking runs separately via `tsc --noEmit` after transpilation — if it fails or OOMs, the build output is still produced. Use `--no-typecheck` to skip type checking entirely for faster builds.

### Patch Changes

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

## 2.18.3

### 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
- dd77c3c: Fix `mcp-use build` hanging after completion by adding `process.exit(0)` to the build command's success path
- Updated dependencies [dd77c3c]
- Updated dependencies [dd77c3c]
  - mcp-use@1.21.4
  - @mcp-use/inspector@0.24.4

## 2.18.3-canary.2

### Patch Changes

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

## 2.18.3-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
  - @mcp-use/inspector@0.24.4-canary.1

## 2.18.3-canary.0

### Patch Changes

- 98f6521: Fix `mcp-use build` hanging after completion by adding `process.exit(0)` to the build command's success path
  - mcp-use@1.21.4-canary.0
  - @mcp-use/inspector@0.24.4-canary.0

## 2.18.2

### Patch Changes

- Updated dependencies [d8d6d06]
  - @mcp-use/inspector@0.24.3
  - mcp-use@1.21.3

## 2.18.2-canary.0

### Patch Changes

- Updated dependencies [c509930]
  - @mcp-use/inspector@0.24.3-canary.0
  - mcp-use@1.21.3-canary.0

## 2.18.1

### Patch Changes

- Updated dependencies [8d55603]
  - @mcp-use/inspector@0.24.2
  - mcp-use@1.21.2

## 2.18.1-canary.0

### Patch Changes

- Updated dependencies [76320f0]
  - @mcp-use/inspector@0.24.2-canary.0
  - mcp-use@1.21.2-canary.0

## 2.18.0

### Minor Changes

- ed1b034: feat(deploy): add --root-dir option for monorepo support

### Patch Changes

- ed1b034: feat(build): run tool registry type generation during build

  `mcp-use build` now generates `.mcp-use/tool-registry.d.ts` before TypeScript compilation when a server file exists. This fixes intermittent TS errors (e.g. `useCallTool` args typed as `null`) when `postinstall` typegen runs before source files are present (e.g. in Docker multi-stage builds). The `generate-types` command now uses the same shared helper.

- Updated dependencies [ed1b034]
- Updated dependencies [ed1b034]
- Updated dependencies [ed1b034]
- Updated dependencies [ed1b034]
- Updated dependencies [ed1b034]
- Updated dependencies [ed1b034]
  - @mcp-use/inspector@0.24.1
  - mcp-use@1.21.1

## 2.18.0-canary.6

### Patch Changes

- Updated dependencies [3cae276]
  - @mcp-use/inspector@0.24.1-canary.6
  - mcp-use@1.21.1-canary.6

## 2.18.0-canary.5

### Patch Changes

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

## 2.18.0-canary.4

### Patch Changes

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

## 2.18.0-canary.3

### Patch Changes

- 53fb21a: feat(build): run tool registry type generation during build

  `mcp-use build` now generates `.mcp-use/tool-registry.d.ts` before TypeScript compilation when a server file exists. This fixes intermittent TS errors (e.g. `useCallTool` args typed as `null`) when `postinstall` typegen runs before source files are present (e.g. in Docker multi-stage builds). The `generate-types` command now uses the same shared helper.
  - mcp-use@1.21.1-canary.3
  - @mcp-use/inspector@0.24.1-canary.3

## 2.18.0-canary.2

### Minor Changes

- c5d5a75: feat(deploy): add --root-dir option for monorepo support

### Patch Changes

- mcp-use@1.21.1-canary.2
- @mcp-use/inspector@0.24.1-canary.2

## 2.17.1-canary.1

### Patch Changes

- Updated dependencies [3e3767e]
  - @mcp-use/inspector@0.24.1-canary.1
  - mcp-use@1.21.1-canary.1

## 2.17.1-canary.0

### Patch Changes

- Updated dependencies [f0a872a]
- Updated dependencies [ef8a0cf]
  - @mcp-use/inspector@0.24.1-canary.0
  - mcp-use@1.21.1-canary.0

## 2.17.0

### Minor Changes

- 405fac7: feat(mcp-use): enhance host information and capabilities handling

### Patch 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: Remove deprecated @types/tar dependency and update tar to latest version. The tar package now includes its own TypeScript definitions, making @types/tar redundant.
- 405fac7: feat(deploy): update dashboard URL construction to use dynamic web URL
- 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]
- Updated dependencies [405fac7]
- Updated dependencies [405fac7]
- Updated dependencies [405fac7]
- Updated dependencies [405fac7]
  - mcp-use@1.21.0
  - @mcp-use/inspector@0.24.0

## 2.17.0-canary.14

### Patch Changes

- Updated dependencies [cb89d47]
  - @mcp-use/inspector@0.24.0-canary.14
  - mcp-use@1.21.0-canary.14

## 2.17.0-canary.13

### Patch Changes

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

## 2.17.0-canary.12

### Patch Changes

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

## 2.17.0-canary.11

### Patch Changes

- Updated dependencies [71fd188]
  - @mcp-use/inspector@0.24.0-canary.11
  - mcp-use@1.21.0-canary.11

## 2.17.0-canary.10

### Patch Changes

- 28dc5bf: feat(deploy): update dashboard URL construction to use dynamic web URL
  - mcp-use@1.21.0-canary.10
  - @mcp-use/inspector@0.24.0-canary.10

## 2.17.0-canary.9

### Patch Changes

- Updated dependencies [3aa578a]
  - @mcp-use/inspector@0.24.0-canary.9
  - mcp-use@1.21.0-canary.9

## 2.17.0-canary.8

### Patch Changes

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

## 2.17.0-canary.7

### Patch Changes

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

## 2.17.0-canary.6

### Patch Changes

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

## 2.17.0-canary.5

### Patch Changes

- Updated dependencies [2a8a9d1]
  - @mcp-use/inspector@0.24.0-canary.5
  - mcp-use@1.21.0-canary.5

## 2.17.0-canary.4

### Minor Changes

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

### Patch 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`.

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

## 2.16.1-canary.3

### Patch Changes

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

## 2.16.1-canary.2

### Patch Changes

- 869eafa: Remove deprecated @types/tar dependency and update tar to latest version. The tar package now includes its own TypeScript definitions, making @types/tar redundant.
  - mcp-use@1.20.6-canary.2
  - @mcp-use/inspector@0.23.2-canary.2

## 2.16.1-canary.1

### Patch Changes

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

## 2.16.1-canary.0

### Patch Changes

- Updated dependencies [85f4bff]
  - @mcp-use/inspector@0.23.2-canary.0
  - mcp-use@1.20.6-canary.0

## 2.16.0

### Minor Changes

- ee3c3c5: feat(cli): added support for --tunnel flag with full chatgpt hmr

### Patch Changes

- mcp-use@1.20.5
- @mcp-use/inspector@0.23.1

## 2.16.0-canary.0

### Minor Changes

- 7a5f8fd: feat(cli): added support for --tunnel flag with full chatgpt hmr

### Patch Changes

- mcp-use@1.20.5-canary.0
- @mcp-use/inspector@0.23.1-canary.0

## 2.15.4

### Patch Changes

- Updated dependencies [9d8a73f]
  - @mcp-use/inspector@0.23.0
  - mcp-use@1.20.4

## 2.15.4-canary.0

### Patch Changes

- Updated dependencies [452d274]
  - @mcp-use/inspector@0.23.0-canary.0
  - mcp-use@1.20.4-canary.0

## 2.15.3

### Patch Changes

- Updated dependencies [322ab53]
  - @mcp-use/inspector@0.22.3
  - mcp-use@1.20.3

## 2.15.3-canary.0

### Patch Changes

- Updated dependencies [0b9818c]
  - @mcp-use/inspector@0.22.3-canary.0
  - mcp-use@1.20.3-canary.0

## 2.15.2

### Patch Changes

- Updated dependencies [455c18f]
- Updated dependencies [455c18f]
- Updated dependencies [455c18f]
- Updated dependencies [455c18f]
  - mcp-use@1.20.2
  - @mcp-use/inspector@0.22.2

## 2.15.2-canary.0

### Patch Changes

- Updated dependencies [89cdd0b]
- Updated dependencies [89cdd0b]
- Updated dependencies [89cdd0b]
- Updated dependencies [89cdd0b]
  - mcp-use@1.20.2-canary.0
  - @mcp-use/inspector@0.22.2-canary.0

## 2.15.1

### Patch Changes

- Updated dependencies [4546a8c]
  - @mcp-use/inspector@0.22.1
  - mcp-use@1.20.1

## 2.15.1-canary.0

### Patch Changes

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

## 2.15.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(docs): updated docs to remove outdated information
- Updated dependencies [5a73b41]
- Updated dependencies [5a73b41]
- Updated dependencies [5a73b41]
- Updated dependencies [5a73b41]
- Updated dependencies [5a73b41]
  - @mcp-use/inspector@0.22.0
  - mcp-use@1.20.0

## 2.15.0-canary.4

### Patch Changes

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

## 2.15.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/inspector@0.22.0-canary.3
  - mcp-use@1.20.0-canary.3

## 2.15.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/inspector@0.22.0-canary.2
  - mcp-use@1.20.0-canary.2

## 2.14.1-canary.1

### Patch Changes

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

## 2.14.1-canary.0

### Patch Changes

- Updated dependencies [fbf1308]
  - @mcp-use/inspector@0.21.2-canary.0
  - mcp-use@1.19.4-canary.0

## 2.14.0

### Minor Changes

- 7ebe19a: Add mcp-use skills add and mcp-use skills install commands to the cli to install AI agent skills (Cursor, Claude Code, Codex) from the mcp-use repository

### Patch Changes

- mcp-use@1.19.3
- @mcp-use/inspector@0.21.1

## 2.14.0-canary.0

### Minor Changes

- 54324c6: Add mcp-use skills add and mcp-use skills install commands to the cli to install AI agent skills (Cursor, Claude Code, Codex) from the mcp-use repository

### Patch Changes

- mcp-use@1.19.3-canary.0
- @mcp-use/inspector@0.21.1-canary.0

## 2.13.10

### Patch Changes

- 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/inspector@0.21.0
  - mcp-use@1.19.2

## 2.13.10-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/inspector@0.21.0-canary.2
  - mcp-use@1.19.2-canary.2

## 2.13.10-canary.1

### Patch Changes

- Updated dependencies [894d21a]
- Updated dependencies [894d21a]
  - @mcp-use/inspector@0.21.0-canary.1
  - mcp-use@1.19.2-canary.1

## 2.13.10-canary.0

### Patch Changes

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

## 2.13.9

### Patch Changes

- Updated dependencies [568901e]
  - @mcp-use/inspector@0.20.1
  - mcp-use@1.19.1

## 2.13.9-canary.0

### Patch Changes

- Updated dependencies [344dc29]
  - @mcp-use/inspector@0.20.1-canary.0
  - mcp-use@1.19.1-canary.0

## 2.13.8

### Patch Changes

- 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.

- 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]
- Updated dependencies [f4e2a70]
- Updated dependencies [f4e2a70]
- Updated dependencies [f4e2a70]
- Updated dependencies [f4e2a70]
  - @mcp-use/inspector@0.20.0
  - mcp-use@1.19.0

## 2.13.8-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/inspector@0.20.0-canary.6
  - mcp-use@1.19.0-canary.6

## 2.13.8-canary.5

### Patch Changes

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

## 2.13.8-canary.4

### Patch Changes

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

## 2.13.8-canary.3

### Patch Changes

- Updated dependencies [aa81040]
- Updated dependencies [aa81040]
- Updated dependencies [aa81040]
- Updated dependencies [aa81040]
- Updated dependencies [dea387a]
- Updated dependencies [aa81040]
- Updated dependencies [aa81040]
- Updated dependencies [aa81040]
  - @mcp-use/inspector@0.20.0-canary.3
  - mcp-use@1.19.0-canary.3

## 2.13.8-canary.2

### Patch Changes

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

## 2.13.8-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
  - @mcp-use/inspector@0.19.1-canary.1

## 2.13.8-canary.0

### Patch Changes

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

## 2.13.7

### Patch Changes

- Updated dependencies [3334a67]
- Updated dependencies [3334a67]
- Updated dependencies [3334a67]
- Updated dependencies [3334a67]
  - @mcp-use/inspector@0.19.0
  - mcp-use@1.18.0

## 2.13.7-canary.3

### Patch Changes

- Updated dependencies [c93a061]
  - @mcp-use/inspector@0.19.0-canary.3
  - mcp-use@1.18.0-canary.3

## 2.13.7-canary.2

### Patch Changes

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

## 2.13.7-canary.1

### Patch Changes

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

## 2.13.7-canary.0

### Patch Changes

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

## 2.13.6

### Patch Changes

- 32b19dc: fix: increased threshold for bundle size warning
- Updated dependencies [32b19dc]
- Updated dependencies [32b19dc]
  - @mcp-use/inspector@0.18.9
  - mcp-use@1.17.4

## 2.13.6-canary.0

### Patch Changes

- 4a118cc: fix: increased threshold for bundle size warning
- Updated dependencies [4a118cc]
- Updated dependencies [4a118cc]
  - @mcp-use/inspector@0.18.9-canary.0
  - mcp-use@1.17.4-canary.0

## 2.13.5

### Patch Changes

- Updated dependencies [af55041]
- Updated dependencies [af55041]
  - @mcp-use/inspector@0.18.8
  - mcp-use@1.17.3

## 2.13.5-canary.1

### Patch Changes

- Updated dependencies [f437838]
  - @mcp-use/inspector@0.18.8-canary.1
  - mcp-use@1.17.3-canary.1

## 2.13.5-canary.0

### Patch Changes

- Updated dependencies [a872832]
  - @mcp-use/inspector@0.18.8-canary.0
  - mcp-use@1.17.3-canary.0

## 2.13.4

### Patch Changes

- Updated dependencies [5760a10]
- Updated dependencies [5760a10]
- Updated dependencies [5760a10]
  - @mcp-use/inspector@0.18.7
  - mcp-use@1.17.2

## 2.13.4-canary.1

### Patch Changes

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

## 2.13.4-canary.0

### Patch Changes

- Updated dependencies [316870a]
- Updated dependencies [3d48e19]
  - @mcp-use/inspector@0.18.7-canary.0
  - mcp-use@1.17.2-canary.0

## 2.13.3

### Patch Changes

- Updated dependencies [df428ca]
  - mcp-use@1.17.1
  - @mcp-use/inspector@0.18.6

## 2.13.3-canary.0

### Patch Changes

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

## 2.13.2

### 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.

- Updated dependencies [3d787ba]
- Updated dependencies [3d787ba]
- Updated dependencies [3d787ba]
  - mcp-use@1.17.0
  - @mcp-use/inspector@0.18.5

## 2.13.2-canary.2

### Patch Changes

- Updated dependencies [4c881d3]
  - @mcp-use/inspector@0.18.5-canary.2
  - mcp-use@1.17.0-canary.2

## 2.13.2-canary.1

### Patch Changes

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

## 2.13.2-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
  - @mcp-use/inspector@0.18.5-canary.0

## 2.13.1

### Patch Changes

- ac3e216: fix(mcp-use): release canary versions
- ac3e216: fix(cli): use build manifest entryPoint for start command and support multiple server output paths

  **Build Command Improvements:**
  - Find source server file before TypeScript compilation
  - Determine compiled entry point location based on tsconfig patterns
  - Write `entryPoint` to `dist/mcp-use.json` manifest for reliable server location
  - Handle multiple possible output paths:
    - `dist/index.js` (rootDir set to project root)
    - `dist/src/index.js` (no rootDir, source in src/)
    - Custom paths based on tsconfig configuration

  **Start Command Improvements:**
  - Read `entryPoint` from `dist/mcp-use.json` manifest for accurate server location
  - Fallback to checking common server file locations if manifest doesn't exist:
    - `dist/index.js`
    - `dist/server.js`
    - `dist/src/index.js`
    - `dist/src/server.js`
  - Clear error message when no built server file is found, listing all attempted locations

  Commits: 116a3be4 (partial)

- Updated dependencies [ac3e216]
- Updated dependencies [ac3e216]
- Updated dependencies [ac3e216]
- Updated dependencies [ac3e216]
- Updated dependencies [ac3e216]
- Updated dependencies [ac3e216]
- Updated dependencies [ac3e216]
- Updated dependencies [ac3e216]
  - @mcp-use/inspector@0.18.4
  - mcp-use@1.16.4

## 2.13.1-canary.3

### Patch Changes

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

## 2.13.1-canary.2

### Patch Changes

- Updated dependencies [03094a1]
  - @mcp-use/inspector@0.18.4-canary.2
  - mcp-use@1.16.4-canary.2

## 2.13.1-canary.1

### Patch Changes

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

## 2.13.1-canary.0

### Patch Changes

- 7c2d7e3: fix(cli): use build manifest entryPoint for start command and support multiple server output paths

  **Build Command Improvements:**
  - Find source server file before TypeScript compilation
  - Determine compiled entry point location based on tsconfig patterns
  - Write `entryPoint` to `dist/mcp-use.json` manifest for reliable server location
  - Handle multiple possible output paths:
    - `dist/index.js` (rootDir set to project root)
    - `dist/src/index.js` (no rootDir, source in src/)
    - Custom paths based on tsconfig configuration

  **Start Command Improvements:**
  - Read `entryPoint` from `dist/mcp-use.json` manifest for accurate server location
  - Fallback to checking common server file locations if manifest doesn't exist:
    - `dist/index.js`
    - `dist/server.js`
    - `dist/src/index.js`
    - `dist/src/server.js`
  - Clear error message when no built server file is found, listing all attempted locations

  Commits: 116a3be4 (partial)

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

## 2.13.0

### Minor Changes

- b1b2895: Update CLI to Manufact branding and fix authentication issues
  - Changed default web URL from `mcp-use.com` to `manufact.com` for login flow
  - Fixed 431 "Request Header Fields Too Large" error by increasing callback server header limit to 16KB
  - Updated all user-facing messages to reference "Manufact" instead of "mcp-use"
  - Updated dashboard, inspector, and settings URLs to use `manufact.com` domain
  - Kept gateway domain as `run.mcp-use.com` for backward compatibility with existing deployments

### Patch Changes

- mcp-use@1.16.3
- @mcp-use/inspector@0.18.3

## 2.13.0-canary.0

### Minor Changes

- c0822e1: Update CLI to Manufact branding and fix authentication issues
  - Changed default web URL from `mcp-use.com` to `manufact.com` for login flow
  - Fixed 431 "Request Header Fields Too Large" error by increasing callback server header limit to 16KB
  - Updated all user-facing messages to reference "Manufact" instead of "mcp-use"
  - Updated dashboard, inspector, and settings URLs to use `manufact.com` domain
  - Kept gateway domain as `run.mcp-use.com` for backward compatibility with existing deployments

### Patch Changes

- mcp-use@1.16.3-canary.0
- @mcp-use/inspector@0.18.3-canary.0

## 2.12.6

### Patch Changes

- Updated dependencies [53ae49d]
- Updated dependencies [53ae49d]
  - @mcp-use/inspector@0.18.2
  - mcp-use@1.16.2

## 2.12.6-canary.0

### Patch Changes

- Updated dependencies [fea26ff]
- Updated dependencies [37af1bf]
  - @mcp-use/inspector@0.18.2-canary.0
  - mcp-use@1.16.2-canary.0

## 2.12.5

### Patch Changes

- Updated dependencies [4bdb92e]
  - mcp-use@1.16.1
  - @mcp-use/inspector@0.18.1

## 2.12.5-canary.0

### Patch Changes

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

## 2.12.4

### Patch Changes

- Updated dependencies [32f2113]
- Updated dependencies [32f2113]
- Updated dependencies [32f2113]
  - @mcp-use/inspector@0.18.0
  - mcp-use@1.16.0

## 2.12.4-canary.3

### Patch Changes

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

## 2.12.4-canary.2

### Patch Changes

- Updated dependencies [09c0300]
  - @mcp-use/inspector@0.18.0-canary.2
  - mcp-use@1.16.0-canary.2

## 2.12.4-canary.1

### Patch Changes

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

## 2.12.4-canary.0

### Patch Changes

- Updated dependencies [144ad6a]
  - @mcp-use/inspector@0.18.0-canary.0
  - mcp-use@1.15.4-canary.0

## 2.12.3

### Patch Changes

- 4666a37: fix: hmr not working if 0 tools initially
- Updated dependencies [4666a37]
- Updated dependencies [4666a37]
  - @mcp-use/inspector@0.17.3
  - mcp-use@1.15.3

## 2.12.3-canary.1

### Patch Changes

- Updated dependencies [10cdce9]
  - @mcp-use/inspector@0.17.3-canary.1
  - mcp-use@1.15.3-canary.1

## 2.12.3-canary.0

### Patch Changes

- 013101d: fix: hmr not working if 0 tools initially
- Updated dependencies [013101d]
  - mcp-use@1.15.3-canary.0
  - @mcp-use/inspector@0.17.3-canary.0

## 2.12.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/inspector@0.17.2
  - mcp-use@1.15.2

## 2.12.2-canary.1

### Patch Changes

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

## 2.12.2-canary.0

### Patch Changes

- eb777a4: 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.
  - mcp-use@1.15.2-canary.0
  - @mcp-use/inspector@0.17.2-canary.0

## 2.12.1

### Patch Changes

- 0742f22: fix(cli): preserve serverId when redeploying and refactor MCP server URL generation
  - mcp-use@1.15.1
  - @mcp-use/inspector@0.17.1

## 2.12.1-canary.0

### Patch Changes

- 7eb787f: fix(cli): preserve serverId when redeploying and refactor MCP server URL generation
  - mcp-use@1.15.1-canary.0
  - @mcp-use/inspector@0.17.1-canary.0

## 2.12.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/inspector@0.17.0
  - mcp-use@1.15.0

## 2.12.0-canary.4

### Patch Changes

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

## 2.12.0-canary.3

### Patch Changes

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

## 2.12.0-canary.2

### Patch Changes

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

## 2.12.0-canary.1

### Patch Changes

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

## 2.12.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/inspector@0.17.0-canary.0
  - mcp-use@1.15.0-canary.0

## 2.11.2

### Patch Changes

- 8326a66: fix: pass environment variables and deployment config during redeployment

  When redeploying an existing deployment, the CLI now properly passes environment variables, build command, start command, and port configuration to the redeployment API endpoint. Previously, redeployments would not include these updated settings.

- Updated dependencies [8326a66]
- Updated dependencies [8326a66]
- Updated dependencies [8326a66]
- Updated dependencies [8326a66]
- Updated dependencies [8326a66]
- Updated dependencies [8326a66]
  - @mcp-use/inspector@0.16.2
  - mcp-use@1.14.2

## 2.11.2-canary.4

### Patch Changes

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

## 2.11.2-canary.3

### Patch Changes

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

## 2.11.2-canary.2

### Patch Changes

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

## 2.11.2-canary.1

### Patch Changes

- e58a72d: fix: pass environment variables and deployment config during redeployment

  When redeploying an existing deployment, the CLI now properly passes environment variables, build command, start command, and port configuration to the redeployment API endpoint. Previously, redeployments would not include these updated settings.
  - mcp-use@1.14.2-canary.1
  - @mcp-use/inspector@0.16.2-canary.1

## 2.11.2-canary.0

### Patch Changes

- Updated dependencies [3124ca9]
- Updated dependencies [3124ca9]
- Updated dependencies [3124ca9]
  - @mcp-use/inspector@0.16.2-canary.0
  - mcp-use@1.14.2-canary.0

## 2.11.1

### Patch Changes

- Updated dependencies [c64a2dd]
  - @mcp-use/inspector@0.16.1
  - mcp-use@1.14.1

## 2.11.1-canary.0

### Patch Changes

- Updated dependencies [7e87931]
  - @mcp-use/inspector@0.16.1-canary.0
  - mcp-use@1.14.1-canary.0

## 2.11.0

### Minor Changes

- fe72e7e: feat: improved HMR support for widgets
- 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: Fix displayPackageVersions() to work in standalone installations
  - Added optional projectPath parameter to resolve packages dynamically
  - Uses createRequire() to find packages in user's node_modules (standalone installation)
  - Falls back to relative paths for monorepo development
  - Added debug logging when packages aren't found (via DEBUG or VERBOSE env vars)

- fe72e7e: fix(cli): enhance CLI to display package versions during dev and build commands
- 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: refactor(cli): streamline widget building process with parallel execution
- 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]
- Updated dependencies [fe72e7e]
- Updated dependencies [fe72e7e]
- Updated dependencies [fe72e7e]
- Updated dependencies [fe72e7e]
  - @mcp-use/inspector@0.16.0
  - mcp-use@1.14.0

## 2.11.0-canary.13

### Patch Changes

- Updated dependencies [453661d]
  - @mcp-use/inspector@0.16.0-canary.13
  - mcp-use@1.14.0-canary.13

## 2.11.0-canary.12

### Patch Changes

- f428514: Fix displayPackageVersions() to work in standalone installations
  - Added optional projectPath parameter to resolve packages dynamically
  - Uses createRequire() to find packages in user's node_modules (standalone installation)
  - Falls back to relative paths for monorepo development
  - Added debug logging when packages aren't found (via DEBUG or VERBOSE env vars)
  - mcp-use@1.14.0-canary.12
  - @mcp-use/inspector@0.16.0-canary.12

## 2.11.0-canary.11

### Patch Changes

- Updated dependencies [805092b]
  - @mcp-use/inspector@0.16.0-canary.11
  - mcp-use@1.14.0-canary.11

## 2.11.0-canary.10

### Patch 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

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

## 2.11.0-canary.9

### Patch Changes

- 782bb3e: feat(cli): enhance CLI to display package versions during dev and build commands
  - mcp-use@1.14.0-canary.9
  - @mcp-use/inspector@0.16.0-canary.9

## 2.11.0-canary.8

### Patch Changes

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

## 2.11.0-canary.7

### Patch Changes

- Updated dependencies [0cfeb1d]
- Updated dependencies [4652707]
  - mcp-use@1.14.0-canary.7
  - @mcp-use/inspector@0.16.0-canary.7

## 2.11.0-canary.6

### Patch Changes

- Updated dependencies [1fb5e5e]
- Updated dependencies [948e0ae]
  - mcp-use@1.14.0-canary.6
  - @mcp-use/inspector@0.16.0-canary.6

## 2.11.0-canary.5

### Patch Changes

- da4c861: refactor(cli): streamline widget building process with parallel execution
  - mcp-use@1.14.0-canary.5
  - @mcp-use/inspector@0.16.0-canary.5

## 2.11.0-canary.4

### Patch Changes

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

## 2.11.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/inspector@0.16.0-canary.3
  - mcp-use@1.14.0-canary.3

## 2.11.0-canary.2

### Minor Changes

- ad66391: fix: improved HMR support for widgets

### Patch Changes

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

## 2.11.0-canary.1

### Patch Changes

- Updated dependencies [199199d]
  - @mcp-use/inspector@0.16.0-canary.1
  - mcp-use@1.14.0-canary.1

## 2.11.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/inspector@0.16.0-canary.0
  - mcp-use@1.14.0-canary.0

## 2.10.3

### Patch Changes

- b65d05d: feat(cli): add .gitignore and CLAUDE.md for CLI documentation
- Updated dependencies [b65d05d]
  - mcp-use@1.13.5
  - @mcp-use/inspector@0.15.3

## 2.10.3-canary.0

### Patch Changes

- de5f030: feat(cli): add .gitignore and CLAUDE.md for CLI documentation
  - mcp-use@1.13.5-canary.0
  - @mcp-use/inspector@0.15.3-canary.0

## 2.10.2

### Patch Changes

- Updated dependencies [dd8d07d]
  - mcp-use@1.13.4
  - @mcp-use/inspector@0.15.2

## 2.10.2-canary.0

### Patch Changes

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

## 2.10.1

### Patch Changes

- Updated dependencies [294d17d]
- Updated dependencies [294d17d]
- Updated dependencies [294d17d]
  - @mcp-use/inspector@0.15.1
  - mcp-use@1.13.3

## 2.10.1-canary.2

### Patch Changes

- Updated dependencies [b06fa78]
  - @mcp-use/inspector@0.15.1-canary.2
  - mcp-use@1.13.3-canary.2

## 2.10.1-canary.1

### Patch Changes

- Updated dependencies [c3f2ebf]
  - @mcp-use/inspector@0.15.1-canary.1
  - mcp-use@1.13.3-canary.1

## 2.10.1-canary.0

### Patch Changes

- Updated dependencies [d446ee5]
  - @mcp-use/inspector@0.15.1-canary.0
  - mcp-use@1.13.3-canary.0

## 2.10.0

### Minor Changes

- 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

### Patch Changes

- Updated dependencies [0144a31]
- Updated dependencies [0144a31]
- Updated dependencies [0144a31]
- Updated dependencies [0144a31]
  - @mcp-use/inspector@0.15.0
  - mcp-use@1.13.2

## 2.10.0-canary.1

### Patch Changes

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

## 2.10.0-canary.0

### Minor Changes

- 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

### Patch Changes

- Updated dependencies [52be97c]
- Updated dependencies [c9bde52]
- Updated dependencies [450ab65]
  - @mcp-use/inspector@0.15.0-canary.0
  - mcp-use@1.13.2-canary.0

## 2.9.1

### Patch Changes

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

## 2.9.1-canary.1

### Patch Changes

- 727df09: chore: update mcp-use version
- Updated dependencies [727df09]
  - @mcp-use/inspector@0.14.6-canary.1
  - mcp-use@1.13.1-canary.1

## 2.9.1-canary.0

### Patch Changes

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

## 2.9.0

### Minor Changes

- bcdecd4: feat: Hot Module Reloading (HMR) for MCP server development

  Added HMR support to the `mcp-use dev` command. When you modify your server file (add/remove/update tools, prompts, or resources), changes are applied instantly without restarting the server or dropping client connections.

  **Features:**
  - Tools, prompts, and resources can be added, removed, or updated on-the-fly
  - Connected clients (like the inspector) receive `list_changed` notifications and auto-refresh
  - No changes required to user code - existing server files work as-is
  - Syntax errors during reload are caught gracefully without crashing the server

  **How it works:**
  - CLI uses `chokidar` to watch `src/` directory and root `.ts`/`.tsx` files
  - On file change, the module is re-imported with cache-busting
  - `syncRegistrationsFrom()` diffs registrations and uses the SDK's native `RegisteredTool.update()` and `remove()` methods
  - `list_changed` notifications are sent to all connected sessions

  **Usage:**

  ```bash
  mcp-use dev  # HMR enabled by default
  mcp-use dev --no-hmr  # Disable HMR, use tsx watch instead
  ```

- bcdecd4: feat(cli): enhance hot module reloading and server management
  - Improved hot module reloading (HMR) support by allowing local `tsx` usage, falling back to `npx` if not found
  - Updated server command execution to handle TypeScript imports more effectively
  - Enhanced file watching capabilities to include `.ts` and `.tsx` files while ignoring unnecessary patterns
  - Streamlined tool, prompt, and resource registration during HMR to directly inject into active sessions without removal, preserving existing configurations
  - Added detailed logging for file changes and watcher readiness to improve developer experience

### Patch Changes

- bcdecd4: Add comprehensive test suite for Hot Module Replacement (HMR) functionality

  **Testing Approach:**

  Tests use minimal mocking, focusing on:
  - Real `MCPServer` instances
  - Actual console logs (the developer experience)
  - Direct registration state inspection
  - Light session mocking only for injection tests

  This approach is more robust and less brittle than heavy mocking, as tests verify real behavior and won't break when SDK internals change.

  **Test Coverage:**

  **Unit Tests** (`tests/unit/server/hmr.test.ts` - 15 tests):
  - Tool registration (add, update, inject)
  - Prompt registration (add, inject)
  - Resource registration (add, inject)
  - Notification sending (tools/list_changed, prompts/list_changed, resources/list_changed)
  - Entry methods (enable, disable, remove, update)
  - Error handling for injection failures
  - Graceful notification error handling

  **Integration Tests** (`tests/integration/hmr-cli.test.ts`):
  - End-to-end file change detection
  - Tool addition via HMR
  - Tool description updates
  - Syntax error handling and recovery
  - Connection persistence during HMR

  **CLI Tests** (`packages/cli/tests/tsx-resolution.test.ts`):
  - tsx binary resolution from package.json bin field
  - Handling string and object bin formats
  - Graceful error handling for missing bin field
  - Preference for 'tsx' entry in object form

  All tests include proper setup/teardown, mocking, and comprehensive assertions.

- 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
  - @mcp-use/inspector@0.14.5

## 2.9.0-canary.3

### Patch Changes

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

## 2.9.0-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/inspector@0.14.5-canary.2
  - mcp-use@1.13.0-canary.2

## 2.9.0-canary.1

### Minor Changes

- 7359d66: feat(cli): enhance hot module reloading and server management
  - Improved hot module reloading (HMR) support by allowing local `tsx` usage, falling back to `npx` if not found
  - Updated server command execution to handle TypeScript imports more effectively
  - Enhanced file watching capabilities to include `.ts` and `.tsx` files while ignoring unnecessary patterns
  - Streamlined tool, prompt, and resource registration during HMR to directly inject into active sessions without removal, preserving existing configurations
  - Added detailed logging for file changes and watcher readiness to improve developer experience

### Patch Changes

- 7359d66: Add comprehensive test suite for Hot Module Replacement (HMR) functionality

  **Testing Approach:**

  Tests use minimal mocking, focusing on:
  - Real `MCPServer` instances
  - Actual console logs (the developer experience)
  - Direct registration state inspection
  - Light session mocking only for injection tests

  This approach is more robust and less brittle than heavy mocking, as tests verify real behavior and won't break when SDK internals change.

  **Test Coverage:**

  **Unit Tests** (`tests/unit/server/hmr.test.ts` - 15 tests):
  - Tool registration (add, update, inject)
  - Prompt registration (add, inject)
  - Resource registration (add, inject)
  - Notification sending (tools/list_changed, prompts/list_changed, resources/list_changed)
  - Entry methods (enable, disable, remove, update)
  - Error handling for injection failures
  - Graceful notification error handling

  **Integration Tests** (`tests/integration/hmr-cli.test.ts`):
  - End-to-end file change detection
  - Tool addition via HMR
  - Tool description updates
  - Syntax error handling and recovery
  - Connection persistence during HMR

  **CLI Tests** (`packages/cli/tests/tsx-resolution.test.ts`):
  - tsx binary resolution from package.json bin field
  - Handling string and object bin formats
  - Graceful error handling for missing bin field
  - Preference for 'tsx' entry in object form

  All tests include proper setup/teardown, mocking, and comprehensive assertions.

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

## 2.9.0-canary.0

### Minor Changes

- 0be9ed8: feat: Hot Module Reloading (HMR) for MCP server development

  Added HMR support to the `mcp-use dev` command. When you modify your server file (add/remove/update tools, prompts, or resources), changes are applied instantly without restarting the server or dropping client connections.

  **Features:**
  - Tools, prompts, and resources can be added, removed, or updated on-the-fly
  - Connected clients (like the inspector) receive `list_changed` notifications and auto-refresh
  - No changes required to user code - existing server files work as-is
  - Syntax errors during reload are caught gracefully without crashing the server

  **How it works:**
  - CLI uses `chokidar` to watch `src/` directory and root `.ts`/`.tsx` files
  - On file change, the module is re-imported with cache-busting
  - `syncRegistrationsFrom()` diffs registrations and uses the SDK's native `RegisteredTool.update()` and `remove()` methods
  - `list_changed` notifications are sent to all connected sessions

  **Usage:**

  ```bash
  mcp-use dev  # HMR enabled by default
  mcp-use dev --no-hmr  # Disable HMR, use tsx watch instead
  ```

### Patch Changes

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

## 2.8.4

### Patch Changes

- Updated dependencies [5161914]
  - @mcp-use/inspector@0.14.4
  - mcp-use@1.12.4

## 2.8.4-canary.0

### Patch Changes

- Updated dependencies [a308b3f]
  - @mcp-use/inspector@0.14.4-canary.0
  - mcp-use@1.12.4-canary.0

## 2.8.3

### Patch Changes

- 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)

- Updated dependencies [2f89a3b]
- Updated dependencies [2f89a3b]
- Updated dependencies [2f89a3b]
  - @mcp-use/inspector@0.14.3
  - mcp-use@1.12.3

## 2.8.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)

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

## 2.8.3-canary.0

### Patch Changes

- Updated dependencies [708f6e5]
  - @mcp-use/inspector@0.14.3-canary.0
  - mcp-use@1.12.3-canary.0

## 2.8.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: chore: updated docs
- 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]
- Updated dependencies [198fffd]
  - @mcp-use/inspector@0.14.2
  - mcp-use@1.12.2

## 2.8.2-canary.2

### Patch Changes

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

## 2.8.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: ## 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]
- Updated dependencies [94e4e63]
  - @mcp-use/inspector@0.14.2-canary.1
  - mcp-use@1.12.2-canary.1

## 2.8.2-canary.0

### Patch Changes

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

## 2.8.1

### Patch Changes

- e36d1ab: fix: directory separator on Windows platform causing widgets build fail. Normalize Windows backslash path separators to forward slashes when building widget entry paths to ensure cross-platform compatibility.
- Updated dependencies [e36d1ab]
- Updated dependencies [e36d1ab]
- Updated dependencies [e36d1ab]
  - @mcp-use/inspector@0.14.1
  - mcp-use@1.12.1

## 2.8.1-canary.2

### Patch Changes

- Updated dependencies [74ff401]
  - @mcp-use/inspector@0.14.1-canary.2
  - mcp-use@1.12.1-canary.2

## 2.8.1-canary.1

### Patch Changes

- 4ff190a: fix: directory separator on Windows platform causing widgets build fail. Normalize Windows backslash path separators to forward slashes when building widget entry paths to ensure cross-platform compatibility.
  - mcp-use@1.12.1-canary.1
  - @mcp-use/inspector@0.14.1-canary.1

## 2.8.1-canary.0

### Patch Changes

- Updated dependencies [1674a02]
- Updated dependencies [1674a02]
  - @mcp-use/inspector@0.14.1-canary.0
  - mcp-use@1.12.1-canary.0

## 2.8.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: 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

- 53fb670: ci: add dev command testing to CI workflow & fix issue [#742](https://github.com/mcp-use/mcp-use/issues/742)
- 53fb670: chore: lint & format
- 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]
- Updated dependencies [53fb670]
- Updated dependencies [53fb670]
- Updated dependencies [53fb670]
- Updated dependencies [53fb670]
- Updated dependencies [53fb670]
  - @mcp-use/inspector@0.14.0
  - mcp-use@1.12.0

## 2.8.0-canary.14

### Patch Changes

- Updated dependencies [b16431b]
  - @mcp-use/inspector@0.14.0-canary.14
  - mcp-use@1.12.0-canary.14

## 2.8.0-canary.13

### Patch Changes

- a95e8bb: ci: add dev command testing to CI workflow & fix issue [#742](https://github.com/mcp-use/mcp-use/issues/742)
  - mcp-use@1.12.0-canary.13
  - @mcp-use/inspector@0.14.0-canary.13

## 2.8.0-canary.12

### Patch Changes

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

## 2.8.0-canary.11

### Patch Changes

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

## 2.8.0-canary.10

### Patch Changes

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

## 2.8.0-canary.9

### Patch Changes

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

## 2.8.0-canary.8

### Patch Changes

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

## 2.8.0-canary.7

### Patch Changes

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

## 2.8.0-canary.6

### Patch Changes

- Updated dependencies [2113c43]
  - @mcp-use/inspector@0.14.0-canary.6
  - mcp-use@1.12.0-canary.6

## 2.8.0-canary.5

### Patch Changes

- Updated dependencies [7381ec3]
  - @mcp-use/inspector@0.14.0-canary.5
  - mcp-use@1.12.0-canary.5

## 2.8.0-canary.4

### Patch Changes

- Updated dependencies [ef5a71d]
  - @mcp-use/inspector@0.14.0-canary.4
  - mcp-use@1.12.0-canary.4

## 2.8.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/inspector@0.14.0-canary.3
  - mcp-use@1.12.0-canary.3

## 2.8.0-canary.2

### Patch Changes

- Updated dependencies [93fd156]
  - @mcp-use/inspector@0.14.0-canary.2
  - mcp-use@1.12.0-canary.2

## 2.8.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/inspector@0.14.0-canary.1
  - mcp-use@1.12.0-canary.1

## 2.7.1-canary.0

### Patch Changes

- Updated dependencies [841cccf]
  - @mcp-use/inspector@0.14.0-canary.0
  - mcp-use@1.11.3-canary.0

## 2.7.0

### Minor Changes

- 9a8cb3a: feat: added deployments management to the cli
- 9a8cb3a: feat: added support for project linking in cli
- 9a8cb3a: feat(cli): allow setting env vars for the deployment while deploying

### Patch Changes

- 9a8cb3a: fix(cli): port detection
- 9a8cb3a: chore(docs): updated examples and docs to use preferred methods
- Updated dependencies [9a8cb3a]
  - @mcp-use/inspector@0.13.2
  - mcp-use@1.11.2

## 2.7.0-canary.1

### Patch Changes

- 681c929: fix(cli): port detection
- 681c929: chore(docs): updated examples and docs to use preferred methods
- Updated dependencies [681c929]
  - @mcp-use/inspector@0.13.2-canary.1
  - mcp-use@1.11.2-canary.1

## 2.7.0-canary.0

### Minor Changes

- 0f3550c: feat: added deployments management to the cli
- 0f3550c: feat: added support for project linking in cli
- 0f3550c: feat(cli): allow setting env vars for the deployment while deploying

### Patch Changes

- mcp-use@1.11.2-canary.0
- @mcp-use/inspector@0.13.2-canary.0

## 2.6.1

### Patch Changes

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

## 2.6.1-canary.0

### Patch Changes

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

## 2.6.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: import from mcp-use/client instead of main entry to avoid mixing dependencies
- 8a2e84e: chore: moved dev deps from the workspace packages to the typescript root for consistency
- 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]
- Updated dependencies [8a2e84e]
- Updated dependencies [8a2e84e]
- Updated dependencies [8a2e84e]
- Updated dependencies [8a2e84e]
  - @mcp-use/inspector@0.13.0
  - mcp-use@1.11.0

## 2.6.0-canary.20

### Patch Changes

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

## 2.6.0-canary.19

### Patch Changes

- Updated dependencies [1adbb26]
  - @mcp-use/inspector@0.13.0-canary.19
  - mcp-use@1.11.0-canary.19

## 2.6.0-canary.18

### Patch Changes

- Updated dependencies [2902a2e]
- Updated dependencies [d7797b6]
- Updated dependencies [168a2e1]
  - @mcp-use/inspector@0.13.0-canary.18
  - mcp-use@1.11.0-canary.18

## 2.6.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
  - @mcp-use/inspector@0.13.0-canary.17

## 2.6.0-canary.16

### Patch Changes

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

## 2.6.0-canary.15

### Patch Changes

- Updated dependencies [0a7a19a]
  - @mcp-use/inspector@0.13.0-canary.15
  - mcp-use@1.11.0-canary.15

## 2.6.0-canary.14

### Patch Changes

- Updated dependencies [f5dfa51]
  - @mcp-use/inspector@0.13.0-canary.14
  - mcp-use@1.11.0-canary.14

## 2.6.0-canary.13

### Patch Changes

- Updated dependencies [f7623fc]
  - @mcp-use/inspector@0.13.0-canary.13
  - mcp-use@1.11.0-canary.13

## 2.6.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/inspector@0.13.0-canary.12
  - mcp-use@1.11.0-canary.12

## 2.6.0-canary.11

### Patch Changes

- cf72b53: fix: import from mcp-use/client instead of main entry to avoid mixing dependencies
- Updated dependencies [cf72b53]
  - mcp-use@1.11.0-canary.11
  - @mcp-use/inspector@0.13.0-canary.11

## 2.6.0-canary.10

### Patch Changes

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

## 2.6.0-canary.9

### Patch Changes

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

## 2.6.0-canary.8

### Minor Changes

- 3945a10: **Breaking Changes:**
  - LangChain adapter no longer exported from main entry point. Import from `mcp-use/adapters` instead:

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

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

  - Moved `@langchain/core` and `langchain` from dependencies to optional peer dependencies

  **Features:**
  - Added favicon support for widget pages. Configure via `favicon` option in `ServerConfig`:
    ```ts
    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 now includes favicon in widget HTML pages

  **Improvements:**
  - Automatic cleanup of stale widget directories in `.mcp-use` folder
  - Dev mode now watches for widget file/directory deletions and cleans up build artifacts
  - Added long-term caching (1 year) for favicon assets

### Patch Changes

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

## 2.6.0-canary.7

### Patch Changes

- Updated dependencies [9acf03b]
  - @mcp-use/inspector@0.13.0-canary.7
  - mcp-use@1.11.0-canary.7

## 2.6.0-canary.6

### Patch Changes

- fdbd09e: fix: widgets do not pick up mcp-use styles
- Updated dependencies [fdbd09e]
  - mcp-use@1.11.0-canary.6
  - @mcp-use/inspector@0.13.0-canary.6

## 2.6.0-canary.5

### Patch Changes

- Updated dependencies [0b2292d]
- Updated dependencies [861546b]
  - mcp-use@1.11.0-canary.5
  - @mcp-use/inspector@0.13.0-canary.5

## 2.6.0-canary.4

### Patch Changes

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

## 2.6.0-canary.3

### Minor Changes

- e302f8d: feat: added support for cli client

### Patch Changes

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

## 2.5.6

### Patch Changes

- Updated dependencies [918287c]
  - mcp-use@1.10.6
  - @mcp-use/inspector@0.12.6

## 2.5.5

### Patch Changes

- Updated dependencies [dcf938f]
  - mcp-use@1.10.5
  - @mcp-use/inspector@0.12.5

## 2.5.4

### Patch Changes

- fix: deno 5
- Updated dependencies
  - mcp-use@1.10.4
  - @mcp-use/inspector@0.12.4

## 2.5.3

### Patch Changes

- Updated dependencies
  - @mcp-use/inspector@0.12.3
  - mcp-use@1.10.3

## 2.5.2

### Patch Changes

- Updated dependencies
  - @mcp-use/inspector@0.12.2
  - mcp-use@1.10.2

## 2.5.1

### Patch Changes

- Updated dependencies [b3d69ed]
  - @mcp-use/inspector@0.12.1
  - mcp-use@1.10.1

## 2.5.1-canary.2

### Patch Changes

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

## 2.5.1-canary.1

### Patch Changes

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

## 2.5.1-canary.0

### Patch Changes

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

## 2.5.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.

### Patch Changes

- 6ec11cd: fix: refactor to use https://github.com/modelcontextprotocol/typescript-sdk/pull/1209
- 6ec11cd: fix: fix transport bug
- 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]
- Updated dependencies [6ec11cd]
- Updated dependencies [6ec11cd]
- Updated dependencies [6ec11cd]
  - @mcp-use/inspector@0.12.0
  - mcp-use@1.10.0

## 2.5.0-canary.11

### Patch Changes

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

## 2.5.0-canary.10

### Patch Changes

- Updated dependencies [0633fbd]
  - @mcp-use/inspector@0.12.0-canary.10
  - mcp-use@1.10.0-canary.10

## 2.5.0-canary.9

### Patch Changes

- Updated dependencies [79ce293]
  - @mcp-use/inspector@0.12.0-canary.9
  - mcp-use@1.10.0-canary.9

## 2.5.0-canary.8

### Patch Changes

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

## 2.5.0-canary.7

### Patch Changes

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

## 2.5.0-canary.6

### Patch Changes

- Updated dependencies [c4fe367]
  - @mcp-use/inspector@0.12.0-canary.6
  - mcp-use@1.10.0-canary.6

## 2.5.0-canary.5

### Patch Changes

- Updated dependencies [4d61e84]
  - @mcp-use/inspector@0.12.0-canary.5
  - mcp-use@1.10.0-canary.5

## 2.5.0-canary.4

### Patch Changes

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

## 2.5.0-canary.3

### Patch Changes

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

## 2.5.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/inspector@0.12.0-canary.2
  - mcp-use@1.10.0-canary.2

## 2.4.9-canary.1

### Patch Changes

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

## 2.4.9-canary.0

### Patch Changes

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

## 2.4.8

### Patch Changes

- 4fc04a9: fix: fix transport bug
- Updated dependencies [4fc04a9]
- Updated dependencies [4fc04a9]
- Updated dependencies [4fc04a9]
- Updated dependencies [4fc04a9]
  - @mcp-use/inspector@0.11.0
  - mcp-use@1.9.0

## 2.4.8-canary.3

### Patch Changes

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

## 2.4.8-canary.2

### Patch Changes

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

## 2.4.8-canary.1

### Patch Changes

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

## 2.4.8-canary.0

### Patch Changes

- Updated dependencies [d726bfa]
  - @mcp-use/inspector@0.10.2-canary.0
  - mcp-use@1.8.2-canary.0

## 2.4.7

### Patch Changes

- Updated dependencies [4bf21f3]
  - @mcp-use/inspector@0.10.1
  - mcp-use@1.8.1

## 2.4.7-canary.0

### Patch Changes

- Updated dependencies [33a1a69]
  - @mcp-use/inspector@0.10.1-canary.0
  - mcp-use@1.8.1-canary.0

## 2.4.6

### Patch Changes

- Updated dependencies [00b19c5]
  - @mcp-use/inspector@0.10.0
  - mcp-use@1.8.0

## 2.4.6-canary.0

### Patch Changes

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

## 2.4.5

### Patch Changes

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

## 2.4.5-canary.0

### Patch Changes

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

## 2.4.4

### Patch Changes

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

## 2.4.4-canary.1

### Patch Changes

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

## 2.4.4-canary.0

### Patch Changes

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

## 2.4.3

### Patch Changes

- 2730902: Optimized dependencies
- 2730902: chore: fixed readme of package.json
- Updated dependencies [2730902]
- Updated dependencies [2730902]
- Updated dependencies [2730902]
- Updated dependencies [2730902]
- Updated dependencies [2730902]
- Updated dependencies [2730902]
- Updated dependencies [2730902]
- Updated dependencies [2730902]
- Updated dependencies [2730902]
- Updated dependencies [2730902]
- Updated dependencies [2730902]
- Updated dependencies [2730902]
  - @mcp-use/inspector@0.9.0
  - mcp-use@1.7.0

## 2.4.3-canary.8

### Patch Changes

- 0daae72: chore: fixed readme of package.json
  - mcp-use@1.7.0-canary.8
  - @mcp-use/inspector@0.9.0-canary.8

## 2.4.3-canary.7

### Patch Changes

- Updated dependencies [caf8c7c]
- Updated dependencies [caf8c7c]
- Updated dependencies [caf8c7c]
  - @mcp-use/inspector@0.9.0-canary.7
  - mcp-use@1.7.0-canary.7

## 2.4.3-canary.6

### Patch Changes

- Updated dependencies [38da68d]
- Updated dependencies [38da68d]
  - @mcp-use/inspector@0.9.0-canary.6
  - mcp-use@1.7.0-canary.6

## 2.4.3-canary.5

### Patch Changes

- Updated dependencies [4b917e0]
  - @mcp-use/inspector@0.9.0-canary.5
  - mcp-use@1.7.0-canary.5

## 2.4.3-canary.4

### Patch Changes

- Updated dependencies [f44e60f]
  - @mcp-use/inspector@0.9.0-canary.4
  - mcp-use@1.7.0-canary.4

## 2.4.3-canary.3

### Patch Changes

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

## 2.4.3-canary.2

### Patch Changes

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

## 2.4.3-canary.1

### Patch Changes

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

## 2.4.3-canary.0

### Patch Changes

- Updated dependencies [041da75]
- Updated dependencies [041da75]
  - @mcp-use/inspector@0.8.3-canary.0
  - mcp-use@1.6.3-canary.0

## 2.4.2

### Patch Changes

- Updated dependencies [7e7c9a5]
  - @mcp-use/inspector@0.8.2
  - mcp-use@1.6.2

## 2.4.2-canary.0

### Patch Changes

- Updated dependencies [0530e6a]
  - @mcp-use/inspector@0.8.2-canary.0
  - mcp-use@1.6.2-canary.0

## 2.4.1

### Patch Changes

- c8e30ec: chore: update patch
- Updated dependencies [1a509bf]
- Updated dependencies [c60c055]
- Updated dependencies [4950e56]
- Updated dependencies [1a509bf]
- Updated dependencies [c8e30ec]
  - mcp-use@1.6.1
  - @mcp-use/inspector@0.8.1

## 2.4.1-canary.1

### Patch Changes

- 2389cfb: chore: update patch
  - mcp-use@1.6.1-canary.1
  - @mcp-use/inspector@0.8.1-canary.1

## 2.4.1-canary.0

### Patch Changes

- Updated dependencies [9974d55]
- Updated dependencies [e9e4075]
- Updated dependencies [32c6790]
- Updated dependencies [299ce65]
- Updated dependencies [0e77821]
  - mcp-use@1.6.1-canary.0
  - @mcp-use/inspector@0.8.1-canary.0

## 2.4.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

### Patch Changes

- 7e4dd9b: fix versions
- 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]
- Updated dependencies [7e4dd9b]
  - @mcp-use/inspector@0.8.0
  - mcp-use@1.6.0

## 2.3.1-canary.7

### Patch Changes

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

## 2.3.1-canary.6

### Patch Changes

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

## 2.3.1-canary.5

### Patch Changes

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

## 2.3.1-canary.4

### Patch Changes

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

## 2.3.1-canary.3

### Patch Changes

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

## 2.3.1-canary.2

### Patch Changes

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

## 2.3.1-canary.1

### Patch Changes

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

## 2.3.1-canary.0

### Patch Changes

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

## 2.3.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

### Patch Changes

- Updated dependencies [266a445]
- Updated dependencies [266a445]
- Updated dependencies [266a445]
- Updated dependencies [266a445]
  - @mcp-use/inspector@0.7.0
  - mcp-use@1.5.0

## 2.3.0-canary.3

### Minor Changes

- 018395c: Release canary

### Patch Changes

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

## 2.3.0-canary.2

### Patch Changes

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

## 2.3.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/inspector@0.7.0-canary.1
  - mcp-use@1.5.0-canary.1

## 2.2.5

### Patch Changes

- Updated dependencies [95c9d9f]
- Updated dependencies [95c9d9f]
  - mcp-use@1.4.1
  - @mcp-use/inspector@0.6.1

## 2.2.5-canary.1

### Patch Changes

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

## 2.2.5-canary.0

### Patch Changes

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

## 2.2.4

### Patch Changes

- 33e4a68: Fix deployment from source
- Updated dependencies [33e4a68]
- Updated dependencies [33e4a68]
- Updated dependencies [33e4a68]
  - @mcp-use/inspector@0.6.0
  - mcp-use@1.4.0

## 2.2.4-canary.3

### Patch Changes

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

## 2.2.4-canary.2

### Patch Changes

- c754733: Fix deployment from source
  - mcp-use@1.3.4-canary.2
  - @mcp-use/inspector@0.6.0-canary.2

## 2.2.4-canary.1

### Patch Changes

- Updated dependencies [451c507]
  - @mcp-use/inspector@0.6.0-canary.1
  - mcp-use@1.3.4-canary.1

## 2.2.4-canary.0

### Patch Changes

- Updated dependencies [1f4a798]
  - @mcp-use/inspector@0.6.0-canary.0
  - mcp-use@1.3.4-canary.0

## 2.2.3

### Patch Changes

- e8ec993: Add ability to reuse tunnel subdomain when using mcp-use start
- e8ec993: Remove irrelevant log statement
- 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
- Updated dependencies [e8ec993]
- Updated dependencies [e8ec993]
- Updated dependencies [e8ec993]
- Updated dependencies [e8ec993]
- Updated dependencies [e8ec993]
- Updated dependencies [e8ec993]
- Updated dependencies [e8ec993]
- Updated dependencies [e8ec993]
  - @mcp-use/inspector@0.5.3
  - mcp-use@1.3.3

## 2.2.3-canary.8

### Patch Changes

- Updated dependencies [329ce35]
  - @mcp-use/inspector@0.5.3-canary.8
  - mcp-use@1.3.3-canary.8

## 2.2.3-canary.7

### Patch Changes

- Updated dependencies [1ed0ab8]
  - @mcp-use/inspector@0.5.3-canary.7
  - mcp-use@1.3.3-canary.7

## 2.2.3-canary.6

### Patch Changes

- Updated dependencies [ba654db]
  - @mcp-use/inspector@0.5.3-canary.6
  - mcp-use@1.3.3-canary.6

## 2.2.3-canary.5

### Patch Changes

- Updated dependencies [f971dd8]
  - @mcp-use/inspector@0.5.3-canary.5
  - mcp-use@1.3.3-canary.5

## 2.2.3-canary.4

### Patch Changes

- 68d0d4c: Remove irrelevant log statement
- 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/inspector@0.5.3-canary.4
  - mcp-use@1.3.3-canary.4

## 2.2.3-canary.3

### Patch Changes

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

## 2.2.3-canary.2

### Patch Changes

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

## 2.2.3-canary.1

### Patch Changes

- f7995c0: Add ability to reuse tunnel subdomain when using mcp-use start
  - mcp-use@1.3.3-canary.1
  - @mcp-use/inspector@0.5.3-canary.1

## 2.2.3-canary.0

### Patch Changes

- Updated dependencies [d4c246a]
  - @mcp-use/inspector@0.5.3-canary.0
  - mcp-use@1.3.3-canary.0

## 2.2.2

### Patch Changes

- 835d367: fix inspector generated url
- 835d367: fix with-inspector param
- 835d367: make installation disabled by default and add deploy command to template package
- 835d367: chore: update dependencies
- 835d367: fix upload source
- Updated dependencies [835d367]
- Updated dependencies [835d367]
- Updated dependencies [835d367]
- Updated dependencies [835d367]
  - @mcp-use/inspector@0.5.2
  - mcp-use@1.3.2

## 2.2.2-canary.5

### Patch Changes

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

## 2.2.2-canary.4

### Patch Changes

- Updated dependencies [9db6706]
  - @mcp-use/inspector@0.5.2-canary.4
  - mcp-use@1.3.2-canary.4

## 2.2.2-canary.3

### Patch Changes

- 6133446: make installation disabled by default and add deploy command to template package
  - mcp-use@1.3.2-canary.3
  - @mcp-use/inspector@0.5.2-canary.3

## 2.2.2-canary.2

### Patch Changes

- 6e3278b: fix inspector generated url
  - mcp-use@1.3.2-canary.2
  - @mcp-use/inspector@0.5.2-canary.2

## 2.2.2-canary.1

### Patch Changes

- ecfa449: fix upload source
  - mcp-use@1.3.2-canary.1
  - @mcp-use/inspector@0.5.2-canary.1

## 2.2.2-canary.0

### Patch Changes

- 2ebe233: fix with-inspector param
- 2ebe233: chore: update dependencies
- Updated dependencies [2ebe233]
- Updated dependencies [2ebe233]
  - @mcp-use/inspector@0.5.2-canary.0
  - mcp-use@1.3.2-canary.0

## 2.2.1

### Patch Changes

- 91fdcee: fix with-inspector param
- 91fdcee: chore: update dependencies
- Updated dependencies [91fdcee]
- Updated dependencies [91fdcee]
  - @mcp-use/inspector@0.5.1
  - mcp-use@1.3.1

## 2.2.1-canary.0

### Patch Changes

- 9ece7fe: fix with-inspector param
- 9ece7fe: chore: update dependencies
- Updated dependencies [9ece7fe]
- Updated dependencies [9ece7fe]
  - @mcp-use/inspector@0.5.1-canary.0
  - mcp-use@1.3.1-canary.0

## 2.2.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

- Updated dependencies [26e1162]
- Updated dependencies [f25018a]
- Updated dependencies [26e1162]
  - mcp-use@1.3.0
  - @mcp-use/inspector@0.5.0

## 2.2.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/inspector@0.5.0-canary.1
  - mcp-use@1.3.0-canary.1

## 2.2.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

- Updated dependencies [3db425d]
- Updated dependencies [f25018a]
  - mcp-use@1.3.0-canary.0
  - @mcp-use/inspector@0.5.0-canary.0

## 2.1.25

### Patch Changes

- Updated dependencies [9209e99]
- Updated dependencies [9209e99]
  - mcp-use@1.2.4
  - @mcp-use/inspector@0.4.13

## 2.1.25-canary.1

### Patch Changes

- Updated dependencies [8194ad2]
  - mcp-use@1.2.4-canary.1
  - @mcp-use/inspector@0.4.13-canary.1

## 2.1.25-canary.0

### Patch Changes

- Updated dependencies [8e2210a]
  - @mcp-use/inspector@0.4.13-canary.0
  - mcp-use@1.2.4-canary.0

## 2.1.24

### Patch Changes

- Updated dependencies [410c67c]
- Updated dependencies [410c67c]
  - mcp-use@1.2.3
  - @mcp-use/inspector@0.4.12

## 2.1.24-canary.1

### Patch Changes

- Updated dependencies [7d0f904]
  - mcp-use@1.2.3-canary.1
  - @mcp-use/inspector@0.4.12-canary.1

## 2.1.24-canary.0

### Patch Changes

- Updated dependencies [d5ed5ba]
  - mcp-use@1.2.3-canary.0
  - @mcp-use/inspector@0.4.12-canary.0

## 2.1.23

### 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`

- Updated dependencies [ceed51b]
- Updated dependencies [ceed51b]
  - @mcp-use/inspector@0.4.11
  - mcp-use@1.2.2

## 2.1.23-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/inspector@0.4.11-canary.1
  - mcp-use@1.2.2-canary.1

## 2.1.23-canary.0

### Patch Changes

- Updated dependencies [38d3c3c]
  - @mcp-use/inspector@0.4.11-canary.0
  - mcp-use@1.2.2-canary.0

## 2.1.22

### Patch Changes

- Updated dependencies [9e555ef]
  - @mcp-use/inspector@0.4.10
  - mcp-use@1.2.1

## 2.1.22-canary.0

### Patch Changes

- Updated dependencies [a5a6919]
  - @mcp-use/inspector@0.4.10-canary.0
  - mcp-use@1.2.1-canary.0

## 2.1.21

### Patch Changes

- 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]
- Updated dependencies [708cc5b]
- Updated dependencies [708cc5b]
  - mcp-use@1.2.0
  - @mcp-use/inspector@0.4.9

## 2.1.21-canary.7

### Patch Changes

- a8e5b65: fix: apps sdk metadata setup from widget build
- Updated dependencies [a8e5b65]
  - @mcp-use/inspector@0.4.9-canary.7
  - mcp-use@1.2.0-canary.6

## 2.1.21-canary.6

### Patch Changes

- Updated dependencies [940d727]
  - mcp-use@1.2.0-canary.5
  - @mcp-use/inspector@0.4.9-canary.6

## 2.1.21-canary.5

### Patch Changes

- Updated dependencies [b9b739b]
  - @mcp-use/inspector@0.4.9-canary.5
  - mcp-use@1.2.0-canary.4

## 2.1.21-canary.4

### Patch Changes

- Updated dependencies [da6e7ed]
  - mcp-use@1.2.0-canary.3
  - @mcp-use/inspector@0.4.9-canary.4

## 2.1.21-canary.3

### Patch Changes

- Updated dependencies [3f2d2e9]
  - mcp-use@1.2.0-canary.2
  - @mcp-use/inspector@0.4.9-canary.3

## 2.1.21-canary.2

### Patch Changes

- Updated dependencies [5dd503f]
  - mcp-use@1.2.0-canary.1
  - @mcp-use/inspector@0.4.9-canary.2

## 2.1.21-canary.1

### Patch Changes

- Updated dependencies [3b72cde]
  - @mcp-use/inspector@0.4.9-canary.1

## 2.1.21-canary.0

### Patch Changes

- Updated dependencies [b24a213]
  - mcp-use@1.2.0-canary.0
  - @mcp-use/inspector@0.4.9-canary.0

## 2.1.20

### 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/inspector@0.4.8
  - mcp-use@1.1.8

## 2.1.20-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/inspector@0.4.8-canary.1
  - mcp-use@1.1.8-canary.1

## 2.1.20-canary.0

### Patch Changes

- Updated dependencies [3074165]
  - mcp-use@1.1.8-canary.0
  - @mcp-use/inspector@0.4.8-canary.0

## 2.1.19

### 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/inspector@0.4.7
  - mcp-use@1.1.7

## 2.1.19-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/inspector@0.4.7-canary.0
  - mcp-use@1.1.7-canary.0

## 2.1.18

### Patch Changes

- Updated dependencies [696b2e1]
- Updated dependencies [696b2e1]
- Updated dependencies [696b2e1]
- Updated dependencies [696b2e1]
- Updated dependencies [696b2e1]
- Updated dependencies [696b2e1]
- Updated dependencies [696b2e1]
- Updated dependencies [696b2e1]
  - @mcp-use/inspector@0.4.6
  - mcp-use@1.1.6

## 2.1.18-canary.7

### Patch Changes

- Updated dependencies [21a46d0]
  - @mcp-use/inspector@0.4.6-canary.7

## 2.1.18-canary.6

### Patch Changes

- Updated dependencies [c0d9b0b]
  - @mcp-use/inspector@0.4.6-canary.6

## 2.1.18-canary.5

### Patch Changes

- Updated dependencies [1f18132]
  - @mcp-use/inspector@0.4.6-canary.5

## 2.1.18-canary.4

### Patch Changes

- Updated dependencies [f958d73]
  - @mcp-use/inspector@0.4.6-canary.4

## 2.1.18-canary.3

### Patch Changes

- Updated dependencies [6010d08]
  - @mcp-use/inspector@0.4.6-canary.3

## 2.1.18-canary.2

### Patch Changes

- Updated dependencies [60f20cb]
  - mcp-use@1.1.6-canary.1
  - @mcp-use/inspector@0.4.6-canary.2

## 2.1.18-canary.1

### Patch Changes

- Updated dependencies [3d759e9]
  - @mcp-use/inspector@0.4.6-canary.1

## 2.1.18-canary.0

### Patch Changes

- Updated dependencies [6960f7f]
  - mcp-use@1.1.6-canary.0
  - @mcp-use/inspector@0.4.6-canary.0

## 2.1.17

### Patch Changes

- 6dcee78: fix inspector chat formatting
- Updated dependencies [6dcee78]
- Updated dependencies [6dcee78]
  - @mcp-use/inspector@0.4.5
  - mcp-use@1.1.5

## 2.1.17-canary.0

### Patch Changes

- Updated dependencies [d397711]
  - @mcp-use/inspector@0.4.5-canary.0
  - mcp-use@1.1.5-canary.0

## 2.1.16

### Patch Changes

- Updated dependencies [09d1e45]
- Updated dependencies [09d1e45]
  - @mcp-use/inspector@0.4.4
  - mcp-use@1.1.4

## 2.1.16-canary.1

### Patch Changes

- Updated dependencies [f88801a]
  - @mcp-use/inspector@0.4.4-canary.1

## 2.1.16-canary.0

### Patch Changes

- Updated dependencies [f11f846]
  - @mcp-use/inspector@0.4.4-canary.0
  - mcp-use@1.1.4-canary.0

## 2.1.15

### Patch Changes

- Updated dependencies [4852465]
  - @mcp-use/inspector@0.4.3
  - mcp-use@1.1.3

## 2.1.15-canary.1

### Patch Changes

- Updated dependencies [0203a77]
- Updated dependencies [ebf1814]
- Updated dependencies [cb60eef]
  - @mcp-use/inspector@0.4.3-canary.1
  - mcp-use@1.1.3-canary.1

## 2.1.15-canary.0

### Patch Changes

- Updated dependencies [d171bf7]
  - @mcp-use/inspector@0.4.3-canary.0
  - mcp-use@1.1.3-canary.0

## 2.1.14

### 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/inspector@0.4.2
  - mcp-use@1.1.2

## 2.1.14-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/inspector@0.4.2-canary.0
  - mcp-use@1.1.2-canary.0

## 2.1.13

### Patch Changes

- 3670ed0: minor fixes
- 3670ed0: minor
- Updated dependencies [3670ed0]
- Updated dependencies [3670ed0]
  - @mcp-use/inspector@0.4.1
  - mcp-use@1.1.1

## 2.1.13-canary.1

### Patch Changes

- a571b5c: minor
- Updated dependencies [a571b5c]
  - @mcp-use/inspector@0.4.1-canary.1
  - mcp-use@1.1.1-canary.1

## 2.1.13-canary.0

### Patch Changes

- 4ad9c7f: minor fixes
- Updated dependencies [4ad9c7f]
  - @mcp-use/inspector@0.4.1-canary.0
  - mcp-use@1.1.1-canary.0

## 2.1.12

### Patch Changes

- Updated dependencies [0f2b7f6]
- Updated dependencies [0f2b7f6]
  - mcp-use@1.1.0
  - @mcp-use/inspector@0.4.0

## 2.1.11

### Patch Changes

- fix: update to monorepo
- Updated dependencies
  - @mcp-use/inspector@0.3.11
  - mcp-use@1.0.7

## 2.1.10

### Patch Changes

- Updated dependencies [36722a4]
  - mcp-use@1.0.6
  - @mcp-use/inspector@0.3.10

## 2.1.9

### Patch Changes

- Updated dependencies [55dfebf]
  - mcp-use@1.0.5
  - @mcp-use/inspector@0.3.9

## 2.1.8

### Patch Changes

- Updated dependencies
  - @mcp-use/inspector@0.3.8
  - mcp-use@1.0.4

## 2.1.7

### Patch Changes

- Updated dependencies
  - @mcp-use/inspector@0.3.7
  - mcp-use@1.0.3

## 2.1.6

### Patch Changes

- Updated dependencies [3bd613e]
  - mcp-use@1.0.2
  - @mcp-use/inspector@0.3.6

## 2.1.5

### Patch Changes

- 8e92eaa: Bump version to fix npm publish issue - version 2.1.3 was already published
- Updated dependencies [8e92eaa]
  - @mcp-use/inspector@0.3.5

## 2.1.4

### Patch Changes

- Bump version to fix npm publish issue - version 2.1.3 was already published
- Updated dependencies
  - @mcp-use/inspector@0.3.4

## 2.1.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/inspector@0.3.3
  - mcp-use@1.0.1

## 2.1.2

### Patch Changes

- 6fa0026: Fix cli dist
- Updated dependencies [6fa0026]
  - @mcp-use/inspector@0.3.2

## 2.1.1

### Patch Changes

- 04b9f14: Update versions
- Updated dependencies [04b9f14]
  - @mcp-use/inspector@0.3.1

## 2.1.0

### Minor Changes

- Update dependecies versions

### Patch Changes

- Updated dependencies
  - @mcp-use/inspector@0.3.0
  - mcp-use@1.0.0

## 2.0.2

### 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
  - @mcp-use/inspector@0.2.1
