Skip to main content

DataViz MCP is a local Panel web server that executes Python code snippets and renders the resulting visualizations as live, interactive web pages.

Project description

✨ dataviz-mcp

CI conda-forge pypi-version python-version

DataViz MCP is a local Panel web server and MCP server that executes Python code snippets and renders the resulting visualizations as live, interactive web pages — enabling humans and AI assistants to display and inspect Python outputs in real time.

dataviz-mcp showcase

dataviz-mcp MCP showcase

Features

  • Two interfacespls serve (standalone browser UI) and pls mcp (MCP server for AI assistants)
  • Any visualization library — hvplot · plotly · altair · matplotlib · seaborn · holoviews · bokeh · and more
  • Validate before rendershow runs syntax, security, package, and extension checks before any rendering happens
  • Visual validationscreenshot MCP tool lets the AI inspect the rendered output visually before presenting it
  • Persistent storage — SQLite database with full-text search; every snippet gets its own permanent URL
  • Auto-restart — Panel subprocess is health-monitored and automatically restarted on failure
  • Works everywhere — local, JupyterHub, GitHub Codespaces; URLs externalized automatically

Installation

Install via uv, pip, or pixi — see the Installation guide for full instructions including how to find your pls path.

uv tool install "dataviz-mcp[pydata]"

Pin your version — this project is in its early stages. Pin to a specific version to avoid unexpected changes: uv tool install "dataviz-mcp[pydata]==0.1.0a1"

Connect to your AI assistant

Use the absolute path printed by which pls above — not just pls. Full setup instructions for each client: docs → Connect to your MCP client

Client Config location
VS Code .vscode/mcp.json
Cursor ~/.cursor/mcp.json
Claude Desktop claude_desktop_config.json
Claude Code claude mcp add dataviz-mcp -- /path/to/pls mcp
claude.ai HTTP transport + tunnel — see docs

Usage

$ pls

 Usage: pls [OPTIONS] COMMAND [ARGS]...

 DataViz MCP - Execute and visualize Python code snippets.

╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────╮
│ --version  -V        Show version and exit.                                                          │
│ --help               Show this message and exit.                                                     │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ───────────────────────────────────────────────────────────────────────────────────────────╮
│ serve   Start the DataViz MCP directly.                                                        │
│ mcp     Start as an MCP server for AI assistants.                                                    │
│ status  Check whether the Panel server is running.                                                   │
│ list    List resources (packages, etc.).                                                             │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────╯

You can also use dataviz-mcp but pls is shorter and easier to remember.

Development

See the Contributing guide for the full setup (fork, install, connect to MCP client, run tests).

❤️ Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository.
  2. Create a new branch: git checkout -b feature/YourFeature.
  3. Make your changes and commit them: git commit -m 'Add some feature'.
  4. Push to the branch: git push origin feature/YourFeature.
  5. Open a pull request.

Please ensure your code passes all tests and linting before submitting.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dataviz_mcp-0.1.3.tar.gz (19.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dataviz_mcp-0.1.3-py3-none-any.whl (67.4 kB view details)

Uploaded Python 3

File details

Details for the file dataviz_mcp-0.1.3.tar.gz.

File metadata

  • Download URL: dataviz_mcp-0.1.3.tar.gz
  • Upload date:
  • Size: 19.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for dataviz_mcp-0.1.3.tar.gz
Algorithm Hash digest
SHA256 a0d032e1b1990b5101fc87484d4af6441d1530fa083557ad9ea225c6ad6d2ea0
MD5 df131b29684ee2196df94403ea5a01b0
BLAKE2b-256 a6aebf7fcef3a5a65fc1e3820e2f1195c526b7183a2d600c16d8acca66405f84

See more details on using hashes here.

Provenance

The following attestation bundles were made for dataviz_mcp-0.1.3.tar.gz:

Publisher: build.yml on SuMayaBee/DataViz-MCP

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dataviz_mcp-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: dataviz_mcp-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 67.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for dataviz_mcp-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 23931764e771ad223ec51c13ec8d3080779295c33c645c35ab4564cdb794e939
MD5 86854a12d475e7b5dae030403cc889f5
BLAKE2b-256 2fbdecc04365dc8dfc35468040e590bce32370c122c02715d0157080eb6c6443

See more details on using hashes here.

Provenance

The following attestation bundles were made for dataviz_mcp-0.1.3-py3-none-any.whl:

Publisher: build.yml on SuMayaBee/DataViz-MCP

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page