Chhart MCP

by alwank

239 downloads
Not rated
GitHub

About

Chhart MCP is a tool that enables AI assistants to generate instant, shareable flowcharts and Sankey diagrams directly in chat,

Details

Author
alwank
Downloads
239
Categories
Productivity, AI

- AI-native flowcharts: decision trees, process maps, architecture diagrams
- Sankey diagrams: data flows, budget splits, traffic analysis
- Stateless sharing: zero-database architecture, all data in the URL hash
- Syntax awareness: tools for the AI to learn and validate the DSL

Install Chhart MCP as an MCP server in your AI client. The AI can then invoke the tools to generate diagrams, which produce shareable URLs hosted on chhart.app. No configuration keys are required beyond standard MCP setup.

An MCP (Model Context Protocol) server that enables AI assistants like ChatGPT, Claude, and others to programmatically create flowcharts and Sankey diagrams onchhart.app.

- Features
-
Prerequisites
-
Installation
-
Usage

- Quick Start (Public Server)
-
Local Mode (stdio)
-
Remote Mode (StreamableHTTP)

- 🎨Create Flowcharts- Generate flowcharts using Chhart's intuitive text-based DSL
- πŸ“ŠCreate Sankey Diagrams- Build Sankey diagrams from flow data
- πŸ“šSyntax Help- Get comprehensive documentation and examples
- πŸ”—Shareable URLs- All diagrams come with shareable chhart.app links
- πŸš€Easy Integration- Works with any MCP-compatible AI assistant
- 🌐Dual Mode- Run locally (stdio) or remotely (StreamableHTTP)
- ☁️Cloud Ready- Deploy to Railway, Vercel, or any Node.js hosting
- πŸ”’Reliable- Modern StreamableHTTP transport for stable connections

- Node.js20 or higher
- npmoryarn
- An MCP-compatible client (Claude Desktop, Cursor, etc.)

# Clone the repository git clone https://github.com/alwank/chhart_MCP.git cd chhart_MCP # Install dependencies npm install # Build the project npm run build

You can use our managed MCP server without installing anything locally.

Configure your MCP clientto connect to the public endpoint:

{ "mcpServers": { "chhart": { "url": "https://mcp.chhart.app/mcp" } } }

For use with Claude Desktop, Cursor, or other local MCP clients:

ForClaude Desktop, editclaude_desktop_config.json:

{ "mcpServers": { "chhart": { "command": "npx", "args": ["-y", "chhart-mcp"] } } }

ForCursoror other clients, seeCONFIG_EXAMPLES.mdfor more examples.

For deployment to Railway, Vercel, or other cloud platforms, we use the modernStreamableHTTP transportfor reliable, stateless communication.
-

Build and start the StreamableHTTP server:

The server will start on port 3000 (or the port specified inPORTenvironment variable).

Configure your MCP clientto connect to the remote endpoint:

{ "mcpServers": { "chhart": { "url": "https://your-deployment-url.com/mcp" } } }

See theRailway Deployment Guidefor detailed instructions.

We migrated from SSE to StreamableHTTP transport for better reliability:

The SSE transport is still available but deprecated:

npm run start:sse # Not recommended for production

Creates a flowchart using Chhart's text-based DSL.

- content(string, required) - Flowchart content in Chhart DSL format
- title(string, optional) - Title for the flowchart

{ "content": "Start\n Process Step\n Decision? [shape=diamond]\n Yes\n Action\n End\n No\n Skip\n End", "title": "Simple Workflow" }

Creates a Sankey diagram showing flows between nodes.

- content(string, required) - Sankey diagram content in Chhart DSL format
- title(string, optional) - Title for the diagram

{ "content": "Revenue [value=100]\n Costs [value=40]\n Salaries [value=25]\n Operations [value=15]\n Profit [value=60]", "title": "Budget Flow" }

Returns documentation and examples for Chhart syntax.

- type(enum, optional) -'flowchart','sankey', or'all'(default:'all')

Once configured, you can ask your AI assistant:

"Create a flowchart showing a user login process with email verification"

"Create a Sankey diagram showing how $100 of revenue splits into costs, taxes, and profit"

"Show me the syntax for creating flowcharts in Chhart"

