使用说明
Chhart MCP服务器
MCP(模型上下文协议)服务器,使ChatGPT、Claude等人工智能助手能够在 chhart应用程序.
目录
特性
- 🎨 创建流程图 -使用Chhart直观的基于文本的DSL生成流程图
- 📊 创建Sankey图 -根据流量数据构建Sankey图
- 📚 语法帮助 -获取全面的文档和示例
- 🔗 可共享URL -所有图表都附带了可共享的chhart.app链接
- 🚀 易于集成 -可与任何兼容MCP的AI助手配合使用
- 🌐 双模式 -本地运行(stdio)或远程运行(StreamableHTTP)
- ☁️ 云就绪 -部署到Railway、Vercel或任何Node.js宿主
- 🔒 可靠的 -用于稳定连接的现代流式HTTP传输
先决条件
- Node.js 20或以上
- npm 或 纱线
- MCP兼容客户端(Claude Desktop、Cursor等)
安装
来自npm
npm install -g chhart-mcp
或者直接运行而不安装:
npx chhart-mcp
来源
# Clone the repository
git clone https://github.com/alwank/chhart_MCP.git
cd chhart_MCP
# Install dependencies
npm install
# Build the project
npm run build
用法
快速入门(公共服务器)
您可以使用我们的托管MCP服务器,而无需在本地安装任何东西。
配置您的MCP客户端 要连接到公共终结点,请执行以下操作:
{
"mcpServers": {
"chhart": {
"url": "https://mcp.chhart.app/mcp"
}
}
}
本地模式(stdio)
用于Claude Desktop、Cursor或其他本地MCP客户端:
-
构建项目:
npm run build -
添加到MCP客户端配置中:
对于 克劳德桌面版,编辑
claude_desktop_config.json:{ "mcpServers": { "chhart": { "command": "npx", "args": ["-y", "chhart-mcp"] } } }对于 光标 或其他客户,请参阅 CONFIG_EXAMPLES.md 更多示例。
-
重新启动MCP客户端
远程模式(流式HTTP)
对于部署到Railway、Vercel或其他云平台,我们使用现代 流式HTTP传输 用于可靠、无状态的通信。
-
构建并启动StreamableHTTP服务器:
npm run build npm run start:streamable服务器将从端口3000(或中指定的端口)启动
PORT环境变量)。 -
配置您的MCP客户端 要连接到远程端点,请执行以下操作:
{ "mcpServers": { "chhart": { "url": "https://your-deployment-url.com/mcp" } } } -
部署到铁路:
请参阅 铁路部署指南 详细说明。
为什么选择StreamableHTTP?
为了提高可靠性,我们从SSE迁移到StreamableHTTP传输:
| 功能 | SSE传输 | 流式HTTP传输 |
|---|---|---|
| 连接类型 | 长期SSE流 | 无状态HTTP请求 |
| 稳定性 | 容易超时 | ✅ 坚固可靠 |
| 云兼容性 | 有限 | ✅ 太好了 |
| 会话管理 | 必需 | 可选(无状态) |
传统SSE模式
SSE传输仍然可用,但已弃用:
npm run start:sse # Not recommended for production
可用工具
create_flowchart
使用Chhart基于文本的DSL创建流程图。
参数:
content(字符串,必填)-Chhart DSL格式的流程图内容title(字符串,可选)-流程图的标题
例子:
{
"content": "Start\n Process Step\n Decision? [shape=diamond]\n Yes\n Action\n End\n No\n Skip\n End",
"title": "Simple Workflow"
}
create_sankey
创建显示节点之间流的Sankey图。
参数:
content(字符串,必填)-Chhart DSL格式的Sankey图内容title(字符串,可选)-图表的标题
例子:
{
"content": "Revenue [value=100]\n Costs [value=40]\n Salaries [value=25]\n Operations [value=15]\n Profit [value=60]",
"title": "Budget Flow"
}
get_syntax_help
返回Chhart语法的文档和示例。
参数:
type(枚举,可选)-'flowchart','sankey',或'all'(默认值:'all')
对话示例
配置后,您可以询问您的AI助手:
“创建一个流程图,显示使用电子邮件验证的用户登录过程”
创建一个桑基图,显示100美元的收入如何分为成本、税收和利润
“显示在Chhart中创建流程图的语法”
发展
# Install dependencies
npm install
# Build
npm run build
# Watch mode (auto-rebuild on changes)
npm run watch
# Run locally (stdio mode)
npm start
# Run StreamableHTTP server (recommended for remote access)
npm run start:streamable
# Run SSE server (legacy, deprecated)
npm run start:sse
项目结构
chhart_MCP/
├── src/
│ ├── index.ts # Main entry point (stdio mode)
│ ├── server-streamable.ts # StreamableHTTP server (recommended)
│ ├── server-sse.ts # SSE server (legacy)
│ ├── tools/ # MCP tool implementations
│ ├── utils/ # Utility functions
│ └── transports/ # Transport implementations
│ ├── streamable.ts # StreamableHTTP transport
│ └── sse.ts # SSE transport (legacy)
├── dist/ # Compiled JavaScript (generated)
└── docs/ # Documentation files
运作原理
MCP服务器利用chhart.app现有的基于URL的共享功能,通过将图表数据编码到URL哈希中来生成可共享的URL。这意味着:
- ✅ 不需要后端API
- ✅ 图表完全是客户端的
- ✅ URL无需存储即可立即工作
- ✅ 图表可以在chhart应用程序上编辑
- ✅ 隐私友好(数据保留在URL中)
故障排除
“未找到命令”或“未找到模块”
- 确保你已经跑过了
npm install和npm run build - 验证MCP客户端配置中的路径是否为绝对路径
- 检查是否安装了Node.js 20+:
node --version
连接问题
“连接已关闭:EOF”或类似错误:
- 如果使用远程模式,请确保使用StreamableHTTP传输(
npm run start:streamable) - 传统的SSE传输已弃用,可能存在稳定性问题
- 验证服务器是否正在运行:检查以下位置的运行状况终结点
http://localhost:3000/health - 如果远程部署,请检查防火墙设置
- 确保为您的域正确配置CORS
客户端配置:
- 流式HTTP客户端使用
application/json请求/mcp - 传统SSE客户需要
text/event-stream为了/mcp流和JSON/messages - 确保URL指向
/mcp端点
图表未加载
- 验证生成的URL是否完整且未被截断
- 检查浏览器控制台是否有错误
- 尝试直接在浏览器中打开URL
- 非常大的图表可能超过URL长度限制(通常为2000个字符)
TypeScript构建错误
- 确保你使用的是Node.js 20+
- 删除
node_modules和dist,然后运行npm install和npm run build - 检查TypeScript版本兼容性
有关更多帮助,请参阅 贡献.md 或者打开一个问题。
贡献
我们欢迎捐款!请看 贡献.md 关于以下方面的指导方针:
- 报告错误
- 推荐功能
- 提交拉取请求
- 开发设置
- 编码标准
安全
有关安全问题,请参阅我们的 安全策略。不要公开安全漏洞问题。
许可证
MIT许可证-请参阅 许可证 了解详情。
版权所有(c)2026 Chhart.app
链接
- Chhart.app -创建和共享图表
- 模型上下文协议 -了解MCP
- 文档 -其他指南和示例
- 更新日志 -版本历史和更新
- 问题 -报告错误或请求功能
