GPT Vis
STDIO本地图表生成MCP服务器无外部依赖
本地图表生成MCP服务器无外部依赖
A local/private-favored wrapper for antvis/mcp-server-chart that generates charts locally without external server dependencies.
Add to your Claude Desktop MCP settings:
Option 1: NPX (Recommended)
{ "mcpServers": { "gpt-vis-mcp": { "command": "npx", "args": ["-y", "@jsr2npm/yao__gpt-vis-mcp@latest"] } } }
Option 2: Deno Direct
{ "mcpServers": { "gpt-vis-mcp": { "command": "deno", "args": ["run", "--allow-all", "@yao/gpt-vis-mcp/bin"] } } }
Option 3: NPX + Deno
{ "mcpServers": { "gpt-vis-mcp": { "command": "npx", "args": ["-y", "deno", "run", "--allow-all", "@yao/gpt-vis-mcp/bin"] } } }
You may experience canvas dependency issues and font rendering issues when using npx. If so, try option 4.
Option 4: Docker
{ "mcpServers": { "gpt-vis-mcp": { "command": "docker", "args": [ "run", "--interactive", "--rm", "-v", "/tmp/gpt-vis-charts:/tmp/gpt-vis-charts", "ghcr.io/yaonyan/gpt-vis-mcp:latest-mcp" ] } } }
You can also run the server directly with various transport modes:
# Using JSR package (recommended) # Default stdio mode (for MCP clients) deno run --allow-all @yao/gpt-vis-mcp/bin # SSE server mode deno run --allow-all @yao/gpt-vis-mcp/bin --transport sse --port 3000 --host localhost # Short form deno run --allow-all @yao/gpt-vis-mcp/bin -t sse -p 3000 -h localhost # Show help deno run --allow-all @yao/gpt-vis-mcp/bin --help
# Alternative: Using npx with deno # Default stdio mode npx -y deno run --allow-all @yao/gpt-vis-mcp/bin # SSE server mode npx -y deno run --allow-all @yao/gpt-vis-mcp/bin --transport sse --port 3000 # Show help npx -y deno run --allow-all @yao/gpt-vis-mcp/bin --help
Transport Modes:
stdio: Direct MCP protocol communication via stdin/stdout (default)sse: Server-Sent Events HTTP server for web clients# Run with SSE server docker run -p 3000:3000 ghcr.io/yaonyan/gpt-vis-mcp:latest-mcp --transport sse --port 3000 --host 0.0.0.0 # Access the SSE endpoint curl http://localhost:3000/sse
Set environment variables as needed:
| Variable | Description | Default | 
|---|---|---|
RENDERED_IMAGE_PATH | Chart images directory | system temp | 
RENDERED_IMAGE_HOST_PATH | Base URL for accessing images | (optional) | 
We also provide an SSR Server that follows the requirements of https://github.com/antvis/mcp-server-chart?tab=readme-ov-file#-private-deployment
# Run SSR API server docker run -p 3000:3000 -e RENDERED_IMAGE_HOST_PATH=http://localhost:3000/charts ghcr.io/yaonyan/gpt-vis-mcp:latest-http # Test the SSR API ❯ curl -X POST http://localhost:3000/generate \ -H "Content-Type: application/json" \ -d '{"type": "pie", "data": [{"category": "A", "value": 30}, {"category": "B", "value": 70}]}' {"success":true,"resultObj":"http://localhost:3000/charts/chart_1750500506056_T6IC0Vtp.png"}
You can then use the SSR server with the upstream @antv/mcp-server-chart by specifying the VIS_REQUEST_SERVER environment variable:
{ "mcpServers": { "mcp-server-chart": { "command": "npx", "args": ["-y", "@antv/mcp-server-chart"], "env": { "VIS_REQUEST_SERVER": "http://localhost:3000/generate" } } } }
This allows you to use the original MCP server while leveraging your private SSR endpoint for chart generation.
See CONTRIBUTING.md for development setup.
MIT License - see LICENSE