Using MCP

This guide is for teams integrating Adobe Brand Intelligence Simulate into their own chat assistant via its MCP (Model Context Protocol) server.

1. Connecting

2. Tool reference

Tool
Purpose
Key inputs
Key outputs
initialize_simulate
One-time setup: returns the new-simulation Agent Skill for your host to install locally. Not part of running a simulation.
none
skill_name, skill_document (the full SKILL.md), message
list_workspaces
Lists the workspaces the user can access. The routine first call — it gets the workspace_id every other tool needs.
none
workspaces[], each with workspace_id, workspace_name, kind (personal | shared), is_active
get_simulation_options
The menu for a new simulation: study templates plus the populations and segments you can target.
none
templates[] (title, description, key questions, dimensions, defaults), populations[] with their segments[]
open_asset_upload
Opens an inline drag-and-drop upload panel for local files — only rendered if your host supports MCP-Apps UI panels; see Section 4.
none
Opens the panel; returns a text fallback on hosts that can't render it
prepare_asset_upload
Headless upload path for a local file: mints a presigned upload target + a ready-to-run upload command.
local_path, content_type
upload_id, upload_command (run it yourself, confirm exit code 0), expires_at
create_simulation
Launches a simulation testing one or more creatives against an audience.
workspace_id (top-level), request: {template_id, name, population_id, assets[], segment_ids?, sample_size?, objective?}
outcome (launched | draft_incomplete), simulation_id, status, webview_url
list_simulations
Browses the simulations in a workspace with their status. Does not read results.
workspace_id
simulations[], each with simulation_id, name, status, updated_at
get_simulation
Reads one simulation: status, inputs, and — once ready — the executive summary and findings. Also the poll target after a launch.
workspace_id, simulation_id
status, summary_status, executive_summary, analysis, inputs, webview_url

get_simulation_status and upload_asset_bytes are internal tools the progress and upload panels themselves call — you won't call them directly unless you're also implementing MCP-Apps-compatible panels of your own.

3. How to drive the tools correctly

This is the actual behavioral contract — adapt the wording to your own system prompt as needed, but keep the substance:

4. UI panels: confirm support before relying on them

Three Simulate tools attach an inline panel via the io.modelcontextprotocol/ui MCP extension. Most custom-built agent frameworks do not implement this extension.

Tool
Panel
If your host can't render it
open_asset_upload
Drag-and-drop upload for local files
Returns a text message pointing at prepare_asset_upload
create_simulation
Live progress for the run
Decorative only — the structured result is unaffected
get_simulation
Visual summary of the results
Decorative only — the structured result is unaffected

If your framework doesn't support the extension:

Even on a host that renders panels, the progress panel hands your assistant nothing: it is a visual for the user. Your assistant is always the one that polls get_simulation and reports the results.

5. Prompts

The server also exposes three MCP prompts, which hosts typically surface as slash commands:

Prompt
Arguments
What it does
create_simulation
optional goal
Walks the assistant through the four decisions, confirmation, launch, and polling.
check_simulation_status
optional workspace_id, simulation_id
Finds a simulation if needed, then reports its status and, when ready, its executive summary.
initialize_simulate
none
Calls the initialize_simulate tool and installs the returned skill.

6. Reference

The MCP Tools Reference is a machine-readable OpenAPI 3.1 description of the 8 Simulate tools' request/response schemas — useful for validating your own integration's shapes against the real contract. Its per-tool POST /tools/<name> paths are a documentation convention only, not callable routes — live traffic goes over MCP JSON-RPC at /mcp, not REST.

Note: get_simulation_status and upload_asset_bytes are intentionally absent from the OpenAPI — they are internal tools called by the MCP-Apps panels themselves and are not part of the integrator-facing surface.