D3 MCP服务器
用于D3.js信息的基于TypeScript Express的模型上下文协议(MCP)服务器。此服务器通过MCP协议提供D3可视化文档、图表建议和代码生成。
特性
- 📊 D3资源:从D3来源获取文档和示例
- 🔍 图表推荐:根据您的数据和目标获取正确图表类型的建议
- 💻 代码生成:为各种图表类型生成D3代码示例
- 🔌 MCP集成:将AI工具直接连接到D3知识
先决条件
- Node.js 16.x或更高版本
- npm或纱线
安装
- 克隆存储库
git clone https://github.com/iamfiscus/mcp-d3-server.git
cd mcp-d3-server- 安装依赖项
npm install- 构建项目
npm run build用法
- 启动服务器
npm start- 服务器将在以下时间运行http://localhost:3000(或.env文件中指定的PORT)
- 连接到MCP端点http://localhost:3000/mcp-使用MCP客户端的sse
发展
对于热重载开发:
npm run dev可用的MCP资源和工具
资源
- d3文档://{主题}:访问特定主题的D3文档
- d3图表://{chartType}:获取有关特定D3图表类型的信息
工具
- 生成-d3-chart:为不同图表类型生成D3代码
- 参数:chartType、dataFormat、功能(可选)
- 推荐图表:根据您的数据获取D3图表类型的建议
- 参数:数据描述、目的
例子
MCP客户端连接示例
import { McpClient } from "@modelcontextprotocol/sdk/client/mcp.js";
import { SseClientTransport } from "@modelcontextprotocol/sdk/client/sse.js";
// Create an MCP client
const client = new McpClient();
// Connect to the D3 MCP server
const transport = new SseClientTransport("http://localhost:3000/sse");
await client.connect(transport);
// Get chart recommendations
const result = await client.invokeTool("recommend-chart", {
dataDescription: "Monthly sales data for 5 product categories over 2 years",
purpose: "Show trends and compare performance across categories"
});
console.log(result.content[0].text);许可证
麻省理工学院
贡献
欢迎投稿!请随时提交拉取请求。
