MCP Connector

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.

Works with lucidazure openaiopenai

Maintainer of this project? Claim this page to edit the listing.


91
Spark score
out of 100
Updated last month
Version 0.2.0
Models
universal

Add 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

01

Discover and list Lucid documents with keyword filtering.

02

Retrieve document metadata and perform AI-powered visual analysis.

03

Export Lucid diagrams as PNG images.

04

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

search-documents

Lists documents in your Lucid account with the ability to filter by keywords

get-document

Retrieves document metadata and can optionally perform AI analysis of its visual content

get-document-tabs

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 analyzeImage parameter 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 keywords
  • get-document: get document metadata, or export a specific page as a PNG image (analyzeImage: true) for the client's vision model to interpret
  • get-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

npm version
npm downloads
License: MIT

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

  • ๐Ÿ” 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-documents and get-document-tabs return JSON metadata from the Lucid API.
  • get-document with analyzeImage: true exports the requested page as a PNG and returns it as an MCP image content 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 analyzeImage parameter 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 with npm install -g lucid-mcp-server and run lucid-mcp-server.
  • The LUCID_API_KEY environment 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 .cmd shim 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 to true to 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

  1. Fork the repository.
  2. Create your feature branch (git checkout -b feature/amazing-feature).
  3. Commit your changes (git commit -m 'Add amazing feature').
  4. Push to the branch (git push origin feature/amazing-feature).
  5. 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.