Verified React chart generation: select, validate, repair, render, and inspect charts through MCP.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Run design diagnostics plus accessibility and mobile audits, returning prioritized structured findings.
Run design diagnostics plus accessibility and mobile audits, returning prioritized structured findings.
| Argument | Type | Description |
|---|---|---|
| props* | object | |
| component* | string | |
| viewportWidth | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"component",
"props"
],
"properties": {
"props": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"component": {
"type": "string"
},
"viewportWidth": {
"type": "integer",
"maximum": 1600,
"minimum": 240
}
}
}Select, validate, diagnose, render, and prove a static-data Semiotic chart. This is the default public workflow.
| Argument | Type | Description |
|---|---|---|
| data* | array | |
| props | object | Optional props to merge over the selected chart recipe. |
| theme | object | |
| intent | any | |
| audience | object | |
| component | string | Optional chart preference; the fit-ranked result remains authoritative. |
| fieldRoles | object | Per-field semantic or exact encoding-role hints used before chart ranking. |
| identifiers | array | Fields that identify records and must not be used as visual encodings or measures. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"data"
],
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"minItems": 1
},
"props": {
"type": "object",
"description": "Optional props to merge over the selected chart recipe.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"theme": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"intent": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"audience": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"receptionModality": {
"enum": [
"visual",
"screen-reader",
"sonified",
"agent"
],
"type": "string"
}
},
"additionalProperties": {}
},
"component": {
"type": "string",
"description": "Optional chart preference; the fit-ranked result remains authoritative."
},
"fieldRoles": {
"type": "object",
"description": "Per-field semantic or exact encoding-role hints used before chart ranking.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"anyOf": [
{
"enum": [
"identifier",
"measure",
"dimension",
"temporal",
"x",
"y",
"size",
"category",
"series",
"time",
"ignore"
],
"type": "string"
},
{
"type": "array",
"items": {
"enum": [
"identifier",
"measure",
"dimension",
"temporal",
"x",
"y",
"size",
"category",
"series",
"time",
"ignore"
],
"type": "string"
}
}
]
}
},
"identifiers": {
"type": "array",
"items": {
"type": "string"
},
"description": "Fields that identify records and must not be used as visual encodings or measures."
}
}
}Return reader grounding: chart description, communicative intent, and navigable data structure.
| Argument | Type | Description |
|---|---|---|
| props* | object | |
| component* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"component",
"props"
],
"properties": {
"props": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"component": {
"type": "string"
}
}
}Return canonical Semiotic prop-schema guidance for code editing and advanced configuration.
| Argument | Type | Description |
|---|---|---|
| component | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"component": {
"type": "string"
}
}
}Diagnose a chart configuration, assess data fit, and propose repairs or variants.
| Argument | Type | Description |
|---|---|---|
| data | array | |
| props* | object | |
| intent | any | |
| component* | string | |
| fieldRoles | object | Per-field semantic or exact encoding-role hints used before chart ranking. |
| identifiers | array | Fields that identify records and must not be used as visual encodings or measures. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"component",
"props"
],
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"props": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"intent": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"component": {
"type": "string"
},
"fieldRoles": {
"type": "object",
"description": "Per-field semantic or exact encoding-role hints used before chart ranking.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"anyOf": [
{
"enum": [
"identifier",
"measure",
"dimension",
"temporal",
"x",
"y",
"size",
"category",
"series",
"time",
"ignore"
],
"type": "string"
},
{
"type": "array",
"items": {
"enum": [
"identifier",
"measure",
"dimension",
"temporal",
"x",
"y",
"size",
"category",
"series",
"time",
"ignore"
],
"type": "string"
}
}
]
}
},
"identifiers": {
"type": "array",
"items": {
"type": "string"
},
"description": "Fields that identify records and must not be used as visual encodings or measures."
}
}
}