返回市场
麦克佩斯-数据3服务器

麦克佩斯-数据3服务器

作者:iamfiscus11 星标更新:2025-03-11

项目介绍

D3 MCP 服务器

这是一个基于 TypeScript 和 Express 的 Model Context Protocol (MCP) 服务器,用于 D3.js 信息。此服务器通过 MCP 协议提供 D3 可视化文档、图表推荐以及代码生成。

功能

  • 📊 D3 资源:访问来自 D3 源的文档和示例
  • 🔍 图表推荐:根据您的数据和目标获得合适的图表类型推荐
  • 💻 代码生成:生成各种图表类型的 D3 代码示例
  • 🔌 MCP 集成:直接连接 AI 工具到 D3 知识

先决条件

  • Node.js 16.x 或更高版本
  • npm 或 yarn

安装

  1. 克隆仓库
git clone https://github.com/iamfiscus/mcp-d3-server.git
cd mcp-d3-server
  1. 安装依赖
npm install
  1. 构建项目
npm run build

使用方法

  1. 启动服务器
npm start
  1. 服务器将在 http://localhost:3000 运行(或在您的 .env 文件中指定的端口)
  2. 使用 MCP 客户端连接到 http://localhost:3000/mcp-sse 的 MCP 端点

开发

为了进行热重载开发:

npm run dev

可用的 MCP 资源和工具

资源

  • d3-docs://{topic}:访问特定主题的 D3 文档
  • d3-charts://{chartType}:获取特定 D3 图表类型的详细信息

工具

  • generate-d3-chart:为不同类型的图表生成 D3 代码

    • 参数:chartType, dataFormat, features (可选)
  • recommend-chart:根据您的数据推荐 D3 图表类型

    • 参数:dataDescription, purpose

示例

MCP 客户端连接示例

import { McpClient } from "@modelcontextprotocol/sdk/client/mcp.js";
import { SseClientTransport } from "@modelcontextprotocol/sdk/client/sse.js";

// 创建一个 MCP 客户端
const client = new McpClient();

// 连接到 D3 MCP 服务器
const transport = new SseClientTransport("http://localhost:3000/sse");
await client.connect(transport);

// 获取图表推荐
const result = await client.invokeTool("recommend-chart", {
  dataDescription: "两年内五种产品类别的月度销售数据",
  purpose: "展示趋势并比较各类别之间的表现"
});

console.log(result.content[0].text);

许可证

MIT

贡献

欢迎贡献!请随意提交 Pull Request。