Project connectors and tool-assisted design
In Settings, connect MCP, GitHub or Google Drive. In the editor, select project tools and source files, import snapshots, and grant each agent its own access. A connected account alone grants no agent authority. Tool-assisted design runs checkpoint each model/tool step, pause for exact human approval, and return a proposal for review before saving.
GitHub source files are pinned to a commit. React exports prepare a downloadable ZIP and file diff before creating a new branch and PR. Drive exports prepare real PDF/PPTX files or supported native Slides. Inspect partial remote IDs; uncertain writes are never replayed automatically. The reconciliation operation only checks an existing GitHub PR or Drive upload.
Use dsa connectors --help and dsa connectors schema start-agent-run with the current CLI build. Network MCP and WebMCP expose the same selected source, operation and run contracts. Setup, grants and approval remain human actions. Released older CLI packages may not include these experimental commands.
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.
https://beta.studio.agentkit.best/mcpAuthenticated · POSTConnect 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.
URL: https://beta.studio.agentkit.best/mcp
Transport: Streamable HTTP
Authorization: Bearer <securely supplied DESIGN_STUDIO_API_KEY>
Protocol: 2025-11-25curl "$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.
Connect with OAuth
- Use the same remote URL and choose OAuth in a compatible client.
- The client discovers the protected resource and authorization server, registers its redirect URI, and requests the
studioscope. - Sign in to the studio and approve consent in the browser. Consent requires your account session.
- The client exchanges the one-use code with S256 PKCE for access/refresh tokens, bound to the canonical
/mcpresource.
| Method | OAuth path | Purpose |
|---|---|---|
GET | /.well-known/oauth-protected-resource | Resource and authorization-server discovery |
GET | /.well-known/oauth-protected-resource/mcp | Path-specific resource discovery |
GET | /.well-known/oauth-authorization-server | Endpoints, grant types, PKCE, scope |
POST | /oauth/register | JSON client_name and redirect_uris; returns client_id |
GET / POST | /oauth/authorize | Browser consent; exact redirect, state, S256 challenge, resource |
POST | /oauth/token | Form-encoded authorization_code or refresh_token grant |
POST | /oauth/revoke | Form-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. The endpoint serves the stateless 2026-07-28 revision (per-request _meta, MCP-Protocol-Version/Mcp-Method/Mcp-Name headers and server/discover) alongside initialize clients on 2025-11-25, 2025-06-18 and 2025-03-26. An unsupported version returns HTTP 400 with JSON-RPC error -32022 listing the supported versions. Hosted connectors such as ChatGPT use the same OAuth flow.
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. Arguments whose schema is too large for hosted discovery, such as complete documents and operation lists, are listed as a typed placeholder whose description points to get_tool_schema; the server still validates them against the complete shared schema. Call get_tool_schema with a tool name and optional argument to read that complete JSON Schema. A schema larger than 16 KB is returned as an outline whose large parts carry a $pointer; pass that value as pointer to read one part, such as a single patch operation. Tool names below are implemented; their descriptions identify reads, writes, publication, and potentially paid provider calls.
Projects
list_projectsget_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
get_tool_schemalist_google_fontslist_provider_models
Assets and delivery
upload_assetlist_assetspreview_projectunpreview_projectshare_projectunshare_projectpublish_projectunpublish_projectexport_project
Generation
generate_designgenerate_mediaget_media_job
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.
YAML authoring
create_project and update_document accept a documentYaml string and patch_document accepts operationsYaml as alternatives to document and operations (send one, not both). The YAML is parsed first as a single YAML 1.2 document without tags, anchors or aliases, then validated by the same schemas, so it saves what the equivalent JSON saves. Invalid or unsafe YAML returns an error and never changes the project; revision, ownership and asset checks are unchanged. Responses and storage remain JSON. YAML is not guaranteed to be smaller than compact JSON.