mcpField
M
Mcp Chart Server

Mcp Chart Server

Local
github.com/KamranBiglariData & Analytics8Updated 65w ago

About Mcp Chart Server

Mcp Chart Server is an MCP server for generating charts from validated configurations. It supports a broad set of chart types for statistical, financial, and business visualizations.

Key features

  1. 0115+ chart types
  2. 02Zod schema validation
  3. 03Local, HTTP streaming, and SSE options
  4. 04Financial and statistical visualizations

Use cases

  1. 01Compare categories with bar charts
  2. 02Plot trends and correlations
  3. 03Visualize financial OHLC data
  4. 04Show process flows with Sankey diagrams

MCP support

Exposes chart-generation tools to MCP clients, with a tool for each chart type and validated configuration inputs.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

1

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
jsonanyNoquick chart api's (quickchart.io) parameters and format is JSON object. The object does not include any functions, only values.

Details

From the project README

MCP Chart Server

A Model Context Protocol (MCP) server that provides comprehensive chart generation capabilities. This server offers a wide variety of chart types with comprehensive Zod schema validation for type-safe chart configuration.

Claude.AI Integration (Free Running Version)

For immediate use with Claude.AI without local setup, use these public endpoints:

  • Streamable HTTP: https://chart.mcp.cloudcertainty.com/mcp
  • Server-Sent Events: https://chart.mcp.cloudcertainty.com/sse

Simply add either endpoint to your Claude.AI MCP configuration to start generating charts immediately.

Claude AI

Features

  • 🎯 15+ Chart Types - Comprehensive chart library covering all major visualization needs
  • 🔒 Type Safety - Full Zod schema validation for all chart configurations
  • 🌐 Multiple Deployment Options - Local server, HTTP streaming, and SSE endpoints
  • 🚀 Claude.AI Integration - Ready-to-use endpoints for Claude.AI integration
  • 📊 Professional Charts - Support for financial, statistical, and business visualizations

Chart Types Supported

Basic Charts
  • Bar Chart - Traditional bar charts with multiple datasets
  • Line Chart - Line charts with customizable styling and fill options
  • Pie Chart - Pie charts with hover effects and custom colors
  • Radar Chart - Multi-axis radar charts for comparative analysis
  • Polar Area Chart - Radial area charts for cyclical data
Advanced Charts
  • Doughnut Chart - Enhanced pie charts with center labels and semi-circle support
  • Scatter Plot - X/Y coordinate plotting with optional trend lines
  • Bubble Chart - Three-dimensional data visualization with bubble sizes
  • OHLC Chart - Financial candlestick charts with volume and indicators
Specialized Charts
  • Violin Plot - Statistical distribution visualization
  • Gauge Chart - Customizable gauge meters with thresholds
  • Radial Gauge - Simple radial progress indicators
  • Progress Bar - Linear progress indicators
  • Sparkline - Minimal trend visualization
  • Sankey Diagram - Flow and process visualization

Quick Start

Local Development
  1. Clone the repository

    git clone https://github.com/KamranBiglari/mcp-server-chart.git
    cd mcp-server-chart
    
  2. Install dependencies

    npm install
    
  3. Build the project

    npm run build
    
  4. Run the server

    npm start
    

Usage Examples

