See it as a diagram
Everything below, as a diagram you can edit. Describe yours and see it in seconds.
No account needed · Editable canvas, not a picture
Two files, two blast radiuses
Cursor looks for MCP servers in ~/.cursor/mcp.json, which applies to every project you open, and in .cursor/mcp.json inside a project, which applies to that repository only. The project file is the one to commit when a team should get the same servers; the home file is the one to use for a personal setup you do not want to explain to anyone.
Datadef runs as a remote Streamable HTTP endpoint. Desktop clients that speak stdio reach it through mcp-remote, a small local bridge that forwards every request to the remote URL along with the Authorization header. That is the form the Datadef settings page generates, and it is the safest one to paste because it works regardless of which HTTP transports your Cursor build supports.
Create the key first on the MCP and integrations page. It is shown once. After saving the file, reload Cursor and open the MCP section of settings: a connected server lists its tools, and Datadef reports 36 of them.
// ~/.cursor/mcp.json for every project, or
// .cursor/mcp.json inside one repository
{
"mcpServers": {
"datadef": {
"command": "npx",
"args": [
"-y", "mcp-remote", "https://datadef.io/mcp",
"--header", "Authorization: Bearer dd_live_YOUR_KEY"
]
}
}
}The one-click install, and what it actually writes
Cursor accepts an install deep link, and the Datadef settings page offers one next to the JSON. The link carries the server object base64 encoded in a config parameter on a cursor://anysphere.cursor-deeplink/mcp/install URL, so clicking it writes the same entry shown above without you touching a file.
The deep link is convenient for one machine and a poor fit for a team, because the encoded payload includes your key. For a repository rollout, prefer the project file with the key kept out of it, and let each person supply their own credential. Diagrams created through a key land in that key's account, so a shared credential quietly makes one teammate the owner of everyone's work.
What the Cursor agent can do with it
The coarse moves are single tools: create_diagram from a description, get_diagram to read one back, edit_diagram to apply a plain-language change, export_diagram for a PNG or JPEG plus a signed download link. For a project that is connected to a repository, repo_status reports which branch or tag it tracks and how stale it is, and repo_refresh regenerates it.
The 27 canvas tools are the reason a Cursor session can produce something presentable rather than a graph dump. canvas_add_nodes and canvas_connect_nodes build, canvas_group_nodes creates zones, canvas_set_columns fills table structures, canvas_add_lineage draws column-level relationships, canvas_search_icons finds the real provider marks, and canvas_layout_canvas arranges the result.
Ask for get_design_guide at the start of the session. It returns the same size, edge and zone standard the Datadef generator follows, which is what keeps an agent-built diagram from looking foreign next to a generated one in the same workspace. The result is a normal project you can open on the canvas and embed as a live image.
Reload, then read the tool count
The icon set behind canvas_search_icons
That one tool decides whether an agent-built diagram looks like your stack or like a flowchart. It searches 2,098 provider icons shipped as individual SVG files: 439 for AWS, 624 for Azure, 226 for Google Cloud, and the remainder across data tooling, Kubernetes, networking and general infrastructure. An agent that searches before it adds nodes gets the Snowflake mark and the Kafka mark. One that does not gets grey boxes with words in them.
The same registry backs the Terraform pipeline, and the mapping between resource types and icons is asserted rather than hoped for: every icon id in the Terraform type catalog has to exist in the icon registry, and a test script fails on a typo instead of letting a generic glyph reach a production diagram. Where a cloud resource type is not in the explicit table, it falls back to the Terraform mark rather than a guessed service icon, on the reasoning that a wrong AWS icon lies while terraform-managed is always true.
A prompt habit follows from this. Name the technologies rather than the roles: asking Cursor for the warehouse gets a generic database, asking for Snowflake gets Snowflake.
FAQ
Where does Cursor store MCP server configuration?
Why does the Cursor entry run npx mcp-remote instead of pointing at the URL?
What does the Cursor one-click install link contain?
How do I confirm the server registered?
Can the agent edit a diagram that already exists?