# Convert3D WebMCP

Convert3D exposes browser-native tools for loading and converting 3D models. These tools run inside the active Convert3D converter and are discovered through the browser's WebMCP implementation.

WebMCP support must be enabled in the browser, and the user's agent must support calling page-defined WebMCP tools. No separate MCP server or API key is required.

## What to look for

WebMCP is currently an early-preview feature in Chromium-based browsers. It can be enabled locally in Chrome at `chrome://flags/#enable-webmcp-testing` or in Microsoft Edge at `edge://flags/#enable-webmcp-testing`.

After opening the Convert3D workflow, use a built-in browser agent or extension that explicitly supports WebMCP page tools. Familiar assistant brands include ChatGPT and Codex from OpenAI, Claude from Anthropic, Cursor, and Grok from xAI, but the presence of one of these brands does not by itself guarantee that its current browser integration supports WebMCP. Support varies by product, browser integration, version, and configuration.

## Convert a model

1. Open https://convert3d.org/app.
2. Discover the tools registered by the page.
3. Call `load_model_from_url` with a CORS-readable HTTP(S) model URL, or call `load_model_from_base64` with a filename and inline base64 data.
4. Call `get_conversion_status` until `canConvert` is true. Preparation includes preview generation; a successful load does not mean it is ready to convert yet.
5. Discover or call `convert_3d_model` with `outputFormat`. Optionally set `dimension` and `download`.

Example intent: "Open Convert3D, load https://example.com/model.glb, convert it to FBX, and download the result."

Local and attached files do not need to be hosted on a server. With the user's permission to share the file with this app, read the file bytes, base64-encode them, and call `load_model_from_base64` with `fileName` and `data`. This requires the agent to be able to read the attachment; a local path or attachment identifier alone is not file data.

## Tools

### `open_converter`

Available on the homepage; takes no inputs. Navigates to `/app` without loading the conversion engine on the landing page. After navigation completes, discover the converter's tools. Agents already on `/app` can use those tools directly.

### `load_model_from_url`

Available in the converter. Loads a 3D model or ZIP archive from a CORS-readable HTTP(S) URL. The URL path must include a file extension unless `fileName` is provided.

Does not accept `data:` URLs, `file:` URLs, local paths, or attachments. Use `load_model_from_base64` for those file contents instead.

Inputs:

- `url` (required): HTTP(S) URL to the model or ZIP archive.
- `fileName` (optional): Filename with extension, used when the URL does not provide one.

### `load_model_from_base64`

Available in the converter. Loads a 3D model or ZIP archive from raw base64 or a base64 data URL. The decoded file may be at most 32 MB.

Use this for local or attached files: no server hosting or public URL is required. Pass the encoded file contents, not a local path or attachment identifier.

Inputs:

- `fileName` (required): Filename including its extension.
- `data` (required): Raw base64 or a base64 data URL.

### `convert_3d_model`

Available in the converter after model preparation. Converts the loaded model or batch to a supported output format. The live tool schema lists the output formats supported for the current workflow.

Inputs:

- `outputFormat` (required): Output extension without a leading dot.
- `dimension` (optional): `2D` or `3D` for formats supporting both.
- `download` (optional): Set to `true` to request a browser download.

### `get_conversion_status`

Read-only; takes no inputs. Reports the current model, stage, progress, selected formats, `canConvert`, `downloadReady`, result filename and size, and any conversion error. Available during preparation and conversion. Check status periodically rather than repeatedly starting a conversion.

## Behavior and privacy

Conversion uses the same client-side engine as the visible Convert3D app. Loading a URL fetches that URL from the page, so the source must permit cross-origin browser access. Tool calls update the visible workflow, allowing the user and agent to share context and review the result.

New conversion work or a reset invalidates older pending work. Navigating away cancels page tools; late results cannot replace a newer workflow or trigger an agent download. Engines that cannot stop immediately may finish computing, but their cancelled results are ignored.

WebMCP is an emerging browser API. Agents should rely on the live registered tool descriptions and JSON schemas when they differ from this document.
