excalidash-mcp
excalidash-mcp
MCP server that lets Claude (and other MCP clients) create, list, read, update, and delete drawings in ExcaliDash via its REST API.
End state: add one URL to your Claude config and say "畫個 XX 流程圖" — the drawing appears in your ExcaliDash dashboard.
Tools
create_drawing(name, elements?, appState?)→{ id, url, name }update_drawing(id, elements, appState?)list_drawings()→Array<{ id, name, updatedAt, url }>get_drawing(id)→{ id, name, elements, appState, url }delete_drawing(id)
Element JSON is passed straight through to ExcaliDash — use the standard
Excalidraw element format (type, x, y, width, height, etc.).
Endpoints
POST /mcp— Streamable HTTP MCP endpoint (stateless mode)GET /health— JSON health check (also reports currentauthMode)
Environment
Var | Required | Default | Notes |
| yes |
| Base URL of the ExcaliDash backend (the same host that serves the frontend — the |
| one of two | – | An |
| one of two | – | Fallback email+password login (uses cookie session + CSRF) |
| no |
| HTTP listen port |
The server fail-fasts on startup if no credentials are configured.
Prefer the API key path — it skips ExcaliDash's CSRF/cookie dance entirely
because the backend treats Bearer requests without an Origin/Referer header
as non-browser API requests (see
backend/src/server/csrf.ts
→ isNonBrowserApiKeyBearerRequest).
Claude Desktop / Claude Code config
{
"mcpServers": {
"excalidash": {
"type": "http",
"url": "https://excalidash-mcp.bamolab.org/mcp"
}
}
}For Claude Code, the equivalent CLI:
claude mcp add --transport http excalidash https://excalidash-mcp.bamolab.org/mcpLocal development
npm install
npm run build
EXCALIDASH_API_KEY=exd_... npm startSmoke-test the MCP surface:
curl -s -X POST http://localhost:8080/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | jqLicense
MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/asas276203s/excalidash-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server