# QuickChart MCP

> QuickChart lets your AI agent generate any kind of visual asset—charts, QR codes, barcodes, word clouds—directly from data or text inputs. It handles everything from simple line graphs using `get_chart_url` to rendering massive datasets via POST requests. If you need to visualize data without leaving the chat window, this is it.

## Overview
- **Category:** design-creative
- **Price:** Free
- **Tags:** charts, qr-codes, barcodes, data-visualization, word-clouds

## Description

You gotta connect **QuickChart** to your AI agent when you need to turn raw data or plain text into a visual asset—a chart, a QR code, a diagram. This server gives your agent the tools to generate professional-grade visuals on demand. It handles everything from simple line graphs using direct URLs all the way up to rendering massive datasets that won't fit in a standard GET request.

### Charting and Graphing

For basic charts, your agent constructs a URL for simple chart images using `get_chart_url` based on JSON input. If you're dealing with huge or complicated JSON configurations, though, you don't rely on a single endpoint. Instead, the agent uses `render_chart_post`, which takes large data sets via POST requests and returns the resulting image as base64 data URI. When you need to render charts using specific frameworks, the server supports multiple options: your agent can call `render_apex_chart` for complex Apex-styled diagrams, or it can use `render_google_chart` if a Google Chart is what you're after.

To make sharing these visuals easier, you can generate a permanent, clean short URL for any chart created using `create_chart_short_url`. For flowcharts and technical diagrams, the agent constructs a direct URL to an image of a diagram written in GraphViz syntax by calling `get_graphviz_url`.

### Barcodes and Quick Links

You need quick identification assets? Your agent builds a direct URL to an image of standard barcodes—like UPC or EAN—using `get_barcode_url`. For linking, the server constructs a GET URL for a customized QR code image from any text input you give it via `get_qr_url`.

### Advanced Data Visualization

For turning raw text into something visually interesting, your agent generates an image of a word cloud from a given block of text using `get_wordcloud_url`. This tool takes the plain text and renders it as a visual cloud. You're not limited to charts; you can visualize relationships between concepts by generating flowcharts with GraphViz syntax. If you've got complex data that needs multiple visualization angles, remember your agent has access to both `render_chart_post` for general large JSON rendering and dedicated endpoints for specific charting libraries like Apex or Google.

When the agent renders these images—whether it's a basic line graph via `get_chart_url`, a complex diagram via `render_apex_chart`, or just a simple QR code via `get_qr_url`—the output is always machine-readable. You get either an image link you can use directly, or the full base64 data URI if the visualization is too big for a simple URL structure. It’s built to keep your workflow right in the chat window; you don't gotta leave here to see the visual.

## Tools

### create_chart_short_url
Generates a permanent, clean short URL for any chart you create.

### get_barcode_url
Builds a direct URL to an image of a standard barcode (UPC, EAN, etc.).

### get_chart_url
Constructs a GET URL for simple chart images based on JSON input.

### get_graphviz_url
Builds a direct URL to an image of a flowchart or diagram using GraphViz syntax.

### get_qr_url
Constructs a GET URL for a customized QR code image from a text input.

### get_wordcloud_url
Builds a direct URL to an image generated from a block of text into a word cloud.

### render_apex_chart
Renders complex Apex charts and returns the resulting image as base64 data URI.

### render_chart_post
Handles large or complicated JSON configurations, rendering the chart and returning it as base64 data URI.

### render_google_chart
Renders a Google Chart and returns the resulting image as base64 data URI.

## Prompt Examples

**Prompt:** 
```
Generate a bar chart showing sales: Jan (100), Feb (150), Mar (120).
```

**Response:** 
```
I've generated the chart for you. You can view the bar chart showing the sales trend for the first quarter here: [Chart URL]
```

**Prompt:** 
```
Create a QR code for 'https://vurb.com' with a rounded dot style.
```

**Response:** 
```
I've created your customized QR code. Here is the link to the image: [QR Code URL]
```

**Prompt:** 
```
Generate a word cloud from this text: 'AI automation efficiency productivity growth innovation'.
```

**Response:** 
```
I've processed the text and generated a word cloud visualization for you: [Word Cloud URL]
```

## Capabilities

### Generate basic charts
The agent constructs a URL for simple chart types using `get_chart_url`.

### Render complex charts
The agent sends large JSON configurations to `render_chart_post`, getting the image as base64 data.

### Create QR codes
The agent constructs a URL for a specific piece of text or link using `get_qr_url`.

### Generate barcodes
The agent creates a URL image for standard formats like UPC or EAN using `get_barcode_url`.

