Metadata-Version: 2.4
Name: appkit-mcp-charts
Version: 1.8.4
Summary: MCP Charts & Visualization Server
Project-URL: Homepage, https://github.com/jenreh/appkit
Project-URL: Documentation, https://github.com/jenreh/appkit/tree/main/docs
Project-URL: Repository, https://github.com/jenreh/appkit
Author: Jens Rehpöhler
License: MIT
Keywords: charts,fastmcp,mcp,reflex,visualization
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.13
Requires-Dist: appkit-commons
Requires-Dist: appkit-mcp-commons
Requires-Dist: plotly==6.5.2
Description-Content-Type: text/markdown

# AppKit MCP Charts Server

FastMCP server for generating interactive data visualizations powered by Plotly.

## Features

- **5 chart types**: Vertical bar, horizontal bar, pie/donut, line/scatter, and bubble charts
- **MCP App views**: Each tool is backed by a shared `chart_view` resource rendered as an interactive iframe — no separate frontend needed
- **Plotly 6**: Full interactivity (zoom, pan, export to PNG) via CDN-hosted Plotly JS
- **Unauthenticated tools**: Visualization tools require no credentials, suitable for public assistant access
- **Structured generators**: `BaseChartGenerator` ABC with per-chart subclasses — easy to extend

## Tools

| Tool | Description |
| ---- | ----------- |
| `generate_barchart` | Vertical grouped/stacked bar chart |
| `generate_horizontal_bar_chart` | Horizontal grouped/stacked bar chart |
| `generate_pie_chart` | Pie or donut chart |
| `generate_line_chart` | Line, scatter, or lines+markers chart |
| `generate_bubble_chart` | Bubble (size-encoded scatter) chart |

All tools accept a `data` parameter — a list of row dicts — and return `{success, html, error}` JSON.

## Installation

```bash
uv add appkit-mcp-charts
```

## Usage

```python
from appkit_mcp_charts.server import create_charts_mcp_server

mcp = create_charts_mcp_server(name="my-charts")
```

## Dependencies

- `plotly >= 6.5.2`
- `appkit-mcp-commons`
- `appkit-commons`
