MCP Server Chart AntV 项目解析
1. 项目背景与目标
项目定位
MCP Server Chart 是一个基于 Model Context Protocol (MCP) 的图表生成服务器,专门用于通过 AntV 生态系统创建各种类型的数据可视化图表。
核心目标
- 图表生成:提供25+种图表类型的生成能力,包括基础图表(折线图、柱状图、饼图等)和高级可视化(桑基图、小提琴图、词云等)
- 数据分析:支持数据可视化分析,帮助用户理解数据趋势和模式
- MCP协议集成:作为标准的MCP服务器,可以与Claude、VSCode、Cursor等支持MCP的应用无缝集成
应用场景
- AI助手的数据可视化能力扩展
- 开发工具中的图表生成功能
- 数据分析和报告生成
- 商业智能和仪表板应用
2. 核心功能与架构
主要功能模块
2.1 图表生成引擎
项目支持25+种图表类型,每种图表都有独立的模块:
基础图表类型:
- 折线图 (line)、柱状图 (column)、条形图 (bar)
- 饼图 (pie)、面积图 (area)、散点图 (scatter)
- 雷达图 (radar)、漏斗图 (funnel)等
高级可视化:
- 桑基图 (sankey)、树图 (treemap)、小提琴图 (violin)
- 词云 (word-cloud)、网络图 (network-graph)
- 组织架构图 (organization-chart)、思维导图 (mind-map)
地理可视化(基于高德地图):
- 行政区划图 (district-map)
- 路径规划图 (path-map)
- POI分布图 (pin-map)
2.2 传输协议支持
server.ts
实现了三种传输方式:
- STDIO:标准输入输出,用于命令行工具集成
- SSE (Server-Sent Events):用于Web应用的实时通信
- HTTP Streamable:用于HTTP API调用
整体架构设计
┌────────────────────────────────────────────────────────────┐
│ MCP Server Chart │
├────────────────────────────────────────────────────────────┤
│ Entry Point (index.ts) │
│ ├── CLI Arguments Parsing │
│ └── Transport Selection (stdio/sse/streamable) │
├────────────────────────────────────────────────────────────┤
│ Server Layer (server.ts) │
│ ├── MCP Server Creation │
│ ├── Tool Registration │
│ └── Request Handling │
├────────────────────────────────────────────────────────────┤
│ Charts Module (charts/) │
│ ├── Base Schema Definitions │
│ ├── Individual Chart Implementations │
│ └── Tool Descriptors │
├────────────────────────────────────────────────────────────┤
│ Utils Layer (utils/) │
│ ├── Tool Calling Logic