Skip to main content
Glama

D3 MCP Server

A TypeScript Express-based Model Context Protocol (MCP) server for D3.js information. This server provides D3 visualization documentation, chart recommendations, and code generation through the MCP protocol.

Features

  • πŸ“Š D3 Resources: Access documentation and examples from D3 sources

  • πŸ” Chart Recommendation: Get recommendations for the right chart type based on your data and goals

  • πŸ’» Code Generation: Generate D3 code examples for various chart types

  • πŸ”Œ MCP Integration: Connect AI tools directly to D3 knowledge

Related MCP server: nteract/semiotic

Prerequisites

  • Node.js 16.x or higher

  • npm or yarn

Installation

  1. Clone the repository

git clone https://github.com/iamfiscus/mcp-d3-server.git
cd mcp-d3-server
  1. Install dependencies

npm install
  1. Build the project

npm run build

Usage

  1. Start the server

npm start
  1. The server will be running at http://localhost:3000 (or the PORT specified in your .env file)

  2. Connect to the MCP endpoint at http://localhost:3000/mcp-sse using an MCP client

Development

For development with hot reloading:

npm run dev

Available MCP Resources and Tools

Resources

  • d3-docs://{topic}: Access D3 documentation on specific topics

  • d3-charts://{chartType}: Get information about specific D3 chart types

Tools

  • generate-d3-chart: Generate D3 code for different chart types

    • Parameters: chartType, dataFormat, features (optional)

  • recommend-chart: Get recommendations for D3 chart types based on your data

    • Parameters: dataDescription, purpose

Examples

MCP Client Connection Example

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);

License

MIT

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      A MCP server for data visualization. It exposes tools to render charts (line, bar, pie, scatter, heatmap, etc.) from data and returns plots as either image/text/mermaid diagram.
      2
      4
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      AI-powered data visualization MCP server that generates publication-ready charts from natural language descriptions while keeping data local.
      12 PyPI
      3
      AGPL 3.0