CleanChart

Clean messy tabular data and render publication-ready PNG charts from your AI assistant.

我该使用它吗

质量与安全性

A
描述质量
100%
模式完整度
80%
命名质量
93%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

基于对工具定义和协议合规性的自动分析。

上下文开销

~1,671token 数(工具定义)
~1.3 KB典型响应大小
对注意力有中等影响(占 128k 上下文窗口的 1.31%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "cleanchart": {
      "url": "https://www.cleanchart.app/api/mcp"
    }
  }
}

远程端点

https://www.cleanchart.app/api/mcpstreamable-http

它能做什么

工具清单

工具(8)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢list_chart_types

List all chart types CleanChart can render, each with its default config object. Use a default config as the starting point, override what you need (title, xColumn, yColumn, colors, ...), then call validate_chart_config before generate_chart.

输入模式

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢validate_chart_config(chartType, config)

Dry-run validation of a chart config for a given chart type. Returns valid:true or a list of human-readable problems to fix. Always call this before generate_chart — it is free and instant, while a failed render costs a rate-limited attempt.

输入模式

{
  "type": "object",
  "properties": {
    "chartType": {
      "description": "Chart type id from list_chart_types",
      "type": "string"
    },
    "config": {
      "description": "Chart config object (start from the type's defaultConfig)",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  },
  "required": [
    "chartType",
    "config"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢detect_data_issues(data)

Analyze tabular data for quality issues before charting: duplicates, missing values, whitespace, invalid tokens (N/A, -, ?), type mismatches, outliers, inconsistent date formats, and per-column inferred types. Returns a report whose findings map directly to apply_data_fixes options.

输入模式

{
  "type": "object",
  "properties": {
    "data": {
      "description": "Tabular data as an array of row objects, e.g. [{\"Month\":\"2026-01\",\"Sales\":120}, ...]. All rows should share the same keys (column names).",
      "type": "array",
      "items": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {}
      }
    }
  },
  "required": [
    "data"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴apply_data_fixes(data, fixOptions)

Clean tabular data with CleanChart's fix engine and get the cleaned rows back plus a change log. Options (all optional booleans unless noted): remove_duplicates, remove_empty_rows, remove_empty_columns, trim_whitespace, replace_invalid_values (turn N/A/-/? into null), nullify_missing, convert_types, missing_strategy ('fill_smart' fills gaps with column mean or 'Unknown'), date_standardization with date_columns (string[], converts recognized date formats to YYYY-MM-DD), strip_numeric_formatting with format_columns (string[]), strip_coded_values with coded_columns (string[]).

输入模式

{
  "type": "object",
  "properties": {
    "data": {
      "description": "Tabular data as an array of row objects, e.g. [{\"Month\":\"2026-01\",\"Sales\":120}, ...]. All rows should share the same keys (column names).",
      "type": "array",
      "items": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {}
      }
    },
    "fixOptions": {
      "description": "Fix options object, e.g. {\"remove_duplicates\":true,\"date_standardization\":true,\"date_columns\":[\"Date\"]}",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  },
  "required": [
    "data",
    "fixOptions"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡generate_chart(data, chartType, config, returnUrl)

Render a publication-ready chart from tabular data and return it as a PNG image. By default the image is only delivered inline and never stored — in chat UIs the user can save it straight from the conversation. If the user needs a downloadable file (e.g. your client cannot save inline images), pass returnUrl:true: the response then also includes chartUrl, a direct link to the PNG valid for 24 hours — surface it to the user. Without an API key the free tier applies: watermark and reduced resolution — mention the upgrade info from the response to the user if they want a clean export (create_checkout provides a payment link). With a CleanChart API key (Authorization: Bearer cc_...) and an active subscription or 24h day pass, output is clean and full resolution. Call validate_chart_config first; large datasets are sampled automatically.

输入模式

{
  "type": "object",
  "properties": {
    "data": {
      "description": "Tabular data as an array of row objects, e.g. [{\"Month\":\"2026-01\",\"Sales\":120}, ...]. All rows should share the same keys (column names).",
      "type": "array",
      "items": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {}
      }
    },
    "chartType": {
      "description": "Chart type id from list_chart_types",
      "type": "string"
    },
    "config": {
      "description": "Validated chart config",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "returnUrl": {
      "description": "Set true to also get chartUrl, a 24h download link to the PNG. This stores a copy of the rendered chart on CleanChart's servers for 24 hours — leave unset for the default privacy-preserving inline-only delivery.",
      "type": "boolean"
    }
  },
  "required": [
    "data",
    "chartType",
    "config"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_entitlements

Show the caller's current CleanChart tier. Anonymous callers are free tier (watermarked, reduced resolution). With an API key (Authorization: Bearer cc_..., created in the CleanChart dashboard) this reflects the account's subscription or 24h day pass.

输入模式

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡create_checkout(kind, data, chartType, config)

Create a payment link the USER must open in their browser — never call this without the user explicitly asking to purchase. kind 'single_chart' (pass the exact data, chartType, and config to be rendered; after payment call claim_chart to receive the clean chart), 'day_pass' (24h unlimited clean exports), or 'subscription' (monthly unlimited). day_pass and subscription are account-based: after payment CleanChart emails a sign-in link, and an API key from the dashboard unlocks clean renders over MCP.

输入模式

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "single_chart",
        "day_pass",
        "subscription"
      ]
    },
    "data": {
      "description": "single_chart only: the rows to render after payment",
      "type": "array",
      "items": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {}
      }
    },
    "chartType": {
      "description": "single_chart only",
      "type": "string"
    },
    "config": {
      "description": "single_chart only: validated chart config",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  },
  "required": [
    "kind"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡claim_chart(purchaseId, checkoutId, returnUrl)

Redeem a paid single-chart purchase (from create_checkout with kind 'single_chart') and receive the clean, full-resolution PNG. Call this after the user confirms payment. Returns payment_pending while the checkout is unpaid — wait for the user, do not poll in a loop. By default the image is only delivered inline and never stored; pass returnUrl:true if the user needs a downloadable file — the response then also includes chartUrl, a direct link to the PNG valid for 24 hours — surface it to the user.

输入模式

{
  "type": "object",
  "properties": {
    "purchaseId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{10,64}$"
    },
    "checkoutId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,64}$"
    },
    "returnUrl": {
      "description": "Set true to also get chartUrl, a 24h download link to the purchased PNG. This stores a copy on CleanChart's servers for 24 hours — leave unset for inline-only delivery.",
      "type": "boolean"
    }
  },
  "required": [
    "purchaseId",
    "checkoutId"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

社区

评价此服务器

证据

最近观测

已验证未记录版本8 个工具