Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"mcp-server-chart-minio": {
"args": [
"-y",
"canvas"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
基于 NestJS 的图表生成服务,集成 MinIO 对象存储,支持 22+ 种图表类型的服务器端渲染。
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
npx -y 'canvas' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
Buffer overflow in canvas
A buffer overflow is present in canvas versions before 1.6.11, which could lead to a Denial of Service or execution of arbitrary code when it processes a user-provided image.
Denial of Service in canvas
Versions of `canvas` prior to 1.6.10 are vulnerable to Denial of Service. Processing malicious JPEGs or GIFs could crash the node process. ## Recommendation Upgrade to version 1.6.10
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in analytics
MCP Server for GCP environment for interacting with various Observability APIs.
MCP server for InsightSentry financial data API - market data, options, screeners, and more
Last9 MCP Server
Access Dynatrace observability data: logs, metrics, problems, vulnerabilities via DQL and Davis AI
MCP Security Weekly
Get CVE alerts and security updates for Mcp Server Chart Minio and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
基于 NestJS 的图表生成服务,集成 MinIO 对象存储,支持 22+ 种图表类型的服务器端渲染。
基础图表:line(折线图)、area(面积图)、column(柱状图)、bar(条形图)、pie(饼图)、scatter(散点图)
高级图表:histogram(直方图)、boxplot(箱线图)、radar(雷达图)、funnel(漏斗图)、treemap(树状图)、sankey(桑基图)、word-cloud(词云图)、dual-axes(双轴图)、liquid(水波图)、violin(小提琴图)、venn(韦恩图)
关系图表:mind-map(思维导图)、organization-chart(组织架构图)、flow-diagram(流程图)、fishbone-diagram(鱼骨图)、network-graph(网络图)
适用于:生产环境、虚拟机部署、一键启动完整服务
git clone <repository-url>
cd mcp-server-chart-minio
docker compose --env-file .env.docker up -d
重要配置参数说明(基于 .env.production):
修改外部访问地址与凭证(必须):
创建或编辑 .env.production,至少设置:
PUBLIC_API_URL=http://YOUR_SERVER_IP:3000
MINIO_EXTERNAL_ENDPOINT=YOUR_SERVER_IP
MINIO_EXTERNAL_PORT=9000
MINIO_ROOT_USER=your_admin_user
MINIO_ROOT_PASSWORD=your_secure_pwd
MINIO_ACCESS_KEY=your_admin_user
MINIO_SECRET_KEY=your_secure_pwd
MINIO_AUTO_CREATE_BUCKET=false
端口配置(可选):
在 .env.production 中调整:
PORT 应用端口(默认 3000)MINIO_EXTERNAL_PORT MinIO 对外端口(默认 9000)数据持久化: 默认使用 Docker 卷存储,如需指定路径,在 Compose 中设置:
volumes:
- /your/data/path:/data # 替换为实际路径
Linux/macOS:
./deploy-production.sh
Windows:
deploy-production.bat
适用于:本地开发、调试、代码修改
git clone <repository-url>
cd mcp-server-chart-minio
# macOS
brew install pkg-config cairo pango libpng jpeg giflib librsvg pixman
# Ubuntu/Debian
sudo apt-get install pkg-config libcairo2-dev libpango1.0-dev libpng-dev libjpeg-dev libgif-dev librsvg2-dev libpixman-1-dev
npm run docker:up:minio
# 或
docker compose -f docker-compose.minio.yml up -d
npm install
配置环境变量:
.env 文件存在(用于本地开发)localhost:9000 的 MinIO启动开发服务器:
npm run start:dev
curl -X POST http://localhost:3000/api/chart-generators/line \
-H "Content-Type: application/json" \
-d '{
"data": [
{"time": "一月", "value": 100},
{"time": "二月", "value": 120},
{"time": "三月", "value": 140}
],
"title": "销售趋势图"
}'
curl -X POST http://localhost:3000/api/chart-generators/pie \
-H "Content-Type: application/json" \
-d '{
"data": [
{"category": "产品A", "value": 30},
{"category": "产品B", "value": 25},
{"category": "产品C", "value": 45}
],
"title": "市场份额"
}'
项目提供三个环境配置文件:
| 文件 | 用途 | 使用场景 |
|---|---|---|
.env | 本地开发配置 | 本地运行 app + Docker 运行 MinIO |
.env.docker | Docker 完整部署配置 | 使用 docker compose 部署完整服务 |
.env.production | 生产部署模板 | 生产环境 compose 配置或部署脚本生成 |
关键区别:
# .env (本地开发)
MINIO_ENDPOINT=localhost # 本地通过 localhost 访问 Docker 中的 MinIO
PORT=4001 # 开发端口
NODE_ENV=development
# .env.docker (Docker 部署)
MINIO_ENDPOINT=minio # 容器间通过服务名通信
PORT=3000 # 生产端口
NODE_ENV=production
**读取规