inspector/client/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Cliff Hall 5c782ada7c
feat: add URL-mode elicitation support (#1423)
* feat: add URL-mode elicitation support

The MCP spec (2025-11-25) added URL-mode elicitation alongside form mode,
allowing servers to direct users to external URLs for out-of-band
interactions (auth flows, payments, sensitive data). This implements
client-side support for rendering and handling URL-mode elicitation
requests, and announces the capability during initialization.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat: add consent dialog for URL elicitation and separate Accept button

Replace the clickable URL link with a consent dialog that displays the
URL as plain text when "Open URL" is clicked, letting the user confirm
before navigating. Add a separate "Accept" button that resolves the
elicitation without the content field, per the MCP spec.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: preserve structured McpError data in request history

When a tool call returns an MCP error (e.g. -32042 URLElicitationRequired),
the catch block was only capturing error.message (a string), discarding the
structured error.code and error.data fields.

Now McpError instances push the full JSON-RPC error structure to history:
  { error: { code, message, data } }

This means the Response panel will show the complete error including
data.elicitations for -32042, rather than just a message string.

* Revert "fix: preserve structured McpError data in request history"

This reverts commit 86f6d093f6596d6a9a52b85df24b66fa2e354d07.

* fix: enforce HTTPS-only for URL elicitation per SEP-1036

Address Claude review on #1423:
- Validate the server-supplied URL before opening it; refuse non-https
  schemes (http/file/javascript/data) and malformed URLs, disabling the
  "Open URL" button and showing an error state instead of calling
  window.open (SEP-1036 URL Security Requirements, a spec MUST).
- Display the parsed destination host prominently in the consent dialog
  to surface look-alike/embedded-credential URLs.
- Document that elicitation/complete is surfaced via the notification
  panel and resolved manually (no auto-correlation), a conscious choice
  per the spec's MAY/SHOULD.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: evalstate <1936278+evalstate@users.noreply.github.com>
2026-06-03 18:09:38 -07:00
..
__mocks__ Add some json form tests and handle css in ui tests 2025-03-24 08:28:28 -07:00
__tests__ Addressed all Claude review issues. 2026-04-07 10:33:28 -07:00
components feat: add URL-mode elicitation support (#1423) 2026-06-03 18:09:38 -07:00
lib feat: add URL-mode elicitation support (#1423) 2026-06-03 18:09:38 -07:00
utils oauth: add tenant suffix to oauth flow (#1096) 2026-02-19 06:00:33 -07:00
App.css Remove unnecessary margin property 2025-07-01 09:31:19 -07:00
App.tsx feat: add URL-mode elicitation support (#1423) 2026-06-03 18:09:38 -07:00
index.css Update index.css 2025-05-29 18:30:13 +03:00
main.tsx merge main 2025-04-03 00:47:21 +05:30
vite-env.d.ts init client 2024-10-07 16:28:05 -07:00