Skip to documentation
Design Studio AI
DocumentationNetwork MCP
REFERENCE

Network MCP

Connect remote agents through Streamable HTTP and OAuth.

Connect a remote MCP client to the studio. Network tools work on persisted projects using your API key or an OAuth access token; they do not require an open editor tab.

Streamable HTTP endpointhttps://studio.datxanhmientrung.ai/mcpAuthenticated · POST

Connect with an API key

In your client's remote-server configuration, choose HTTP/Streamable HTTP, enter the endpoint above, and configure Authorization: Bearer using your secure token input. Client configuration-file formats and environment interpolation vary; these are the connection parameters, not a universal import file.

Connection parameterstext
URL: https://studio.datxanhmientrung.ai/mcp
Transport: Streamable HTTP
Authorization: Bearer <securely supplied DESIGN_STUDIO_API_KEY>
Protocol: 2025-11-25
Initialize with curlshell
curl "$DESIGN_STUDIO_URL/mcp" \
  -H "Authorization: Bearer $DESIGN_STUDIO_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "MCP-Protocol-Version: 2025-11-25" \
  --data '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"my-design-agent","version":"1.0.0"}}}'

Use get_design_brief and update_design_brief to interview the human with your own agent model. interview_design_brief instead invokes the owner's configured BYOK provider. approve_design_brief requires explicit human approval of the current answered scope and its independent brief revision. inspect_design reads deterministic preflight findings; it is not a visual-quality certification.

Inspect real images

Call inspect_project with projectId and mode: page or overview, or call inspect_workspace for owned-project covers. The results contain PNG image blocks alongside text metadata, saved revisions and nextOffset. View the image blocks before judging quality; follow pagination and use page mode for fine details. These private reads render saved state without publishing or provider calls. See the visual review workflow and live tool schemas for selection, sampling and limits.

Connect with OAuth

  1. Use the same remote URL and choose OAuth in a compatible client.
  2. The client discovers the protected resource and authorization server, registers its redirect URI, and requests the studio scope.
  3. Sign in to the studio and approve consent in the browser. Consent requires your account session.
  4. The client exchanges the one-use code with S256 PKCE for access/refresh tokens, bound to the canonical /mcp resource.
MethodOAuth pathPurpose
GET/.well-known/oauth-protected-resourceResource and authorization-server discovery
GET/.well-known/oauth-protected-resource/mcpPath-specific resource discovery
GET/.well-known/oauth-authorization-serverEndpoints, grant types, PKCE, scope
POST/oauth/registerJSON client_name and redirect_uris; returns client_id
GET / POST/oauth/authorizeBrowser consent; exact redirect, state, S256 challenge, resource
POST/oauth/tokenForm-encoded authorization_code or refresh_token grant
POST/oauth/revokeForm-encoded token and client_id; revokes its token family

Use HTTPS redirects or HTTP loopback for local clients. Resource must equal the canonical MCP endpoint. Access tokens last one hour; refresh tokens rotate. OAuth tokens cannot create/manage permanent API keys or provider credentials. GET event streams and protocol sessions are not used; supported versions are 2025-11-25 and the SDK's 2025-06-18/2025-03-26 compatibility. The newer 2026 transport is not advertised.

Observe and reconcile human edits

Use get_design_changes to observe saved revisions. Keep the exact document and revision you read as the base for merge_design; independent edits can merge, while overlapping changes return conflict paths. Resolve those changes explicitly. Never alter the base or invent a revision to bypass a conflict.

Discover tools and resources

Call tools/list to get the live input schemas. Tool names below are implemented; their descriptions identify reads, writes, publication, and potentially paid provider calls.

Projects

list_projectsinspect_projectinspect_workspaceget_project_thumbnailget_projectcreate_projectupdate_documentpatch_documentdelete_project

Collaboration

get_design_changesmerge_design

Brief and scope

get_design_briefupdate_design_briefinterview_design_briefapprove_design_brief

Design resources

inspect_designlist_themeslist_templateslist_componentsapply_theme

Design-system libraries

list_design_systemsget_design_systemlist_design_system_versionscreate_design_systemupdate_design_systemapply_design_systeminsert_design_system_itemdelete_design_system

Discovery

list_google_fontslist_provider_models

Assets and delivery

upload_assetlist_assetspreview_projectunpreview_projectshare_projectunshare_projectpublish_projectunpublish_projectexport_project

Generation

generate_designgenerate_mediaget_media_job

Read a live tool schemashell
curl "$DESIGN_STUDIO_URL/mcp" \
  -H "Authorization: Bearer $DESIGN_STUDIO_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "MCP-Protocol-Version: 2025-11-25" \
  --data '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'

Resources: studio://schema, studio://operations, and studio://projects/{projectId}. Writes such as update_document, patch_document, and apply_theme require expectedRevision. Library updates use expectedVersion; apply/insert use the observed project expectedRevision and an optional saved library version. Discovery query matches names/IDs/categories and reports live/cache/fallback provenance; provider model discovery requires an API key rather than MCP OAuth. React ZIP and GLB/glTF are returned as base64 resources by export_project, which also accepts optional expectedRevision. Binary MCP responses are limited to 20 MB; use CLI export for larger files.

Configure agent access