MCP Directory

How to add Semiotic MCP to Windsurf

Render Semiotic charts, validate configs, and get chart recommendations via MCP tool calls. Paste the config into ~/.codeium/windsurf/mcp_config.json and restart Windsurf.

Last updated June 14, 2026 · 2.7k · stdio · no auth

Windsurf config for Semiotic MCP

npx semiotic-mcp
{
  "mcpServers": {
    "semiotic-mcp": {
      "command": "npx",
      "args": [
        "semiotic-mcp"
      ]
    }
  }
}

Setup steps

  1. 1Open Windsurf → Cascade → the hammer/MCP icon → Configure (or edit ~/.codeium/windsurf/mcp_config.json).
  2. 2Paste the Semiotic MCP config below.
  3. 3Fill in placeholder secrets, then save.
  4. 4Click Refresh in the MCP panel.
  5. 5Semiotic MCP's tools become available to Cascade.

Before you start

  • Node.js with npx available
  • An MCP client (e.g. Claude Desktop, Cursor, Windsurf)

What Semiotic MCP can do in Windsurf

renderChart

Render a Semiotic chart to static SVG. Pass { component, props }. Returns the SVG string plus a 'Render evidence' JSON block (mark counts, resolved axis domains, empty flag, annotation count, accessible name) or validation errors with fix suggestions.

renderInteractiveChart

Render a static-data chart as a ChatGPT Apps widget using the same server render path as renderChart, hydrating an iframe UI with fit, zoom, data, hover, and render-evidence controls.

getSchema

Return the prop schema for a specific component via { component }, or omit component to list all 47 chart schemas. Renderable components are marked [renderable].

suggestChart

Legacy sample-row recommender. Pass { data } with 1–5 sample objects plus optional intent/capability filters to get ranked chart suggestions.

suggestCharts

Capability-based recommender for bounded row data. Returns ranked chart suggestions with scores, reasons, caveats, import paths, and ready-to-use props.

suggestStreamCharts

Recommend realtime charts from a stream schema, throughput, and retention hints.

suggestDashboard

Build a multi-panel dashboard suggestion that covers distinct analytical intents.

suggestStretchCharts

Recommend audience-literacy stretch picks from an AudienceProfile.

Security

No API keys or authentication required. The server runs locally via stdio. HTTP mode (--http) supports MCP_ALLOWED_HOSTS for production host-header allowlisting.

Semiotic MCP + Windsurf FAQ

Where is the Windsurf config file?

Windsurf reads MCP servers from ~/.codeium/windsurf/mcp_config.json. Paste the Semiotic MCP config there under the "mcpServers" key and restart the client.

Is Semiotic MCP safe to use with Windsurf?

No API keys or authentication required. The server runs locally via stdio. HTTP mode (--http) supports MCP_ALLOWED_HOSTS for production host-header allowlisting.

Does it require an API key?

No. The server runs locally via stdio with no API keys or authentication required.

Can it run over HTTP instead of stdio?

Yes. Run `npx semiotic-mcp --http --port 3001`. Since 3.7.2 HTTP mode is stateless, so each request gets a fresh read-only server and it can autoscale on serverless hosts.

How many chart types does it know about?

It exposes schemas for 47 chart types via getSchema, spanning XY, categorical, network, geo, realtime, and value families. Charts marked [renderable] can be rendered through renderChart; realtime charts require a browser/live environment.

View repo Full Semiotic MCP page