Integrate Lucid Diagrams with Multimodal LLMs
MCP server that exports Lucid diagrams as PNG images for a vision-capable AI model to interpret directly - no built-in AI backend.
Maintainer of this project? Claim this page to edit the listing.
0.2.0Add to Favorites
Why it matters
Connect your Lucid diagrams (LucidChart, LucidSpark, LucidScale) to multimodal LLMs for advanced visual analysis and data extraction. Enables searching, retrieving, and understanding diagram content through AI.
Outcomes
What it gets done
Discover and list Lucid documents with keyword filtering.
Retrieve document metadata and perform AI-powered visual analysis.
Export Lucid diagrams as PNG images.
Analyze diagram content using Azure OpenAI or OpenAI.
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/vb-lucid-mcp-server | bash Capabilities
Tools your agent gets
Lists documents in your Lucid account with the ability to filter by keywords
Retrieves document metadata and can optionally perform AI analysis of its visual content
Retrieves lightweight metadata about all tabs (pages) in a Lucid document without loading full content
Overview
lucid-mcp-server MCP Server
lucid-mcp-server exports Lucid diagrams as PNG images via get-document, letting the MCP client's own vision-capable model interpret the diagram directly with no separate AI backend. Use it with a vision-capable client model to read Lucid diagrams visually; it returns raw images only and will fail silently on non-vision models.
What it does
lucid-mcp-server bridges LucidChart, LucidSpark, and LucidScale with MCP clients, letting an assistant discover documents, retrieve lightweight tab/page metadata, and export a diagram page as a PNG image. It is a thin bridge to the Lucid REST API and runs no LLM of its own: diagram interpretation is delegated entirely to the vision-capable model already driving your MCP client session, rather than a separate AI backend.
Earlier versions (โค0.1.x) shipped a built-in image-analysis backend (Azure OpenAI/OpenAI) returning a text description. Since modern MCP clients forward image content directly to vision-capable models, that second model became redundant and was removed - the
analyzeImageparameter name is kept for compatibility but now simply toggles PNG export.
When to use - and when NOT to
Use this connector when you want an assistant to look at and describe a Lucid diagram's actual visual content - boxes, connections, layout - by exporting it as an image for the model's own vision capability to read.
Do not use it with a non-vision-capable model or client - if get-document returns an image but the model says it can't see it, switch your session to a vision-capable model (verified working: Claude Code with a multimodal Claude model, OpenCode with GPT-5.5; Codex CLI works on current versions with the Rust MCP client).
Inputs and outputs
search-documents takes optional keywords and returns a list of matching documents. get-document takes a documentId, optional analyzeImage (export as PNG) and pageId, returning metadata or an MCP image content block. get-document-tabs takes a documentId and returns lightweight page metadata (id, title, index) for navigation.
Capabilities
search-documents: list/search Lucid documents by keywordsget-document: get document metadata, or export a specific page as a PNG image (analyzeImage: true) for the client's vision model to interpretget-document-tabs: get lightweight metadata for all pages/tabs in a document without full content
How to install
npx -y lucid-mcp-server
Get a LUCID_API_KEY from the Lucid Developer Portal, then configure your client, e.g. Claude Code's .mcp.json:
{
"mcpServers": {
"lucid": {
"command": "npx",
"args": ["-y", "lucid-mcp-server"],
"env": { "LUCID_API_KEY": "your-lucid-api-key" }
}
}
}
Requires Node.js 18+ and a vision-capable client model to actually interpret exported diagram images.
Who it's for
Teams using Lucid diagrams who want an AI assistant to read and describe diagram content visually, using whatever vision-capable model already drives their session.
Source README
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
- Features
- How It Works
- Client and Model Compatibility
- Prerequisites
- Installation
- Usage
- Contributing
- References
- License
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 <image content> the model could not see. |
| 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-server
Usage
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.
FAQ
Common questions
Discussion
Questions & comments ยท 0
Sign In Sign in to leave a comment.