# Install dependencies npm install # Build npm run build # Watch mode (auto-rebuild on changes) npm run watch # Run locally (stdio mode) npm start # Run StreamableHTTP server (recommended for remote access) npm run start:streamable # Run SSE server (legacy, deprecated) npm run start:sse
chhart_MCP/ β”œβ”€β”€ src/ β”‚ β”œβ”€β”€ index.ts # Main entry point (stdio mode) β”‚ β”œβ”€β”€ server-streamable.ts # StreamableHTTP server (recommended) β”‚ β”œβ”€β”€ server-sse.ts # SSE server (legacy) β”‚ β”œβ”€β”€ tools/ # MCP tool implementations β”‚ β”œβ”€β”€ utils/ # Utility functions β”‚ └── transports/ # Transport implementations β”‚ β”œβ”€β”€ streamable.ts # StreamableHTTP transport β”‚ └── sse.ts # SSE transport (legacy) β”œβ”€β”€ dist/ # Compiled JavaScript (generated) └── docs/ # Documentation files

The MCP server generates shareable URLs by encoding chart data into the URL hash, leveraging chhart.app's existing URL-based sharing feature. This means:

- βœ… No backend API required
- βœ… Charts are fully client-side
- βœ… URLs work immediately without storage
- βœ… Charts can be edited on chhart.app
- βœ… Privacy-friendly (data stays in the URL)

"Command not found" or "Module not found"

- Ensure you've runnpm installandnpm run build
- Verify the path in your MCP client configuration is absolute
- Check that Node.js 20+ is installed:node --version

"connection closed: EOF" or similar errors:

- If using remote mode, ensure you're using StreamableHTTP transport (npm run start:streamable)
- The legacy SSE transport is deprecated and may have stability issues
- Verify the server is running: check the health endpoint athttp://localhost:3000/health
- Check firewall settings if deploying remotely
- Ensure CORS is properly configured for your domain

- StreamableHTTP clients useapplication/jsonrequests to/mcp
- Legacy SSE clients requiretext/event-streamfor the/mcpstream and JSON for/messages
- Ensure the URL points to the/mcpendpoint

- Verify the generated URL is complete and not truncated
- Check browser console for errors
- Try opening the URL directly in a browser
- Very large diagrams may exceed URL length limits (typically 2000 characters)

- Ensure you're using Node.js 20+
- Deletenode_modulesanddist, then runnpm installandnpm run build
- Check for TypeScript version compatibility

For more help, seeCONTRIBUTING.mdor open an issue.

We welcome contributions! Please seeCONTRIBUTING.mdfor guidelines on:

- Reporting bugs
- Suggesting features
- Submitting pull requests
- Development setup
- Coding standards

For security concerns, please see ourSecurity Policy. Do not open public issues for security vulnerabilities.

- Chhart.app- Create and share diagrams
-
Model Context Protocol- Learn about MCP
-
Documentation- Additional guides and examples
-
Changelog- Version history and updates
-
Issues- Report bugs or request features

The 1Password MCP server creates a bridge that allows MCP clients such as Codex and Kiro to manage your 1Password Environments with secure authorization prompts.

This is the 1st, easiest, and cheapest PPT, slides, presentation AI generation MCP Server in the world.

Persistent memory for any AI assistant. Zero token cost until recall. Stores memories in local SQLite, ranks by 6-factor scoring, returns results 79% smaller than JSON. Works with Claude, ChatGPT, Grok, Cursor, Windsurf, and any MCP client.

A MCP server that enables AI assistants to interact with Anki, the spaced repetition flashcard application.

Enables LLM clients to interact with macOS applications through AppleScript. Built using the @beyondbetter/bb-mcp-server library, this server provides safe, controlled execution of predefined scripts with optional support for arbitrary script execution.

An MCP server for WordPress plugin audits

Turn your AI assistant into a digital marketing hub that creates, organizes, and analyzes links and QR Codes on demand.

Connect AI clients to Cal.com scheduling through the Model Context Protocol using the hosted server at mcp.cal.com or a local instance.

Sync Calendars, Scheduling Links, AI Executive Scheduling Assistant, Unified Calendar

No reviews yet β€” be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.