mcp-server-chart-offline
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., "@mcp-server-chart-offlinecreate a pie chart showing market share by product"
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.
🚀 MCP Server Chart - 完全离线版本
一个完全离线的 Model Context Protocol (MCP) 图表生成服务器,支持 15 种图表类型,无需网络连接即可生成高质量的 SVG 图表。
✨ 主要特性
🌐 完全离线 - 无需任何网络连接
📊 15种图表类型 - 涵盖基础图表、统计图表、高级图表和关系图表
⚡ 即时响应 - 平均生成时间 < 1ms
🪶 轻量级 - 纯 SVG 生成,无外部依赖
🔌 MCP 兼容 - 完全兼容 Model Context Protocol
🛡️ 数据安全 - 所有数据本地处理,不上传云端
🎨 高质量输出 - Base64 编码的 SVG data URL
Related MCP server: PlotMCP Server
📊 支持的图表类型
基础图表
📈 折线图 (line) - 显示数据趋势和变化
📊 柱状图 (bar/column) - 比较不同类别的数据
🥧 饼图 (pie) - 显示数据占比和分布
📈 面积图 (area) - 显示数据变化趋势和累积效果
统计图表
📊 直方图 (histogram) - 显示数据分布频率
⚪ 散点图 (scatter) - 显示两个变量之间的关系
高级图表
☁️ 词云图 (word-cloud) - 可视化文本数据的重要性
🎯 雷达图 (radar) - 多维数据对比分析
🗂️ 树状图 (treemap) - 层次化数据的面积展示
📊 双轴图 (dual-axes) - 同时展示两个不同量级的数据系列
关系图表
🧠 思维导图 (mind-map) - 展示概念之间的层次关系
🕸️ 网络图 (network-graph) - 显示节点和连接关系
🔄 流程图 (flow-diagram) - 展示步骤和流程
🐟 鱼骨图 (fishbone-diagram) - 因果关系分析图
🚀 快速开始
安装依赖
npm install构建项目
npm run build运行方式
1. MCP 服务器模式
# 默认 stdio 模式
node build/index.js
# SSE 模式(可通过 HTTP 访问)
node build/index.js --transport sse --port 1122
# Streamable 模式
node build/index.js --transport streamable --port 11222. 演示服务器模式
# 启动演示服务器
node demo-server.js然后访问:
📊 演示页面: http://localhost:3000/demo
📚 API 文档: http://localhost:3000/api
❤️ 健康检查: http://localhost:3000/health
MCP 客户端配置
在您的 MCP 客户端配置文件中添加:
{
"mcpServers": {
"mcp-server-chart-offline": {
"command": "node",
"args": [
"/path/to/mcp-server-chart/build/index.js"
],
"cwd": "/path/to/mcp-server-chart"
}
}
}📋 使用示例
基础图表
折线图
{
"type": "line",
"data": [
{ "time": 2020, "value": 100 },
{ "time": 2021, "value": 120 },
{ "time": 2022, "value": 150 },
{ "time": 2023, "value": 180 }
]
}柱状图
{
"type": "bar",
"data": [
{ "category": "产品A", "value": 100 },
{ "category": "产品B", "value": 120 },
{ "category": "产品C", "value": 80 }
]
}饼图
{
"type": "pie",
"data": [
{ "category": "苹果", "value": 40 },
{ "category": "橙子", "value": 30 },
{ "category": "香蕉", "value": 30 }
]
}高级图表
词云图
{
"type": "word-cloud",
"data": [
{ "text": "JavaScript", "value": 50 },
{ "text": "Python", "value": 40 },
{ "text": "React", "value": 35 }
]
}雷达图
{
"type": "radar",
"data": [
{ "category": "技能A", "value": 80 },
{ "category": "技能B", "value": 70 },
{ "category": "技能C", "value": 90 }
]
}关系图表
流程图
{
"type": "flow-diagram",
"data": [
{ "name": "开始", "step": "start" },
{ "name": "处理", "step": "process" },
{ "name": "决策", "step": "decision" },
{ "name": "结束", "step": "end" }
]
}🔧 API 接口
REST API
生成单个图表
POST /api/generate-chart
Content-Type: application/json
{
"type": "line",
"data": [{"time": 2020, "value": 100}],
"width": 400,
"height": 300
}批量生成图表
POST /api/generate-charts
Content-Type: application/json
{
"charts": [
{"type": "line", "data": [...]},
{"type": "bar", "data": [...]}
]
}获取支持的图表类型
GET /api/chart-typesMCP 工具
项目提供以下 MCP 工具:
generate_line_chart- 生成折线图generate_column_chart- 生成柱状图generate_area_chart- 生成面积图generate_pie_chart- 生成饼图generate_bar_chart- 生成条形图generate_histogram_chart- 生成直方图generate_scatter_chart- 生成散点图generate_word_cloud_chart- 生成词云图generate_radar_chart- 生成雷达图generate_treemap_chart- 生成树状图generate_dual_axes_chart- 生成双轴图generate_mind_map- 生成思维导图generate_network_graph- 生成网络图generate_flow_diagram- 生成流程图generate_fishbone_diagram- 生成鱼骨图
🧪 测试
快速测试
node simple-test.js全面测试
node test-all-charts.js预期输出:
🚀 Testing all chart types in offline mode...
📊 Testing line chart...
✅ Success! Length: 798, Time: 0ms
📊 Testing bar chart...
✅ Success! Length: 1098, Time: 0ms
...
📈 Test Summary:
================
✅ Successful: 14/14
❌ Failed: 0/14
📊 Performance Stats:
Average generation time: 0.14ms
Average result size: 1323 characters📦 部署
无网络环境部署
准备部署包
# 在有网络的环境中
git clone <repository>
cd mcp-server-chart
npm install
npm run build
# 打包整个项目目录
tar -czf mcp-server-chart-offline.tar.gz .在目标环境部署
# 解压到目标环境
tar -xzf mcp-server-chart-offline.tar.gz
cd mcp-server-chart
# 直接运行(不需要 npm install)
node build/index.jsDocker 部署
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY build/ ./build/
COPY demo.html ./
COPY demo-server.js ./
EXPOSE 3000
CMD ["node", "demo-server.js"]🎯 性能指标
指标 | 数值 |
支持图表类型 | 15 种 |
平均生成时间 | < 1ms |
平均输出大小 | ~1.3KB |
内存占用 | < 50MB |
网络依赖 | 0 |
启动时间 | < 2s |
🔍 技术架构
核心组件
图表生成器 (
src/utils/generate-offline.ts) - 纯 JavaScript SVG 生成MCP 服务器 (
src/server.ts) - Model Context Protocol 实现工具定义 (
src/index.ts) - MCP 工具注册和处理演示服务器 (
demo-server.js) - HTTP API 和演示页面
数据流程
接收请求 - MCP 客户端或 HTTP 请求
数据验证 - 检查图表类型和数据格式
SVG 生成 - 根据类型生成对应的 SVG 图表
Base64 编码 - 转换为 data URL 格式
返回结果 - 可直接使用的图片 URL
🛠️ 开发
项目结构
mcp-server-chart/
├── src/
│ ├── index.ts # MCP 工具定义
│ ├── server.ts # MCP 服务器实现
│ └── utils/
│ ├── constants.ts # 图表类型映射
│ ├── generate.ts # 主生成函数
│ ├── generate-offline.ts # 离线生成实现
│ └── ...
├── build/ # 编译输出
├── demo.html # 演示页面
├── demo-server.js # 演示服务器
├── test-all-charts.js # 测试脚本
├── OFFLINE_USAGE.md # 离线使用文档
└── package.json添加新图表类型
在
src/utils/constants.ts中添加映射在
src/utils/generate-offline.ts中实现生成函数在
src/index.ts中注册 MCP 工具添加测试用例
构建命令
npm run build # 编译 TypeScript
npm run start # 启动 MCP 服务器
npm run test # 运行测试🤝 贡献
欢迎提交 Issue 和 Pull Request!
开发指南
Fork 项目
创建功能分支 (
git checkout -b feature/AmazingFeature)提交更改 (
git commit -m 'Add some AmazingFeature')推送到分支 (
git push origin feature/AmazingFeature)打开 Pull Request
📄 许可证
本项目采用 MIT 许可证 - 详见 LICENSE 文件
🙏 致谢
AntV - 原始图表库灵感
Model Context Protocol - 协议规范
所有贡献者和用户
🎉 现在您可以在完全无网络的环境下使用所有 15 种图表类型的 MCP 图表生成服务了!
如有问题或建议,请提交 Issue。
Available Tools
15 toolsgenerate_area_chartB
Generate a area chart to show data trends under continuous independent variables and observe the overall data trend, such as, displacement = velocity (average or instantaneous) × time: s = v × t. If the x-axis is time (t) and the y-axis is velocity (v) at each moment, an area chart allows you to observe the trend of velocity over time and infer the distance traveled by the area's size.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Data for area chart, such as, [{ time: '2018', value: 99.9 }]. | |
| stack | No | Whether stacking is enabled. When enabled, area charts require a 'group' field in the data. | |
| theme | No | Set the theme for the chart, optional, default is 'default'. | default |
| width | No | Set the width of chart, default is 600. | |
| height | No | Set the height of chart, default is 400. | |
| title | No | Set the title of chart. | |
| axisXTitle | No | Set the x-axis title of chart. | |
| axisYTitle | No | Set the y-axis title of chart. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as side effects, return format, or required permissions. For a chart generation tool, it fails to mention output type (e.g., image URL, HTML) or any mutation aspects.
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 paragraph that is informative but somewhat verbose with the physics example. Could be more concise. However, it is well-structured and front-loads the core 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 absence of annotations and output schema, the description lacks information about return format or side effects. For a tool with 8 parameters, it provides adequate conceptual context but misses behavioral completeness that would help the agent understand the tool's full operation.
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% description coverage, so the schema already documents all parameters. The description adds a conceptual example but no additional practical semantics beyond the schema, meeting the baseline expectations.
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 an area chart to show data trends under continuous independent variables, using a specific physics example. It effectively distinguishes from sibling tools like line and bar charts by emphasizing the area's role in inferring magnitude.
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 continuous independent variables and observing overall trends, but does not explicitly state when not to use it or compare directly to alternatives. Adequate but lacks explicit guidance on selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_bar_chartB
Generate a bar chart to show data for numerical comparisons among different categories, such as, comparing categorical data and for horizontal comparisons.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Data for bar chart, such as, [{ category: '分类一', value: 10 }]. | |
| group | No | Whether grouping is enabled. When enabled, bar charts require a 'group' field in the data. When `group` is true, `stack` should be false. | |
| stack | No | Whether stacking is enabled. When enabled, bar charts require a 'group' field in the data. When `stack` is true, `group` should be false. | |
| theme | No | Set the theme for the chart, optional, default is 'default'. | default |
| width | No | Set the width of chart, default is 600. | |
| height | No | Set the height of chart, default is 400. | |
| title | No | Set the title of chart. | |
| axisXTitle | No | Set the x-axis title of chart. | |
| axisYTitle | No | Set the y-axis title of chart. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It does not mention side effects, authentication requirements, error handling, or the output format. The description is too minimal to be transparent.
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 sentence that is concise but slightly redundant ('such as, comparing categorical data and for horizontal comparisons'). It is efficient but could be tighter.
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 9 parameters and no output schema, the description is incomplete. It lacks high-level guidance on parameter relationships (e.g., group/stack exclusivity) and does not explain return values. The schema provides details, but the description could offer more context.
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 description coverage is 100%, so baseline is 3. The description adds no additional meaning beyond what the schema already provides for parameters, such as the mutual exclusivity of group and stack being only in 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 the tool generates a bar chart for numerical comparisons across categories, and mentions horizontal comparisons, which distinguishes it from sibling column charts. The verb 'generate' and resource 'bar chart' are specific.
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 when to use a bar chart (numerical comparisons, horizontal) but does not explicitly state when not to use it or provide alternatives among siblings. The guidance is implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_column_chartB
Generate a column chart, which are best for comparing categorical data, such as, when values are close, column charts are preferable because our eyes are better at judging height than other visual elements like area or angles.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Data for column chart, such as, [{ category: '北京' value: 825; group: '油车' }]. | |
| group | No | Whether grouping is enabled. When enabled, column charts require a 'group' field in the data. When `group` is true, `stack` should be false. | |
| stack | No | Whether stacking is enabled. When enabled, column charts require a 'group' field in the data. When `stack` is true, `group` should be false. | |
| theme | No | Set the theme for the chart, optional, default is 'default'. | default |
| width | No | Set the width of chart, default is 600. | |
| height | No | Set the height of chart, default is 400. | |
| title | No | Set the title of chart. | |
| axisXTitle | No | Set the x-axis title of chart. | |
| axisYTitle | No | Set the y-axis title of chart. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral traits such as side effects, permissions, or whether the tool is read-only. It focuses on visual properties, not tool behavior.
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 sentence but includes an awkward clause ('such as, when values are close...') which reduces clarity. It is not as concise as it could be.
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 provides good high-level context but lacks details on how to use parameters like group/stack. Given the schema covers them, it is moderately complete.
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 description coverage is 100%, so the description adds no extra meaning beyond the schema. Baseline 3 is appropriate.
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 column chart and explains when it is best used (comparing categorical data, especially when values are close). It provides a specific reason (judging height vs area/angles).
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 gives a hint about when column charts are preferable but does not explicitly guide when to use this tool versus alternatives like bar charts. No mention of when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_dual_axes_chartB
Generate a dual axes chart which is a combination chart that integrates two different chart types, typically combining a bar chart with a line chart to display both the trend and comparison of data, such as, the trend of sales and profit over time.
| Name | Required | Description | Default |
|---|---|---|---|
| categories | Yes | Categories for dual axes chart, such as, ['2015', '2016', '2017']. | |
| series | Yes | ||
| theme | No | Set the theme for the chart, optional, default is 'default'. | default |
| width | No | Set the width of chart, default is 600. | |
| height | No | Set the height of chart, default is 400. | |
| title | No | Set the title of chart. | |
| axisXTitle | No | Set the x-axis title of chart. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral traits beyond generating the chart, such as return format, data constraints, or side effects. This leaves the agent without critical operational 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 a single sentence that directly states the tool's purpose. It is relatively concise, though it could be slightly more structured by separating the definition from the example usage.
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's moderate complexity (7 parameters, no output schema, no annotations), the description lacks guidance on when to use this specific chart type over siblings, and does not explain the relationship between series and axes. It meets minimum completeness but has 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?
Schema coverage is high (86%), so the description adds only marginal value beyond the schema, such as explaining the dual-axis concept. It does not deepen understanding of parameter interdependencies or provide usage examples beyond what schema descriptions already offer.
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 dual axes chart, which is a combination chart integrating two types, typically bar and line, to display trend and comparison. This effectively distinguishes it from siblings that produce single chart types.
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 displaying both trend and comparison simultaneously, but it does not explicitly state when to use this tool versus alternatives like separate bar or line charts, nor provides when-not or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_fishbone_diagramB
Generate a fishbone diagram chart to uses a fish skeleton, like structure to display the causes or effects of a core problem, with the problem as the fish head and the causes/effects as the fish bones. It suits problems that can be split into multiple related factors.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Data for fishbone diagram chart, such as, { name: 'main topic', children: [{ name: 'topic 1', children: [{ name: 'subtopic 1-1' }] }. | |
| theme | No | Set the theme for the chart, optional, default is 'default'. | default |
| width | No | Set the width of chart, default is 600. | |
| height | No | Set the height of chart, default is 400. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description fails to disclose important behavioral traits such as whether the diagram is interactive, what output format is returned (e.g., image, HTML), or any side effects. This leaves the agent uninformed about runtime behavior.
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 extremely concise: two sentences that efficiently define the tool's purpose and use case. Every word adds value, and the structure is front-loaded with the core definition.
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 complexity of nested parameters and the lack of an output schema, the description should explain what the tool returns (e.g., a chart image URL) and provide a complete example. The truncated example and omission of output format make the description incomplete for a full understanding.
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 schema already documents parameters well. The description adds an example but the example is truncated and incomplete, which is a negative. Overall, the description does not significantly enhance understanding beyond the 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 it generates a fishbone diagram for displaying causes/effects of a core problem, which differentiates it from other chart types like bar or line charts. However, while it mentions suitability for problems with multiple related factors, it does not explicitly contrast with the similar sibling 'generate_mind_map', which could be used for similar purposes.
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 gives a usage hint ('It suits problems that can be split into multiple related factors'), which helps decide when to use it. However, it lacks explicit when-not-to-use guidance or alternative tool suggestions, such as when a mind map or flow diagram might be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_flow_diagramB
Generate a flow diagram chart to show the steps and decision points of a process or system, such as, scenarios requiring linear process presentation.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Data for flow diagram chart, such as, { nodes: [{ name: 'node1' }, { name: 'node2' }], edges: [{ source: 'node1', target: 'node2', name: 'edge1' }] }. | |
| theme | No | Set the theme for the chart, optional, default is 'default'. | default |
| width | No | Set the width of chart, default is 600. | |
| height | No | Set the height of chart, default is 400. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It only states the tool generates a chart, lacking details on output format, side effects, or constraints. Minimal behavioral disclosure.
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?
Single sentence that is concise and front-loads the main purpose. Could be slightly more structured but efficient.
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?
With 4 parameters including nested objects and no output schema, the description covers usage but omits return value and data structure details beyond the schema example.
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%, and the description adds no additional meaning beyond the schema's own descriptions. No extra semantic value for parameters.
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?
Description clearly states it generates a flow diagram to show steps and decision points, with an example scenario. However, it does not differentiate from sibling diagram tools like fishbone or mind maps.
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?
Gives a usage scenario ('linear process presentation') but no explicit when-not-to-use or alternatives. Usage context is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_histogram_chartB
Generate a histogram chart to show the frequency of data points within a certain range. It can observe data distribution, such as, normal and skewed distributions, and identify data concentration areas and extreme points.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Data for histogram chart, such as, [78, 88, 60, 100, 95]. | |
| binNumber | No | Number of intervals to define the number of intervals in a histogram. | |
| theme | No | Set the theme for the chart, optional, default is 'default'. | default |
| width | No | Set the width of chart, default is 600. | |
| height | No | Set the height of chart, default is 400. | |
| title | No | Set the title of chart. | |
| axisXTitle | No | Set the x-axis title of chart. | |
| axisYTitle | No | Set the y-axis title of chart. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It states 'generate' but does not disclose whether it creates a file, returns a URL, or renders inline; nor does it mention side effects, authorization, or limitations. The description is insufficient for understanding the tool's behavior beyond its core function.
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 sentences, efficient and front-loaded with purpose. No unnecessary words.
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 has 8 parameters and no output schema. The description explains the purpose and use case but is silent on return format, error handling, or output behavior. Given the complexity, additional context about what the tool returns would be needed for an agent to correctly interpret and use the result.
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?
All parameters have descriptions in the schema (100% coverage), so the description adds little value beyond what the schema already provides. It mentions data and binNumber briefly but does not elaborate on usage nuances or constraints.
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 it generates a histogram chart to show frequency of data points within ranges, distinguishing it from sibling chart tools that serve different plot types. It explains the purpose of observing distribution, concentration, and extremes, but does not explicitly differentiate from alternatives like bar 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 does not provide explicit guidance on when to use this chart type versus alternatives. Usage is implied through the description of histogram use, but no exclusions or context settings are given, leaving the agent without clear decision criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_line_chartA
Generate a line chart to show trends over time, such as, the ratio of Apple computer sales to Apple's profits changed from 2000 to 2016.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Data for line chart, such as, [{ time: '2015', value: 23 }]. | |
| stack | No | Whether stacking is enabled. When enabled, line charts require a 'group' field in the data. | |
| theme | No | Set the theme for the chart, optional, default is 'default'. | default |
| width | No | Set the width of chart, default is 600. | |
| height | No | Set the height of chart, default is 400. | |
| title | No | Set the title of chart. | |
| axisXTitle | No | Set the x-axis title of chart. | |
| axisYTitle | No | Set the y-axis title of chart. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It does not mention any side effects, permissions, data validation, or what the output format is.
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?
Single sentence, front-loaded with the core purpose, no wasted words.
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?
For a simple line chart, the description is adequate given full schema. However, it lacks guidance on data ordering or return type, and there is no output schema.
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% with each parameter described. The description adds no additional parameter meaning beyond the schema, so baseline score of 3 is appropriate.
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?
Description clearly states the tool generates a line chart to show trends over time, with a specific example. This distinguishes it from other chart types among siblings.
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?
Description gives a use case (trends over time) but does not explicitly state when not to use this tool or compare with alternatives. With many sibling chart tools, more guidance would be beneficial.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_mind_mapB
Generate a mind map chart to organizes and presents information in a hierarchical structure with branches radiating from a central topic, such as, a diagram showing the relationship between a main topic and its subtopics.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Data for mind map chart, such as, { name: 'main topic', children: [{ name: 'topic 1', children: [{ name:'subtopic 1-1' }] }. | |
| theme | No | Set the theme for the chart, optional, default is 'default'. | default |
| width | No | Set the width of chart, default is 600. | |
| height | No | Set the height of chart, default is 400. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description bears full burden. It describes the output's visual structure but omits behavioral traits like side effects (none expected), permissions, limitations, or rendering details. Minimal transparency beyond basic purpose.
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, front-loaded with action and purpose. Contains slight redundancy ('organizes and presents') but overall efficient. 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?
No output schema exists; description does not mention return format (e.g., image URL or SVG). Data parameter structure is explained with example, but lack of output description leaves agent uncertain about result. Adequate for basic use but incomplete for robust agent handling.
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 covers 100% of parameters. Description adds an example for 'data' and explains hierarchical nature, but repeats default values for theme/width/height. Adds some value beyond schema but does not fully compensate for missing behavioral info.
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?
Description clearly states the verb 'generate' and resource 'mind map chart', with explicit mention of hierarchical structure and central topic. Distinguishes from sibling chart tools like 'generate_pie_chart' or 'generate_line_chart' which serve different purposes.
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?
Implies usage for hierarchical data relationships (branching from central topic), but no explicit when-to-use vs alternatives or exclusions. Suggests a specific use case but does not compare with other chart generators to guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_network_graphB
Generate a network graph chart to show relationships (edges) between entities (nodes), such as, relationships between people in social networks.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Data for network graph chart, such as, { nodes: [{ name: 'node1' }, { name: 'node2' }], edges: [{ source: 'node1', target: 'node2', name: 'edge1' }] } | |
| theme | No | Set the theme for the chart, optional, default is 'default'. | default |
| width | No | Set the width of chart, default is 600. | |
| height | No | Set the height of chart, default is 400. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description should disclose behavioral traits. It only describes the basic function, omitting details like performance with large data, interactive features, or any side effects.
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?
A single sentence that is front-loaded and contains no superfluous information. It efficiently conveys the core 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 nested objects and no output schema, the description adequately covers the input structure with an example. It is complete enough for a chart generation tool with straightforward parameters.
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 description adds an example for the data parameter, but the schema already covers all parameters with descriptions. Baseline 3 is appropriate since the description value is marginal beyond the 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 the tool generates a network graph chart showing relationships between entities, with a concrete example (social networks). It distinguishes itself from sibling chart tools like bar or line charts.
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?
No guidance on when to use this tool versus alternatives such as flow diagrams or other chart types. The description only states what it does, not when it is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_pie_chartC
Generate a pie chart to show the proportion of parts, such as, market share and budget allocation.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Data for pie chart, such as, [{ category: '分类一', value: 27 }]. | |
| innerRadius | No | Set the innerRadius of pie chart, the value between 0 and 1. Set the pie chart as a donut chart. Set the value to 0.6 or number in [0 ,1] to enable it. | |
| theme | No | Set the theme for the chart, optional, default is 'default'. | default |
| width | No | Set the width of chart, default is 600. | |
| height | No | Set the height of chart, default is 400. | |
| title | No | Set the title of chart. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It does not disclose behavior for invalid data (e.g., negative values, empty array beyond schema minItems), nor explain how proportions are calculated or what happens with duplicate categories. No mention of output format (e.g., URL, base64).
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 concise sentence, front-loaded with the action. However, it includes examples that are also present in the schema, slightly reducing efficiency.
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?
With no output schema and 6 parameters, the description is incomplete. It does not specify what the tool returns (image, file path?), nor differentiate from 14 sibling chart tools beyond the basic purpose. Lacks guidance on when this chart type is appropriate.
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 description coverage is 100%, so baseline is 3. The description adds minor context ('market share, budget allocation') but does not enhance understanding of parameters beyond schema examples, such as the meaning of innerRadius or theme.
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 verb 'generate' and resource 'pie chart', and provides examples of usage like 'market share and budget allocation'. However, it does not differentiate from sibling tools such as donut charts (which this tool can produce via innerRadius).
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?
No explicit guidance on when to use this tool versus alternatives. The description gives examples but does not specify when not to use a pie chart (e.g., for many categories) or mention sibling tools. The innerRadius param is not highlighted for donut usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_radar_chartA
Generate a radar chart to display multidimensional data (four dimensions or more), such as, evaluate Huawei and Apple phones in terms of five dimensions: ease of use, functionality, camera, benchmark scores, and battery life.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Data for radar chart, such as, [{ name: 'Design', value: 70 }]. | |
| theme | No | Set the theme for the chart, optional, default is 'default'. | default |
| width | No | Set the width of chart, default is 600. | |
| height | No | Set the height of chart, default is 400. | |
| title | No | Set the title of chart. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It explains data format and mentions group for multiple series but lacks details on output, error handling, or performance. Basic transparency without exaggeration.
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?
Single sentence that efficiently conveys purpose and usage with an example. No wasted words; every part 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?
With 100% schema coverage and no output schema, description adequately covers the tool's purpose and key parameters. Missing output description is acceptable for a chart tool. Contextually complete for agent decision-making.
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 baseline is 3. Description adds value by providing an example of data structure, explaining the optional group field, and clarifying theme, width, height, and title usage. This goes beyond schema details.
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?
Description clearly states it generates a radar chart for multidimensional data (four dimensions or more) and provides a concrete example (comparing phones). This verb+resource+scope distinguishes it from sibling chart tools.
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?
Description gives an example of when to use (comparing entities across multiple dimensions) and implies it's for multidimensional data, which sets it apart from other chart types. However, it doesn't explicitly state when not to use or name alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_scatter_chartA
Generate a scatter chart to show the relationship between two variables, helps discover their relationship or trends, such as, the strength of correlation, data distribution patterns.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Data for scatter chart, such as, [{ x: 10, y: 15 }]. | |
| theme | No | Set the theme for the chart, optional, default is 'default'. | default |
| width | No | Set the width of chart, default is 600. | |
| height | No | Set the height of chart, default is 400. | |
| title | No | Set the title of chart. | |
| axisXTitle | No | Set the x-axis title of chart. | |
| axisYTitle | No | Set the y-axis title of chart. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It fails to mention output format (e.g., image URL, base64), side effects, or how the result is returned. This is a critical gap for agent invocation.
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 run-on sentence. While concise, it lacks structure (e.g., separate sentences for purpose and examples). Could be improved for readability.
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?
With no output schema, the description should specify what the tool returns. It does not, leaving a gap. Purpose is clear but output behavior is missing, making it only partially complete.
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% with each parameter described. The description adds no additional semantics beyond the schema, which already explains parameters adequately. Baseline 3 is appropriate.
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?
Description clearly states it generates a scatter chart to show relationship between two variables, with examples like correlation and distribution patterns. It effectively distinguishes from sibling chart types like bar, line, pie, etc.
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 when to use (discover relationships/trends) but does not explicitly state when not to use or suggest alternatives. Given the sibling list, context is clear enough for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_treemap_chartB
Generate a treemap chart to display hierarchical data and can intuitively show comparisons between items at the same level, such as, show disk space usage with treemap.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Data for treemap chart, such as, [{ name: 'Design', value: 70, children: [{ name: 'Tech', value: 20 }] }]. | |
| theme | No | Set the theme for the chart, optional, default is 'default'. | default |
| width | No | Set the width of chart, default is 600. | |
| height | No | Set the height of chart, default is 400. | |
| title | No | Set the title of chart. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits. It only says 'Generate a treemap chart' without mentioning output format, processing constraints, or side effects. Insufficient for a mutation-like tool.
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 concise sentence that front-loads the purpose. It is efficient but could be slightly more structured.
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?
Despite 5 parameters and no output schema, the description does not explain what the tool returns or any constraints. It is too brief for a complex chart generation tool.
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 description coverage is 100%, so the description adds no new parameter semantics beyond the schema. Baseline 3 is appropriate as the description does not enhance understanding of parameters.
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 treemap chart for hierarchical data, distinguishing it from sibling chart tools like bar charts or line charts. It provides a specific example (disk space usage), making the purpose explicit.
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 hierarchical data comparisons but does not explicitly state when to use this tool over alternatives like mind maps or network graphs. No exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_word_cloud_chartA
Generate a word cloud chart to show word frequency or weight through text size variation, such as, analyzing common words in social media, reviews, or feedback.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Data for word cloud chart, such as, [{ value: '4.272', text: '形成' }]. | |
| theme | No | Set the theme for the chart, optional, default is 'default'. | default |
| width | No | Set the width of chart, default is 600. | |
| height | No | Set the height of chart, default is 400. | |
| title | No | Set the title of chart. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It does not mention any behaviors such as data validation, performance implications, or side effects, leaving gaps for the agent.
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 concise sentence that front-loads the main action and includes an example. It is efficient but lacks structured sections; could be slightly improved.
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?
For a relatively simple chart tool with good schema coverage and no output schema, the description is adequate but minimal. It covers purpose and example but omits details like error conditions or return format, which would help completeness.
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?
With 100% schema description coverage, the schema already documents all parameters. The description adds a use case example but no new semantic information beyond what the schema provides. Baseline 3 applies.
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 word cloud chart and explains its purpose to show word frequency or weight through text size variation, with specific use case examples. This distinguishes it from sibling chart tools.
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 provides context for when to use the tool (analyzing common words in social media, reviews, feedback), but does not explicitly exclude alternatives or give when-not-to-use guidance. It implies usage but lacks explicit comparisons.
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.
15 tool updates
v0.4.0- First observed
generate_area_chart - First observed
generate_bar_chart - First observed
generate_column_chart - First observed
generate_dual_axes_chart - First observed
generate_fishbone_diagram - First observed
generate_flow_diagram - First observed
generate_histogram_chart - First observed
generate_line_chart - First observed
generate_mind_map - First observed
generate_network_graph - First observed
generate_pie_chart - First observed
generate_radar_chart - First observed
generate_scatter_chart - First observed
generate_treemap_chart - First observed
generate_word_cloud_chart
TDQS
Every tool generates a distinct chart type (area, bar, column, dual axes, fishbone, flow, histogram, line, mind map, network graph, pie, radar, scatter, treemap, word cloud) with no functional overlap. Descriptions clearly differentiate each chart's purpose.
All tools start with 'generate_' and end with a descriptive type suffix, but there are minor variations: 'fishbone_diagram', 'mind_map', 'network_graph' instead of '_chart'. Otherwise, the pattern is consistent.
With 15 tools, the server covers a comprehensive set of chart types without being excessive. Each tool serves a unique purpose, making the count appropriate for a chart generation server.
The tool set covers a wide range of common chart types (e.g., line, bar, pie, scatter) and specialized diagrams (fishbone, mind map). Minor gaps like heatmaps or box plots exist, but the selection is largely complete for typical use cases.
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
Educational MCP server with 17 math/stats tools, visualizations, and persistent workspace
Bar-first MCP server for Tabula chart authoring, PNG rendering, and editor handoff.
An MCP server that automatically collects feedback on your MCP server.
An MCP server that provides asset auto generator
Related MCP Servers
- AlicenseCqualityFmaintenanceAn MCP server for generating customizable data visualizations using QuickChart.io, supporting multiple chart types and Chart.js configuration.2200159MIT
- FlicenseAqualityDmaintenanceAn MCP server that enables LLMs to generate high-quality SVG charts using matplotlib, supporting various plot types like line, bar, and heatmaps. It provides flexible configuration for dimensions and axis scales, returning either raw SVG content or paths to saved image files.9-
- FlicenseNot gradedqualityCmaintenanceAn MCP server for generating offline charts using Apache ECharts SVG SSR and rsvg-convert, optimized for Kylin ARM64 with 64KB page size.-
- FlicenseAqualityBmaintenanceAn MCP server that generates standalone SVG architecture diagrams from text descriptions, running entirely on your machine with no dependencies or network access.8-
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/liukeyu800/mcp-server-chart-offline'
If you have feedback or need assistance with the MCP directory API, please join our Discord server