lucid-mcp-server
Allows interaction with Lucid (LucidChart, LucidSpark, LucidScale) to discover documents, retrieve metadata, export diagrams as PNG images, and optionally analyze diagram content using AI vision models.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@lucid-mcp-serverShow me all my Lucid documents"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Lucid MCP Server
Model Context Protocol (MCP) server for Lucid App integration. Exports Lucid diagrams as images so a vision-capable client can interpret them.
Table of Contents
Related MCP server: MCP Atlassian
Features
🔍 Document discovery and metadata retrieval from LucidChart, LucidSpark, and LucidScale
📑 Lightweight tab metadata for quick document structure overview
🖼️ PNG image export from Lucid diagrams, returned as an image content block for a vision-capable client to interpret
📝 TypeScript implementation with full test coverage
🔧 MCP Inspector integration for easy testing
How It Works
The server is a thin bridge to the Lucid REST API. It does not run any LLM of its own:
search-documentsandget-document-tabsreturn JSON metadata from the Lucid API.get-documentwithanalyzeImage: trueexports the requested page as a PNG and returns it as an MCPimagecontent block.
Diagram interpretation is delegated entirely to the model already driving your MCP client. This keeps the server free of any AI-provider dependency and reuses the (typically more capable) model running your session instead of a second, separately configured one.
Earlier versions (≤ 0.1.x) shipped a built-in image-analysis backend (Azure OpenAI / OpenAI) that returned a text description. Modern MCP clients forward image content directly to vision-capable models, making that second model redundant, so it was removed. The
analyzeImageparameter name is kept for compatibility; it now simply toggles PNG export.
Client and Model Compatibility
Because the server returns a raw image, the active session model must be vision-capable. Behaviour by client:
Client | MCP image support | Notes |
Claude Code | Yes | Claude is multimodal; works out of the box. |
Codex CLI | Yes (current versions) | Image results from MCP tools reach the model since the Rust MCP client became the default. Older builds displayed |
OpenCode | Yes, with a vision model | Forwards MCP image blocks to the model. Pick a vision-capable model (e.g. GPT-5.x, GPT-4o). A non-vision model, or a model router that selects one, will report it cannot see the image. |
Verified by exporting a real architecture diagram and confirming the model described its boxes and connections from the image alone:
Claude Code (multimodal Claude model)
OpenCode running GPT-5.5
If get-document returns an image but the model replies that it cannot see it, switch your session to a vision-capable model.
Prerequisites
Before you begin, ensure you have the following:
Node.js: Version 18 or higher.
Lucid API Key: A key from the Lucid Developer Portal is required for all features.
Vision-capable client: To interpret exported diagram images, use an MCP client backed by a vision-capable model. The server does not analyze images itself; it returns the raw PNG.
Installation
lucid-mcp-server is a stdio MCP server and works with any MCP-capable client (Claude Code, Claude Desktop, Cursor, Codex, OpenCode, and others). Every client has its own config file and format, so there is no single set of steps. The fastest path is to ask your coding agent to "add the lucid-mcp-server MCP server, following its README" and let it write the config for your specific client.
Whatever the client, you only need two things:
A way to run the server:
npx -y lucid-mcp-server(no install), or install it once withnpm install -g lucid-mcp-serverand runlucid-mcp-server.The
LUCID_API_KEYenvironment variable: the only required setting. Get a key from the Lucid Developer Portal.
Example: Claude Code
Add this to your .mcp.json:
{
"mcpServers": {
"lucid": {
"command": "npx",
"args": ["-y", "lucid-mcp-server"],
"env": {
"LUCID_API_KEY": "your-lucid-api-key"
}
}
}
}Windows: npm's
.cmdshim may not spawn directly. Wrap it as"command": "cmd", "args": ["/c", "npx", "-y", "lucid-mcp-server"].
Other clients use the same three pieces, the launch command, its arguments, and the LUCID_API_KEY env var, expressed in their own config format. Point your agent at the example above and it will adapt it.
Verify (optional)
Run the server under the MCP Inspector to confirm it starts and lists its tools (set LUCID_API_KEY in your environment first):
npx @modelcontextprotocol/inspector npx -y lucid-mcp-serverUsage
Once the server is running, you can interact with it using natural language or by calling its tools directly.
Example Prompts
Document commands:
"Show me all my Lucid documents"
"Get information about the document with ID: [document-id]"
Diagram interpretation (the client's vision-capable model reads the exported image):
"Analyze this diagram: [document-id]"
"What does this Lucid diagram show: [document-id]"
Available Tools
🔍 search-documents
Lists documents in your Lucid account.
Parameters:
keywords(string, optional): Search keywords to filter documents.
Example:
{ "keywords": "architecture diagram" }
📋 get-document
Gets document metadata and can optionally export the diagram as a PNG image for a vision-capable client to interpret.
Parameters:
documentId(string): The ID of the document from the Lucid URL.analyzeImage(boolean, optional): Set totrueto export the diagram as a PNG image (default:false, returns metadata only).pageId(string, optional): The specific page to export (default: "0_0").
Example:
{ "documentId": "demo-document-id-here-12345678/edit", "analyzeImage": true }
📑 get-document-tabs
Gets lightweight metadata about all tabs (pages) in a Lucid document without retrieving full content.
Parameters:
documentId(string): The ID of the document from the Lucid URL.
Returns: Document info with page metadata (id, title, index) for quick navigation and overview.
Example:
{ "documentId": "demo-document-id-here-12345678/edit" }
🤝 Contributing
Fork the repository.
Create your feature branch (
git checkout -b feature/amazing-feature).Commit your changes (
git commit -m 'Add amazing feature').Push to the branch (
git push origin feature/amazing-feature).Open a Pull Request.
📚 References
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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/smartzan63/lucid-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server