Connect your agent (MCP)
The Destesi MCP server lets an AI agent operate your Destesi data directly. It turns Destesi products into tools that any Model Context Protocol client can call — branch a database, open a preview environment, run a Connect action against GitHub or Slack, and (when you self-host the server) reach Drive, Deploy, Commerce, TTS, Studio, and more.
Every call is authenticated and scoped to your workspace, so the agent only ever sees data you can see.
Two servers, two surfaces
Section titled “Two servers, two surfaces”There are two ways to connect, and they expose different tool sets. Pick the one that matches what you need before you wire anything up.
| Hosted endpoint | Full-suite server | |
|---|---|---|
| How you get it | dst mcp — points your client at Destesi’s hosted /mcp endpoint |
Connect to Destesi’s hosted https://mcp.destesi.io/sse, or run the mcp binary yourself |
| Setup | One command, nothing to operate | Nothing to operate when hosted; you configure and keep it running when self-run |
| Tools | Snap branching (including a SQL query tool), preview environments, and Connect actions |
Fourteen families: Snap (with fixtures and lineage), Review, Preview, Connect actions, Drive, Deploy, ImageGen, Commerce, TTS, Chat, Studio, Design, Space, Lens — 109 first-party tools. No query tool |
| Transport | Streamable HTTP, bearer token per request | SSE when hosted; stdio (default) or HTTP/SSE when self-run |
If you just want an agent that can branch your database and open previews, use the hosted endpoint. If you want an agent that can drive the whole suite, use the full-suite server at https://mcp.destesi.io/sse.
Connect Claude Code in one command
Section titled “Connect Claude Code in one command”If you have the dst CLI and Claude Code installed, this is the fastest path to first value. It wires you to the hosted endpoint.
-
Install the CLI (if you haven’t already):
Terminal window curl -fsSL https://get.destesi.io/install.sh | sh -
Add the Destesi MCP server to Claude Code:
Terminal window dst mcpIf you aren’t logged in yet,
dst mcpopens your browser to authenticate first (just likedst login), then registers the server. It wires Claude Code to the hosted MCP endpoint over HTTP with your bearer token attached. -
Use it. Open Claude Code and ask your agent to work with your data:
Clone the production remote into a branch called
agent/test, wait for it to be ready, and give me the connection string.The agent calls
clone→wait→remote_urland hands you a live Postgres DSN — backed by copy-on-write, fully isolated from your source.
What the hosted endpoint gives your agent
Section titled “What the hosted endpoint gives your agent”- Branch your data —
clonea remote orforka branch into an isolated, copy-on-write copy;branch_list,status,branch_delete;waitblocks until provisioning finishes andremote_urlreturns the live DSN. - Register sources —
remote_adda Postgres database or S3 bucket;remote_list,remote_show,remote_remove. - Query a branch —
queryruns SQL against a ready branch and returns JSON. It runs in a read-only transaction unless you explicitly ask for writes. - Read history —
loglists a remote’s checkpoints (point-in-time history). - Drive preview environments —
preview_create,preview_list,preview_status,preview_events,preview_redeploy,preview_delete. - Act on your connected apps — one tool per action in Connect’s catalog (over 200 actions across around 40 providers), each named
connect_{provider}_{action}.
Connect any other MCP client
Section titled “Connect any other MCP client”The full-suite server is what you point a desktop client at. Destesi hosts it at https://mcp.destesi.io/sse over the SSE transport, so there is nothing to run; you can also run the mcp binary yourself over stdio for clients like Claude Desktop and Cursor, or over HTTP/SSE when you want one server to handle several callers. Either way, authenticate with an identity personal access token (PAT) — the same idn_pat_… token dst login stores.
To wire the hosted full-suite server into Claude Code:
claude mcp add -t sse -s user destesi https://mcp.destesi.io/sse \ -H "Authorization: Bearer idn_pat_…"{ "mcpServers": { "destesi": { "command": "/path/to/mcp", "env": { "DESTESI_API_KEY": "idn_pat_…", "DESTESI_API_URL": "https://api.destesi.io" } } }}DESTESI_API_URL=https://api.destesi.io \ DESTESI_API_KEY=idn_pat_… \ mcpSwitch on the product families you want
Section titled “Switch on the product families you want”The full-suite server registers Snap, Review, and Preview tools unconditionally. Every other family is switched on by setting that product’s base URL. Leave a variable unset and the family is simply skipped — the server logs a line and every other family keeps working.
DESTESI_API_URL=https://api.destesi.io \ DESTESI_API_KEY=idn_pat_… \ CONNECT_API_URL=https://api.connect.destesi.io \ DRIVE_API_URL=https://api.drive.destesi.io \ DEPLOY_API_URL=https://api.deploy.destesi.io \ mcpSee the reference for the complete variable list and the tools each family adds.
A word on trust
Section titled “A word on trust”The MCP server has no consent gate of its own. Tools carry advisory readOnly and destructive annotations that your MCP client can surface before it runs them, but enforcing them is entirely the client’s job. One token grants your agent the whole registered surface, and the token is forwarded verbatim to each product — authorization is enforced by the product, not by MCP.
Two practical consequences: treat an identity PAT the way you would treat your own password, and prefer a client that asks before running a write. See CLI & API auth for how tokens are minted and revoked.