# Semiotic

> Lets your agent pick, render and check React charts with Semiotic: build a chart from your data, audit its accessibility and repair it.

Semiotic is nteract's open-source React data visualization library, built for AI-assisted development: charts, network graphs, streaming data and coordinated views, with schemas, diagnostics and render evidence that let an agent check its own chart work. Its MCP server lets your agent pick, validate, render and repair Semiotic charts through tool calls.

What you can do with it
- Create a chart from your data and what you want it to show: it picks the chart, validates and diagnoses the settings, renders it and returns render evidence (marks drawn, axis domains, an empty flag) that shows it really drew your data
- Improve an existing chart: check whether it fits the data, and get repairs or alternative charts
- Audit a chart for design problems, accessibility and mobile layout, with findings in priority order
- Explain a chart without pixels: a description, what it's meant to show and a navigable structure of its data
- Get the settings schema for any Semiotic component while writing or editing chart code

How it connects
- Hosted: nteract runs a stable public endpoint at https://semiotic-mcp-server-481507046413.us-west1.run.app/mcp, with no sign-in, redeployed with each release. It serves the five task tools: createChart, improveChart, explainChart, auditChart and getChartSchema.
- Local: npx -y -p semiotic semiotic-mcp runs the server over stdio with no API key and the full developer tool set, including renderChart, suggestCharts, diagnoseConfig, repairChartConfig and interrogateChart. Add --profile public for just the five task tools.
- In agents that show MCP Apps, such as ChatGPT, charts come back as an interactive widget with fit, zoom, data and render-evidence controls.

Good to know
- Every tool is read-only: it works on the data and chart settings you give it and changes nothing.
- Rendering covers static-data charts; realtime charts need a browser.
- Semiotic is open source under the Apache 2.0 license.

- Type: Plugin
- Made by: nteract
- Category: Data & analytics
- Formats: Remote MCP, Local MCP
- Version: 3.13.1
- Website: https://semiotic.nteract.io/
- Source: https://github.com/nteract/semiotic
- Page: https://pluginboard.ai/plugins/semiotic

## Works with

- ChatGPT
- Claude
- Muse
- Grok Bot
- Gemini
- Grok
- GitHub Copilot
- Cursor
- Claude Code
- Codex
- Antigravity
- Gemini CLI
- Replit
- OpenClaw
- OpenCode
- Hermes Agent

## Install

### ChatGPT

In ChatGPT on the web: Plugins → + → Add custom MCP server, then paste https://semiotic-mcp-server-481507046413.us-west1.run.app/mcp under Connection. Business and Enterprise plans; Pro can add read-only servers.

### Claude

In Claude (web or desktop): Customize → Connectors → Add custom connector, then paste https://semiotic-mcp-server-481507046413.us-west1.run.app/mcp

### Muse

In Muse: In a Muse chat, ask it to create a custom connector for the MCP server at https://semiotic-mcp-server-481507046413.us-west1.run.app/mcp. Then tap Connect on the card it shows and sign in, or add your key.

### Grok Bot

In Grok Bot: In a chat with your Bot, say "Add this MCP server: https://semiotic-mcp-server-481507046413.us-west1.run.app/mcp". It confirms the details with you and sets it up, and the tools are ready from your next message.

### Gemini

In Gemini: At gemini.google.com: Settings → Connected Apps → Add a custom app, then paste https://semiotic-mcp-server-481507046413.us-west1.run.app/mcp

### Grok

In Grok on the web: At grok.com/connectors: New Connector → Custom, then enter https://semiotic-mcp-server-481507046413.us-west1.run.app/mcp and sign in if it asks.

### GitHub Copilot

Add to VS Code: vscode:mcp/install?%7B%22name%22%3A%22semiotic%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fsemiotic-mcp-server-481507046413.us-west1.run.app%2Fmcp%22%7D

Copilot CLI:

```shell
copilot mcp add --transport http semiotic https://semiotic-mcp-server-481507046413.us-west1.run.app/mcp
```

### Cursor

Add to Cursor: cursor://anysphere.cursor-deeplink/mcp/install?name=semiotic&config=eyJ1cmwiOiJodHRwczovL3NlbWlvdGljLW1jcC1zZXJ2ZXItNDgxNTA3MDQ2NDEzLnVzLXdlc3QxLnJ1bi5hcHAvbWNwIn0%3D

Add to .cursor/mcp.json:

```json
{
  "mcpServers": {
    "semiotic": {
      "url": "https://semiotic-mcp-server-481507046413.us-west1.run.app/mcp"
    }
  }
}
```

### Claude Code

Run in your terminal:

```shell
claude mcp add --transport http semiotic https://semiotic-mcp-server-481507046413.us-west1.run.app/mcp
```

### Codex

Run in your terminal:

```shell
codex mcp add semiotic --url https://semiotic-mcp-server-481507046413.us-west1.run.app/mcp
```

### Antigravity

Add to ~/.gemini/config/mcp_config.json:

```json
{
  "mcpServers": {
    "semiotic": {
      "url": "https://semiotic-mcp-server-481507046413.us-west1.run.app/mcp"
    }
  }
}
```

### Gemini CLI

Run in your terminal:

```shell
gemini mcp add --transport http semiotic https://semiotic-mcp-server-481507046413.us-west1.run.app/mcp
```

### Replit

In Replit: At replit.com/integrations, open MCP Servers → + Add MCP server, paste https://semiotic-mcp-server-481507046413.us-west1.run.app/mcp (add any headers under Advanced settings), then click Test & save.

### OpenClaw

Run in your terminal:

```shell
openclaw mcp add semiotic --url https://semiotic-mcp-server-481507046413.us-west1.run.app/mcp --transport streamable-http
```

If it needs a key or sign-in: For https://semiotic-mcp-server-481507046413.us-west1.run.app/mcp, add --header NAME=value for each header it needs, or --auth oauth and then run openclaw mcp login semiotic.

### OpenCode

Run in your terminal:

```shell
opencode mcp add semiotic --url https://semiotic-mcp-server-481507046413.us-west1.run.app/mcp
```

If it needs a key: For https://semiotic-mcp-server-481507046413.us-west1.run.app/mcp, add --header 'NAME=value' for each header it needs. Add --global to use it in every project.

### Hermes Agent

Run in your terminal:

```shell
hermes mcp add semiotic --url https://semiotic-mcp-server-481507046413.us-west1.run.app/mcp
```

Add to ~/.hermes/config.yaml:

```json
{
  "mcp_servers": {
    "semiotic": {
      "url": "https://semiotic-mcp-server-481507046413.us-west1.run.app/mcp"
    }
  }
}
```

If it signs in with OAuth: If https://semiotic-mcp-server-481507046413.us-west1.run.app/mcp asks you to sign in, add --auth oauth to the command, or auth: oauth to its entry.

---
From Pluginboard (https://pluginboard.ai).
