Give any MCP-capable AI agent — Claude Code, Cursor, Codex, Claude
Desktop, and others — live, read-only access to your diagrams: the schema, DDL
in 8 dialects, migration diffs, and lint. Available on Pro and Team
(and the 14-day trial); requires a GitHub-connected workspace. For the
full story, see the
MCP server page.
Create a token
-
In the app: avatar menu → Settings → MCP tokens → Create token.
Give it a name (e.g. “Claude Code laptop”).
-
The raw token is shown exactly once, with copy buttons. Store it
in your client's config; ERDone keeps only a hash.
-
Tokens are revocable at any time from the same panel — the list
shows each token's name, prefix, created date, and last use.
Claude Code
One command, pasting your token in place of
<token>:
claude mcp add --transport http erdone https://mcp.erdone.net \
-H "Authorization: Bearer <token>"
Cursor
Add the server to ~/.cursor/mcp.json (global) or a project
.cursor/mcp.json:
{
"mcpServers": {
"erdone": {
"url": "https://mcp.erdone.net",
"headers": {
"Authorization": "Bearer <token>"
}
}
}
}
Cursor also interpolates
${env:NAME} inside the header, so you can keep the token out of the file with
"Authorization": "Bearer ${env:ERDONE_MCP_TOKEN}".
Codex
Codex (OpenAI CLI) reads remote MCP servers from
~/.codex/config.toml —
add the server with a bearer header (TOML, not JSON):
[mcp_servers.erdone]
url = "https://mcp.erdone.net"
http_headers = { "Authorization" = "Bearer <token>" }
To keep the token out of the file, use
bearer_token_env_var = "ERDONE_MCP_TOKEN" instead of the
http_headers line.
Other MCP clients
Any MCP client that supports remote servers with a custom header
works. Add the server to your client's MCP configuration with the
generic JSON shape (the in-app MCP tokens panel gives you this
ready to paste, with your token filled in):
{
"mcpServers": {
"erdone": {
"url": "https://mcp.erdone.net",
"headers": {
"Authorization": "Bearer <token>"
}
}
}
}
Claude Desktop
Claude Desktop's Add custom connector dialog only offers
OAuth fields — there's no place to paste a token — so connect
through a small local bridge instead. Edit
~/Library/Application Support/Claude/claude_desktop_config.json
(on Windows,
%APPDATA%\Claude\claude_desktop_config.json) and add:
{
"mcpServers": {
"erdone": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.erdone.net",
"--header",
"Authorization:${AUTH}"
],
"env": {
"AUTH": "Bearer <token>"
}
}
}
}
Requires node /
npx on your PATH; the
bridge is fetched automatically on first launch. Then
fully quit Claude Desktop (⌘Q — closing the
window isn't enough) and reopen. ERDone's tools appear under the
connector menu.
Keep the token in the
AUTH environment
variable exactly as shown, rather than inlining it into the
--header value. The
bridge splits arguments on spaces, so an inline
"Authorization: Bearer …" arrives malformed — routing it through the variable avoids that.
Technical details
-
Endpoint: https://mcp.erdone.net.
-
Auth: an Authorization: Bearer erdone_mcp_… header. Tokens are read-only and scoped to the workspaces you
belong to.
-
Protocol: MCP over Streamable HTTP with stateless POST requests.
Protocol versions 2024-11-05 through 2025-06-18 are negotiated
automatically — any spec-compliant client works.
-
Errors are structured and agent-readable (e.g. a not-found
response lists the valid diagram names; an ambiguous name
returns the candidates) — agents self-correct instead of
dead-ending.
-
Latency: every call reads your design live from your GitHub
repo. Typical calls are sub-second, with a possible cold start
on first use.