QuickChart MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@QuickChart MCP Servergenerate a line chart of monthly active users"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
QuickChart MCP Server
An Python MCP server implementation for QuickChart.io, allowing you to generate and download charts directly through Claude Desktop and other MCP clients.

Installation
# Clone the repository
git clone https://github.com/yourusername/quickchart-mcp.git
cd quickchart-mcpRelated MCP server: Quick Chart MCP Server
Usage
Running as a standalone MCP server
uv run src/server.pyConfiguring in Claude Desktop and other MCP clients
Add the following configuration to your Claude Desktop configuration file or equivalent for other MCP clients:
"quickchart": {
"command": "/path/to/uv",
"args": [
"run",
"--directory",
"/path/to/quickchart-mcp/src",
"server.py"
]
}Make sure to replace /path/to/uv with the actual path to your uv executable and /path/to/quickchart-mcp/src with the path to your quickchart-mcp source directory.
Available Tool
generate_chart
Generates a chart using QuickChart and optionally downloads it.
Features:
Generate a wide variety of chart types: bar, line, pie, doughnut, radar, polarArea, scatter, bubble, radialGauge, and speedometer
Easily customize your charts with data labels, multiple datasets, custom colors, and extensive configuration options
Retrieve a URL to view your chart online or download it directly as an image file
Uses Pydantic models for robust input validation and type checking
Basic Parameters:
chart_input: Chart configuration objectdownload: Whether to download the chart (default: False)output_path: Path to save the chart image (optional)
Example:
QuickChart uses Chart.js configurations as input to render images:
{
"type": "line",
"datasets": [
{
"label": "ETH Options Open Interest",
"data": [2756584.1, 2277777.2, 3131823.3, 2806715.4, 2798619.4, 2795944.7],
"fill": true,
"borderColor": "#3498db",
"backgroundColor": "rgba(52, 152, 219, 0.1)"
}
],
"labels": ["Apr 20", "Apr 25", "May 1", "May 5", "May 10", "May 15"],
"options": {
"plugins": {
"title": {
"display": true,
"text": "ETH Options Open Interest"
}
},
"scales": {
"y": {
"beginAtZero": false,
"title": {
"display": true,
"text": "Open Interest (ETH)"
}
}
}
}
}The tool returns a QuickChart URL (e.g., https://quickchart.io/chart?c=...) that can be accessed directly in a browser, displayed inline in applications, or embedded in web pages. When download is enabled, it returns the local path to the saved image file instead. Output of above config shown in
.
See the QuickChart documentation for more configuration options.
Requirements
Python 3.12+
Dependencies: httpx, mcp, python-dotenv, pydantic, quickchart-io
Available Tools
1 toolgenerate_chartA
Generate a chart using QuickChart.
Args:
chart_input: Chart configuration including type, datasets, labels, title, and options
download: If True, download the chart image and return the saved file path; otherwise return the URL
output_path: Path where the chart image should be saved if download=True. If not provided,
the chart will be saved to the script directory.
Returns:
The URL of the generated chart if download=False, otherwise the path where the chart was saved
| Name | Required | Description | Default |
|---|---|---|---|
| download | No | ||
| chart_input | Yes | ||
| output_path | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It clearly explains the two output modes (URL vs. file path), the default output_path behavior, and the return value. It also implicitly discloses file-writing side effects when download=True, which is valuable context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with Args and Returns sections, and every sentence provides essential information. It is concise with no redundancy, making it easy for an AI agent to parse and act upon.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core aspects: inputs, download options, and return values. It does not mention potential network dependencies or error conditions, but for a tool of this complexity, the provided context is largely adequate. The presence of a detailed input schema further fills in the gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema's top-level parameters have 0% description coverage, so the description must compensate. It fully does: chart_input is summarized as 'configuration including type, datasets, labels, title, and options', download explains its boolean effect, and output_path clarifies its optional nature and default destination. This adds significant meaning beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Generate a chart using QuickChart', which is a specific verb+resource combination. It unambiguously identifies the tool's purpose and the service it wraps, leaving no room for confusion about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not discuss when to use this tool versus alternatives, and no sibling tools are provided for context. It offers indirect usage guidance through parameter descriptions (e.g., download=True to save), but there is no explicit statement of when this tool should be chosen.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
With only one tool, there is no possibility of confusion or overlap. The tool's purpose is singular and clear.
The single tool name 'generate_chart' follows a clear verb_noun pattern, and with only one tool, consistency is inherently maintained.
The server has only one tool, which is borderline for typical expectations. However, for the narrow domain of chart generation, it may be sufficient, though it feels thin.
The tool covers both URL generation and file download, with configurable output paths, fully addressing the core chart generation workflow without obvious gaps.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Renders interactive Chart.js charts and dashboards inline in AI conversations.
Renders interactive Chart.js charts and dashboards inline in AI conversations. Supports bar, line, area, pie, doughnut, scatter, and radar charts with multi-chart dashboard grids.
Create, inspect, manage, and render charts and data visualizations as SVG/PNG or interactive embeds.
Generate production-ready chart code (Recharts, Chart.js, ECharts, Plotly) from a prompt.
Related MCP Servers
- -licenseBqualityNot gradedmaintenanceEnables generation of various chart types (bar, line, pie, radar, etc.) using QuickChart.io service. Supports creating chart URLs and downloading chart images locally with customizable Chart.js configurations.2200
- AlicenseBqualityDmaintenanceEnables AI agents to generate chart visualizations by interacting with QuickChart API, allowing users to create and retrieve chart image links through natural language requests.1244Apache 2.0
- AlicenseBqualityDmaintenanceEnables generation of various chart types (bar, line, pie, radar, etc.) using QuickChart.io and Chart.js configurations, with options to generate chart URLs or download images locally.22001MIT
- AlicenseAqualityFmaintenanceGenerates publication-quality charts and diagrams from natural language descriptions directly within Claude.3125MIT
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/neocortex/quickchart-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server