# Image-Charts MCP

> Image-Charts generates professional charts, graphs, and QR codes instantly. Send raw data to turn it into high-quality images—pie charts, bar graphs, line plots, or even animated GIFs—right inside your conversation window.

## Overview
- **Category:** data-analytics
- **Price:** Free
- **Tags:** charts, data-visualization, qr-codes, infographics, reporting

## Description

You can connect this tool to your agent and immediately visualize any dataset you throw at it. Need a quick look at sales distribution? Ask for a pie chart. Dealing with massive quarterly data dumps? The system handles that too, converting large sets into Base64 images so the visualization doesn't break. You'll get back beautiful, embeddable images—no manual exporting to Excel just to see if there’s an upward trend. Whether you want simple graphs or complex performance radar charts, it handles the deep customization for colors, labels, and axis styles automatically. Accessing this capability through Vinkius means your AI client has a built-in graphics department, making data analysis feel less like a chore and more like instant insight.

## Tools

### generate_chart_url
Creates a simple URL that outputs standard charts using datasets smaller than two kilobytes.

### render_chart_post
Processes very large datasets by accepting a POST request and returning the resulting chart as a Base64 image.

## Prompt Examples

**Prompt:** 
```
Generate a pie chart showing sales: 40% North, 30% South, 20% East, 10% West.
```

**Response:** 
```
I've generated the pie chart for you using `generate_chart_url`. You can view the sales distribution here: [Chart URL]
```

**Prompt:** 
```
Create a QR code for the URL 'https://vurb.com' with size 200x200.
```

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

**Prompt:** 
```
Render a bar chart via POST for this dataset of 100 monthly values: [data...]
```

**Response:** 
```
Since the dataset is large, I've used `render_chart_post` to generate the image. Here is the visualization of your monthly data.
```

## Capabilities

### Visualize raw datasets
Your agent renders charts (bar, line, pie, scatter) directly from the text input, showing trends immediately.

### Process large data volumes
The tool accepts massive datasets that exceed standard URL limits and processes them into high-fidelity images.

### Generate QR codes
You can create scannable QR codes for URLs, plain text, or contact information instantly.

### Customize chart aesthetics
Control the visual output by defining colors, axis styles, and adding legends to your charts.

### Output high-resolution graphics
The system outputs images in multiple formats like PNG, SVG, or animated GIF for maximum compatibility.

## Use Cases

### Reviewing quarterly sales performance
A manager asks their agent to compare Q1, Q2, and Q3 revenue streams. The agent uses the appropriate tool to generate a multi-line graph, showing clear regional variances without leaving the chat.

### Creating assets for a marketing campaign
A marketer needs several QR codes (for different URLs) and a chart showing website traffic distribution. They prompt the agent to handle all three tasks in one go, getting both images immediately.

### Analyzing user interaction flow
A developer feeds the agent thousands of anonymized clickstream data points. Instead of failing due to size, the system uses the POST rendering tool to generate a usable scatter plot for review.

## Benefits

- No more manual data exports. You can visualize results directly in the chat window instead of having to copy/paste into a spreadsheet tool.
- Handles massive datasets without issue. If your raw metrics are too big for a simple URL link, `render_chart_post` takes them and returns a full image.
- Your reporting is faster. Generate QR codes alongside performance charts, making the entire data packet ready to use instantly.
- Total control over visuals. You dictate every detail—colors, labels, axis styles, even if you want an animated GIF output.
- Builds reliable workflows. By connecting this through Vinkius, your agent treats visualization as a native action, not an external API call.

## How It Works

The bottom line is, you stop copy-pasting data to external visualization tools and just ask your agent for the chart.

1. Connect this MCP and provide your agent with the necessary Image-Charts Account ID and Secret Key.
2. Give your AI client a prompt detailing the data (e.g., 'Show sales trends for Q3: 100, 250, 400') or requesting a QR code.
3. The tool processes the request and returns an embeddable image directly into your conversation.

## Frequently Asked Questions

**When should I use generate_chart_url versus render_chart_post?**
Use `generate_chart_url` for standard charts where the total URL length is under 2KB. For large datasets or complex configurations that exceed this limit, use `render_chart_post` to send data via a POST request and receive the image as a Base64 string.

**Can I generate QR codes with this server?**
Yes! By setting the `cht` parameter to `qr` in either tool, you can generate high-quality QR codes. You can customize the size (`chs`) and the encoded data (`chl`) easily.

**Does this support animated charts?**
Absolutely. You can use the `chan` parameter to specify animation duration and easing functions, and set `chof` to `.gif` to receive an animated chart image.

**How do I authenticate my connection before using `generate_chart_url` or `render_chart_post`?**
You must provide your Image-Charts Account ID and Secret Key in the initial setup. This ensures that all generated visualizations are tied to your account, managing usage limits and proper billing.

**What happens if I pass malformed data or incorrect parameters when calling `generate_chart_url`?**
The tool returns a specific error message detailing the invalid parameter. You'll need to check your input JSON structure and ensure all required fields, like labels and data arrays, are correctly formatted.

**Can I define custom dimensions or resolutions when using `render_chart_post`?**
Yes, you can specify the exact desired width, height, and output format (PNG, SVG) via the POST request payload. This lets you control the final image size for your specific application requirements.

**Does `generate_chart_url` allow me to compare multiple distinct data series on one chart?**
Yes, you define multiple datasets by providing separate series labels and corresponding values within a single request. This lets you visualize comparative metrics like tracking sales across different quarters.

**Are there rate limits when I run many visualizations using `render_chart_post` in rapid succession?**
The service enforces usage quotas to maintain stability, which are tied to your account plan. If you hit a limit, the API will return a clear 'Rate Limit Exceeded' error, prompting you to wait or upgrade.