chartforge-mcp
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., "@chartforge-mcpGenerate a pie chart of sales by region"
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.
ChartForge MCP Server
Generate stunning, publication-quality charts and diagrams from natural language — directly inside Claude.
Setup
Claude Desktop
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"chartforge": {
"command": "npx",
"args": ["chartforge-mcp"],
"env": {
"CHARTFORGE_API_KEY": "your_api_key_here"
}
}
}
}Environment Variables
Variable | Required | Description |
| Yes | Your API key from chartforgeai.com |
| No | Custom API URL (default: |
Related MCP server: ML Research MCP
Tools
generate_chart
Generate a chart from a natural language description.
Parameters:
prompt(required): Description of the chartstyle(optional): Style preset —midnight,frost,ember,minimal,corporate,neon,lightwidth(optional): Width in pixels (default: 1200)height(optional): Height in pixels (default: 800)
refine_chart
Modify a previously generated chart.
Parameters:
chartId(required): Chart ID from a previous generationmodification(required): What to change
list_styles
List available style presets with descriptions.
Examples
"Create a bar chart showing quarterly revenue from $2M to $18M over 3 years"
"System architecture diagram for a microservices backend"
"Sankey diagram of marketing budget flow through channels to conversions"
Available Tools
3 toolsgenerate_chartA
Generate a stunning, publication-quality chart or diagram from a natural language description. Returns a PNG image.
| Name | Required | Description | Default |
|---|---|---|---|
| style | No | Visual style preset. Default: auto (AI chooses best style). | |
| width | No | Width in pixels. Default: 1200 | |
| height | No | Height in pixels. Default: 800 | |
| prompt | Yes | Description of the chart or diagram to generate. Be specific about data, labels, and what you want to visualize. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It only states the output format (PNG) but does not disclose behavioral traits like rate limits, authentication, error handling, or generation time.
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?
Two sentences with no redundancy. The first sentence front-loads the purpose with specificity, and the second states the output format. Every word earns its place.
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 tool is complex (generative AI from NL), but the description only covers output format. Missing details on behavior for ambiguous prompts, data handling, or quality expectations. Adequate but not thorough.
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?
Schema coverage is 100%, so the baseline is 3. The main description adds no significant parameter details beyond the schema descriptions, which already cover defaults and guidance for the prompt parameter.
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 the tool generates a chart or diagram from natural language and returns a PNG. This distinguishes it from sibling tools like list_styles (list styles) and refine_chart (modify existing chart).
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 implies the tool is for generating new charts from descriptions, but does not explicitly mention when to use it vs. list_styles or refine_chart, nor provide any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_stylesA
List available chart style presets with descriptions.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It correctly suggests a read-only operation (listing), but does not disclose potential aspects like performance or authentication needs. For a simple list, this is adequate but not thorough.
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 a single, front-loaded sentence with no unnecessary words. It efficiently conveys the tool's purpose.
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?
Given the tool has no parameters and no output schema, the description is complete and sufficient for an agent to understand and invoke the tool correctly.
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?
There are no parameters, so schema coverage is 100% by default. The description adds 'with descriptions' which clarifies the content beyond a bare list, providing marginal added value.
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 the action ('List') and the resource ('available chart style presets with descriptions'), and it distinguishes this tool from siblings 'generate_chart' and 'refine_chart' by focusing on listing presets.
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 implies usage for discovering styles before chart creation or refinement, but it does not explicitly state when to use or provide alternatives. Given the simplicity, the implied context is acceptable but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
refine_chartA
Modify an existing chart. Provide the chart ID from a previous generation and describe what to change.
| Name | Required | Description | Default |
|---|---|---|---|
| chartId | Yes | The chart ID from a previous generate_chart call | |
| modification | Yes | What to change about the chart, e.g. 'make the bars blue', 'add a title', 'remove the legend' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It indicates that the tool modifies an existing chart (mutation), but does not disclose potential side effects, required permissions, or whether changes are reversible. For a simple modification tool, this is adequate but could be more informative.
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 two concise sentences, front-loaded with the action and requirements. No unnecessary information.
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?
Given the tool has two simple parameters and no output schema, the description is sufficiently complete for an AI agent to understand how to use it. It could mention what the tool returns, but the absence is not critical.
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 input schema has 100% coverage with descriptions for both parameters. The tool description adds value by providing context: 'chart ID from a previous generate_chart call' for chartId and examples like 'make the bars blue' for modification. This goes beyond the schema descriptions.
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 the action (modify), resource (existing chart), and required inputs (chart ID from previous generate_chart call and modification description). It distinguishes from sibling tools: generate_chart creates new charts, list_styles lists available styles.
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 explains when to use the tool (when you have an existing chart and want to modify it) and what inputs to provide. It does not explicitly state when not to use or mention alternatives, but the context from sibling tools makes it clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
3 tool updates
v0.1.2- First observed
generate_chart - First observed
list_styles - First observed
refine_chart
TDQS
Each tool has a clearly distinct purpose: generating a new chart, listing styles, and refining an existing chart. No overlaps or ambiguity.
All tool names follow a consistent verb_noun pattern (generate_chart, list_styles, refine_chart), making them predictable.
3 tools is on the lower end but still reasonable for a focused chart generation domain. The set covers the core workflow without being too thin.
The tools allow creating, refining, and style selection, but lack retrieval or management of previously generated charts. This is a notable gap for a typical lifecycle.
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
- lightgenOAuthapp.lightgen
Generate and edit images and create short videos inside Claude. Prepaid credits, no subscription.
Create, inspect, manage, and render charts and data visualizations as SVG/PNG or interactive embeds.
Let Claude, Cursor, or ChatGPT author Mermaid diagrams your team can read and share.
Renders interactive Chart.js charts and dashboards inline in AI conversations.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceEnables creating interactive data visualizations from natural language queries using DuckDB for local databases or Databricks for enterprise data warehouses. Supports multiple chart types, CSV imports, SQL queries, and automatic statistical analysis through Claude Desktop.19MIT
- AlicenseAqualityDmaintenanceProvides machine learning researchers with tools for creating publication-quality scientific visualizations, statistical plots, and 2D data representations. It streamlines the research workflow by enabling AI assistants to generate complex figures from CSV, JSON, or direct data inputs.9MIT
- FlicenseAqualityDmaintenanceGenerates and downloads charts using QuickChart.io through Claude Desktop and other MCP clients.11-
- AlicenseBqualityCmaintenanceEnables AI agents to create publication-quality scientific diagrams, flowcharts, and architecture diagrams in OmniGraffle via natural language commands.371MIT
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/crawde/chartforge-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server