Skip to main content
The MCP App HTML endpoint serves the same built single-file widgets that are exposed through MCP resources/read, but over authenticated REST for hosts that do not have a live MCP client.

Endpoint

GET /api/v2/mcp-apps/:view/mcp-app.html
Use this endpoint when an Interchange-hosted UI needs to render a ui://agentic-api/.../mcp-app.html widget in a sandboxed iframe. The response body is HTML text and should be passed to the iframe as srcdoc; hosts provide widget data over the MCP Apps bridge after the iframe initializes.

Path parameters

ParameterTypeDescription
viewstringBuilt widget slug. Must contain only lowercase letters, numbers, and hyphens.
Supported views:
ViewResource URI
helpui://agentic-api/help/mcp-app.html
api-callui://agentic-api/api-call/mcp-app.html
murph-seller-analyticsui://agentic-api/murph-seller-analytics/mcp-app.html
account-analysisui://agentic-api/account-analysis/mcp-app.html
sponsored-buyersui://agentic-api/sponsored-buyers/mcp-app.html
storefront-briefsui://agentic-api/storefront-briefs/mcp-app.html

Response

Successful responses return the built HTML as text:
HTTP/1.1 200 OK
Content-Type: text/html;profile=mcp-app
Cache-Control: private, max-age=300
X-Content-Type-Options: nosniff
Content-Security-Policy: sandbox; default-src 'none'; script-src 'none'; base-uri 'none'; frame-ancestors 'none'

<!DOCTYPE html>
...
The response is intentionally cacheable only by the authenticated caller. Hosts should still apply their own iframe sandbox and bridge-level allowlists before sending data or actions into the widget.

Errors

StatusCodeWhen
400VALIDATION_ERRORview contains unsupported characters.
404NOT_FOUNDNo built MCP App widget exists for the requested view.

Example

curl https://api.interchange.io/api/v2/mcp-apps/murph-seller-analytics/mcp-app.html \
  -H "Authorization: Bearer scope3_your_api_key_here" \
  -H "Accept: text/html"