- Home
- MCP servers
- Plots
Plots
- python
1
GitHub Stars
python
Language
4 months ago
First Indexed
3 weeks ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"mr901-mcp-plots": {
"command": "mcp-plots",
"args": [
"--transport",
"stdio"
],
"env": {
"MCP_HOST": "0.0.0.0",
"MCP_PORT": "8000",
"LOG_LEVEL": "INFO",
"MCP_DEBUG": "false",
"MCP_TRANSPORT": "streamable-http",
"CHART_DEFAULT_DPI": "100",
"CHART_DEFAULT_WIDTH": "800",
"CHART_DEFAULT_HEIGHT": "600",
"CHART_MAX_DATA_POINTS": "10000"
}
}
}
}The Plots MCP Server provides a simple, visual-first way to render charts from your data inside MCP clients. It supports Mermaid diagrams by default for instant rendering, with options to output PNG images or plain text as needed. You can run it locally or via a transport bridge, and you can connect it to clients like Cursor to generate charts from natural prompts.
How to use
You interact with the Plots MCP Server by issuing chart requests from your MCP client. Start with a bar, line, or pie chart prompt and supply your data in a straightforward structure. The server produces a Mermaid diagram by default so your MCP client can render the chart instantly. If you need a static image or text representation, you can request those output formats as well. For example, you can say to your MCP client: Create a bar chart showing sales: A=100, B=150, C=80, and the server will return a Mermaid diagram suitable for immediate rendering in Cursor or another Merlin-compatible client.
Tips for practical use:
- Use Mermaid output for quick visualization that renders directly in your chat interface.
- Switch output formats to PNG or text if you need a static image file or a plain text chart description.
- Leverage built-in helpers like list_chart_types and suggest_fields to explore available chart shapes and field mappings.
How to install
Prerequisites: You need Python 3.10 or newer. A working Python environment and pip are required to install and run the server.
Option 1 — PyPI installation (recommended) and run in a standard environment
- Install the package
- Start the server with the default HTTP transport (or adjust later)
pip install mcp-plots
mcp-plots # Start the server
Option 2 — Cursor integration using stdio transport
- Install the package
- Add the MCP server to your Cursor config with stdio transport
- Restart Cursor and start issuing chart prompts
{
"mcpServers": {
"plots": {
"command": "mcp-plots",
"args": ["--transport", "stdio"]
}
}
}
Alternative zero-install path via uvx (runs from source without a full Python environment):
- Use uvx to wrap the package and run with stdio transport
{
"mcpServers": {
"plots": {
"command": "uvx",
"args": ["mcp-plots", "--transport", "stdio"]
}
}
}
Additional installation and runtime options
Development and testing options are provided to run directly from the source tree. You can use uvx to run a development instance from the repository.
uvx --from git+https://github.com/mr901/mcp-plots.git run-server.py
Alternative development flow (install and run a named entry point):
uvx --from git+https://github.com/mr901/mcp-plots.git mcp-plots
(Optional port and log level can be added, for example: --port 8080 --log-level DEBUG)
## Containerized and other runtimes
You can package and run the server in Docker for consistent environments.
docker build -t mcp-plots . docker run -p 8000:8000 mcp-plots
## Registry and discovery
The MCP ecosystem can discover servers via the MCP registry. Look up the server by its MCP identifier to confirm availability in your environment.
## Available tools
### list\_chart\_types()
Returns the available chart types that you can render (line, bar, pie, scatter, heatmap, etc.).
### list\_themes()
Returns available chart themes you can apply to charts.
### suggest\_fields(sample\_rows)
Suggests field roles based on a sample of your data to help map input to chart axes or categories.
### render\_chart(chart\_type, data, field\_map, config\_overrides?, options?, output\_format?)
Generates a chart in the requested format (mermaid, mcp\_image, or mcp\_text) and returns MCP content.
### generate\_test\_image()
Produces a test image (red circle) to verify MCP image support.