Quickchart-MCP-Server
by GongRzhe
# quickchart-server MCP Server

<a href="https://glama.ai/mcp/servers/y17zluizso">
<img width="380" height="200" src="https://glama.ai/mcp/servers/y17zluizso/badge" alt="Quickchart-MCP-Server MCP server" />
</a>
<a href="https://smithery.ai/server/@GongRzhe/Quickchart-MCP-Server"><img alt="Smithery Badge" src="https://smithery.ai/badge/@GongRzhe/Quickchart-MCP-Server"></a> 
A Model Context Protocol server for generating charts using QuickChart.io
This is a TypeScript-based MCP server that provides chart generation capabilities. It allows you to create various types of charts through MCP tools.
## Overview
This server integrates with QuickChart.io's URL-based chart generation service to create chart images using Chart.js configurations. Users can generate various types of charts by providing data and styling parameters, which the server converts into chart URLs or downloadable images.
## Features
### Tools
- `generate_chart` - Generate a chart URL using QuickChart.io
- Supports multiple chart types: bar, line, pie, doughnut, radar, polarArea, scatter, bubble, radialGauge, speedometer
- Customizable with labels, datasets, colors, and additional options
- Returns a URL to the generated chart
- `download_chart` - Download a chart image to a local file
- Takes chart configuration and output path as parameters
- Saves the chart image to the specified location


## Supported Chart Types
- Bar charts: For comparing values across categories
- Line charts: For showing trends over time
- Pie charts: For displaying proportional data
- Doughnut charts: Similar to pie charts with a hollow center
- Radar charts: For showing multivariate data
- Polar Area charts: For displaying proportional data with fixed-angle segments
- Scatter plots: For showing data point distributions
- Bubble charts: For three-dimensional data visualization
- Radial Gauge: For displaying single values within a range
- Speedometer: For speedometer-style value display
## Usage
### Chart Configuration
The server uses Chart.js configuration format. Here's a basic example:
```javascript
{
"type": "bar",
"data": {
"labels": ["January", "February", "March"],
"datasets": [{
"label": "Sales",
"data": [65, 59, 80],
"backgroundColor": "rgb(75, 192, 192)"
}]
},
"options": {
"title": {
"display": true,
"text": "Monthly Sales"
}
}
}
```
### URL Generation
The server converts your configuration into a QuickChart URL:
```
https://quickchart.io/chart?c={...encoded configuration...}
```
## Development
Install dependencies:
```bash
npm install
```
Build the server:
```bash
npm run build
```
For development with auto-rebuild:
```bash
npm run watch
```
## Installation
### Installing via Smithery
To install QuickChart Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@GongRzhe/Quickchart-MCP-Server):
```bash
npx -y @smithery/cli install @GongRzhe/Quickchart-MCP-Server --client claude
```
To use with Claude Desktop, add the server config:
On MacOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
On Windows: `%APPDATA%/Claude/claude_desktop_config.json`
```json
{
"mcpServers": {
"quickchart-server": {
"command": "node",
"args": ["/path/to/quickchart-server/build/index.js"]
}
}
}
```
### Debugging
Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the [MCP Inspector](https://github.com/modelcontextprotocol/inspector), which is available as a package script:
```bash
npm run inspector
```
The Inspector will provide a URL to access debugging tools in your browser.
## Documentation References
- [QuickChart Documentation](https://quickchart.io/documentation/)
- [Chart Types Reference](https://quickchart.io/documentation/chart-types/)
## 📜 License
This project is licensed under the MIT License.