### Visualize text data
The agent generates an image of a word cloud from a given block of text using `get_wordcloud_url`.

### Diagram flowcharts
The agent constructs a URL for diagrams written in GraphViz syntax using `get_graphviz_url`.

## Use Cases

### Need to show quarterly sales trends in a report.
A data analyst needs a bar chart showing Q1 sales (Jan: 100, Feb: 150, Mar: 120). Instead of manually plotting it and exporting a file, they ask their agent to generate the visualization. The agent calls `get_chart_url` with the JSON payload, and the analyst gets an immediate image link for the report.

### Creating assets for API documentation.
A developer needs a barcode example for a product guide. They prompt their agent: 'Generate a UPC barcode for 9012345678.' The agent uses `get_barcode_url`, and the developer gets a ready-to-paste image link to drop right into the markdown file.

### Summarizing meeting sentiment.
A product manager uploads 50 pages of raw customer feedback. They ask their agent to 'Visualize the top themes.' The agent runs `get_wordcloud_url` on the text, giving the PM a word cloud image that instantly highlights common complaints or praised features.

### Mapping complex system architecture.
An architect needs to document how several microservices talk to each other. They prompt their agent: 'Draw a flow from Service A to Database B.' The agent uses `get_graphviz_url` with the necessary syntax, returning a clean diagram link for documentation.

## Benefits

- Get complex charts without hitting URL limits. Use `render_chart_post` when your dataset is too big for a simple link; it returns the chart image as base64 data URI instead.
- Create professional QR codes or barcodes on demand. Just give the text, and `get_qr_url` handles the rest, making documentation instantly actionable.
- Stop leaving the chat to make visuals. You can generate charts using `get_chart_url` right where you are talking to your agent.
- Analyze unstructured text easily. Run `get_wordcloud_url` on customer feedback or meeting notes to visually identify key topics without running complex NLP models.
- Simplify links. After generating a chart, use `create_chart_short_url` to get a clean, permanent URL you can paste anywhere.

## How It Works

The bottom line is that you treat data visualization like calling any other function: specify input, get output.

1. You initiate the process by asking your agent to visualize data, specifying the chart type or code.
2. The agent selects the correct tool—for instance, `get_chart_url` for a simple trend line—and passes it the required JSON configuration and parameters.
3. QuickChart returns a direct link (URL) or the image data itself (base64 URI), which your client displays to you.

## Frequently Asked Questions

**How do I generate a chart using QuickChart MCP Server?**
You pass your data and configuration parameters to `get_chart_url` (for simple charts) or `render_chart_post` (for complex ones). The server returns an image link you can use immediately.

**Can I generate a QR code using get_qr_url?**
Yes. You pass the specific text, URL, or data string to `get_qr_url`, and it constructs a direct GET URL for your customized QR code image.

**Is render_chart_post better than get_chart_url?**
Generally, yes. Use `render_chart_post` when your dataset is large or the configuration exceeds simple URL length limits. It processes the data in the body and returns base64 URI.

**Which tool should I use for barcodes?**
Use `get_barcode_url`. This specific tool handles various barcode standards (UPC, EAN, Code128) by taking the required number string as input.

**What’s the difference between using `get_chart_url` and `render_chart_post` for data?**
Use `render_chart_post` when your JSON configuration is too large to fit in a URL. It sends complex chart settings via a POST request, which handles huge datasets that would otherwise cause length limits.

**If I'm running this server for high-volume tasks, do I need an API key?**
Yes, you should enter your QuickChart API Key. While basic usage works without one, using the key grants access to higher rate limits, which is essential for production or batch processing.

**How can I generate flowcharts and diagrams using `get_graphviz_url`?**
`get_graphviz_url` constructs a GET URL specifically for GraphViz. You input the DOT language definition, and it outputs an image of various diagrams, like process flows or organizational charts.

**What is the benefit of using `create_chart_short_url` after generating a visualization?**
This tool takes your fully rendered chart configuration and generates a permanent, shareable short URL. It cleans up long, complex URLs into something simple for reports or documentation.

**What should I do if my chart configuration is too large for a standard URL?**
You should use the `render_chart_post` tool. It sends the configuration via a POST request, which supports much larger datasets and complex Chart.js objects that would otherwise exceed URL length limits.

**Can I add a logo to the center of a QR code?**
Yes! When using the `get_qr_url` tool, you can provide a URL in the `centerImageUrl` parameter to overlay an image or logo in the middle of your generated QR code.

**How can I get a permanent link for a chart to share with others?**
Use the `create_chart_short_url` tool. It generates a permanent, short URL hosted by QuickChart that you can easily share in documents or messages.