Basic Bar Chart
{
  "type": "bar",
  "data": {
    "labels": ["January", "February", "March", "April", "May"],
    "datasets": [
      { "label": "Sales", "data": [50, 60, 70, 180, 190] },
      { "label": "Expenses", "data": [100, 200, 300, 400, 500] }
    ]
  }
}
Financial OHLC Chart
{
  "type": "ohlc",
  "data": {
    "datasets": [
      {
        "label": "MSFT",
        "data": [
          {"x": 1459468800000, "o": 18.23, "h": 19.36, "l": 18.18, "c": 19.31}
        ],
        "color": {"up": "#26a69a", "down": "#ef5350", "unchanged": "#999"}
      }
    ]
  }
}
Advanced Doughnut Chart
{
  "type": "doughnut",
  "data": {
    "labels": ["Complete", "Remaining"],
    "datasets": [{"data": [75, 25], "backgroundColor": ["#4CAF50", "#E0E0E0"]}]
  },
  "options": {
    "circumference": 3.14159,
    "rotation": 3.14159,
    "plugins": {
      "doughnutlabel": {
        "labels": [{"text": "75%", "font": {"size": 24}}]
      }
    }
  }
}
Scatter Plot
{
  "type": "scatter",
  "data": {
    "datasets": [
      {
        "label": "Dataset 1",
        "data": [
          {"x": 2, "y": 4},
          {"x": 3, "y": 3},
          {"x": 5, "y": 8}
        ]
      }
    ]
  }
}

Configuration

MCP Client Configuration

Add to your MCP client configuration:

{
  "mcpServers": {
    "chart-server": {
      "command": "node",
      "args": ["path/to/mcp-server-chart/dist/index.js"]
    }
  }
}
Claude.AI Configuration

For Claude.AI integration, add one of these endpoints:

{
  "mcpServers": {
    "chart-server": {
      "url": "https://chart.mcp.cloudcertainty.com/mcp"
    }
  }
}

Development

Project Structure
src/
├── charts/           # Chart type definitions
│   ├── bar.ts       # Bar chart schema
│   ├── line.ts      # Line chart schema
│   ├── ohlc.ts      # OHLC chart schema
│   └── ...          # Other chart types
├── utils/           # Utility functions
│   ├── index.ts     # Zod to JSON schema conversion
│   └── schema.ts    # Common schema definitions
└── index.ts         # Main MCP server
Building
npm run build      # Build TypeScript
npm run dev        # Development mode with watch
npm run lint       # Run linting
Testing
npm test           # Run test suite
npm run test:watch # Watch mode testing

Chart Type Reference

Chart TypeUse CaseData Format
barCategorical comparisons{labels: string[], datasets: {data: number[]}[]}
lineTrends over time{labels: string[], datasets: {data: number[]}[]}
piePart-to-whole relationships{labels: string[], datasets: {data: number[]}[]}
doughnutEnhanced pie charts{labels: string[], datasets: {data: number[]}[]}
radarMulti-variable comparison{labels: string[], datasets: {data: number[]}[]}
polarAreaCyclical data{labels: string[], datasets: {data: number[]}[]}
scatterCorrelation analysis{datasets: {data: {x: number, y: number}[]}[]}
bubbleThree-dimensional data{datasets: {data: {x: number, y: number, r: number}[]}[]}
ohlcFinancial data{datasets: {data: {x: number, o: number, h: number, l: number, c: number}[]}[]}
violinStatistical distributions{labels: string[], datasets: {data: number[][]}[]}
gaugeKPI dashboards{datasets: {value: number, data: number[]}[]}
sankeyProcess flows{datasets: {data: {from: string, to: string, flow: number}[]}[]}

API Reference

Tools Available

All chart types are available as MCP tools with the following pattern:

  • Tool name matches chart type (e.g., bar, line, ohlc)
  • Input schema validates chart configuration
  • Returns generated chart data
Schema Validation

Every chart type includes comprehensive Zod schemas that validate:

  • Chart type and structure
  • Data format and types
  • Styling options
  • Chart-specific configurations

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Add your chart type or improvement
  4. Include tests and documentation
  5. Submit a pull request

License

MIT License - see LICENSE file for details

Support

  • 📚 Documentation: Check the inline schema documentation
  • 🐛 Issues: Report bugs via GitHub Issues
  • 💬 Discussions: Use GitHub Discussions for questions
  • 🌐 Live Demo: Try the public endpoints with Claude.AI

Roadmap

  • Real-time data binding
  • Custom theme support
  • Export formats (PNG, SVG, PDF)
  • Animation and interaction options
  • Dashboard layout compositions

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.