
How to add Semiotic MCP Server to Cursor
Render charts, validate configs, and get chart recommendations from a React data-viz library via MCP. Paste the config into ~/.cursor/mcp.json and restart Cursor.
Last updated June 14, 2026 · 2.7k★ · stdio · no auth
Cursor config for Semiotic MCP Server
npx semiotic-mcp{
"mcpServers": {
"semiotic-mcp-server": {
"command": "npx",
"args": [
"semiotic-mcp"
]
}
}
}Setup steps
- 1Open Cursor → Settings → MCP → Add new MCP server (or edit ~/.cursor/mcp.json directly).
- 2Paste the Semiotic MCP Server config below into the "mcpServers" object.
- 3Fill in placeholder secrets, then save.
- 4Cursor reloads MCP servers automatically — check Settings → MCP for a green status dot.
- 5Ask Cursor to use one of Semiotic MCP Server's tools to confirm it's connected.
Before you start
- Node.js with npx available
- An MCP client (e.g. Claude Desktop, Cursor, Windsurf, Cline)
What Semiotic MCP Server can do in Cursor
renderChartRender a Semiotic chart to static SVG. Supports components from getSchema marked [renderable], e.g. { component: "LineChart", props: { data: [...], xAccessor: "x", yAccessor: "y" } }. Returns the SVG string plus a "Render evidence" JSON block (mark counts by scene type, resolved axis domains, empty flag, annotation count, accessible name) so agents can verify the chart drew data marks, or validation errors with fix suggestions.
renderInteractiveChartRender a static-data chart as a ChatGPT Apps widget. Uses the same Semiotic server render path as renderChart, then hydrates an iframe UI with fit, zoom, data, hover, and render-evidence controls.
getSchemaReturn the prop schema for a specific component, e.g. { component: "LineChart" }, or omit component to list all 47 chart schemas. Components marked [renderable] are available through renderChart; realtime charts require a browser/live environment.
suggestChartLegacy sample-row recommender. Pass { data: [{...}, ...] } with 1-5 sample objects plus optional broad intent/capability filters.
suggestChartsCapability-based recommender for bounded row data. Returns ranked chart suggestions with scores, reasons, caveats, import paths, and ready-to-use props.
suggestStreamChartsRecommend realtime charts from a stream schema, throughput, and retention hints.
suggestDashboardBuild a multi-panel dashboard suggestion that covers distinct analytical intents.
suggestStretchChartsRecommend audience-literacy stretch picks from an AudienceProfile.
Security
No API keys or authentication required; the server runs locally via stdio. HTTP mode is read-only and stateless; for production HTTP deployments use MCP_ALLOWED_HOSTS for host-header allowlisting.
Semiotic MCP Server + Cursor FAQ
Where is the Cursor config file?
Cursor reads MCP servers from ~/.cursor/mcp.json. Paste the Semiotic MCP Server config there under the "mcpServers" key and restart the client.
Is Semiotic MCP Server safe to use with Cursor?
No API keys or authentication required; the server runs locally via stdio. HTTP mode is read-only and stateless; for production HTTP deployments use MCP_ALLOWED_HOSTS for host-header allowlisting.
Does it require an API key or authentication?
No. The server runs locally via stdio with no API keys or authentication required.
How do I install and run it?
Add it to your MCP client config with command "npx" and args ["semiotic-mcp"]. It is distributed as the semiotic-mcp binary in the semiotic npm package and launched via npx.
Is there an HTTP transport?
Yes. Run `npx semiotic-mcp --http --port 3001` for inspectors, web clients, and ChatGPT Apps SDK experiments. Since 3.7.2 HTTP mode is stateless (a fresh read-only server per request) so it can autoscale on serverless hosts.