Semiotic
Создаёт, проверяет и улучшает графики на React-библиотеке Semiotic
Добавьте сервер в «Мои MCP» — получите адрес подключения для Claude и ChatGPT.
Добавить в «Мои MCP»Нужно войти или зарегистрироваться — вернём на эту страницу.
Описание
Semiotic — библиотека визуализации данных для React от команды nteract. Сервер помогает ИИ-ассистенту строить графики на этой библиотеке правильно с первого раза и без ошибок в конфигурации. Сервер подбирает тип графика под данные, проверяет конфигурацию, отрисовывает и подтверждает результат. Он умеет диагностировать существующий график и предлагать исправления или варианты, объяснять, что показывает график и как устроены его данные, проверять дизайн, доступность и отображение на мобильных устройствах. Для ручной правки кода есть справка по схеме свойств компонентов. Сервер удалённый, ключей в настройках не требует.
Инструменты · 5
из ответа tools/list
Audit chart quality and accessibility
auditChart
Audit chart quality and accessibility
auditChart Run design diagnostics plus accessibility and mobile audits, returning prioritized structured findings.
auditChart(props: object, component: string, viewportWidth?: integer)
// inputSchema
{
"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
}
}
}
Create and prove a chart
createChart
Create and prove a chart
createChart Select, validate, diagnose, render, and prove a static-data Semiotic chart. This is the default public workflow.
createChart(data: array, props?: object, theme?: object, intent?: any, audience?: object, component?: string, fieldRoles?: object, identifiers?: array)
// inputSchema
{
"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."
}
}
}
Explain a chart without pixels
explainChart
Explain a chart without pixels
explainChart Return reader grounding: chart description, communicative intent, and navigable data structure.
explainChart(props: object, component: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"component",
"props"
],
"properties": {
"props": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"component": {
"type": "string"
}
}
}
Get a chart schema
getChartSchema
Get a chart schema
getChartSchema Return canonical Semiotic prop-schema guidance for code editing and advanced configuration.
getChartSchema(component?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"component": {
"type": "string"
}
}
}
Improve an existing chart
improveChart
Improve an existing chart
improveChart Diagnose a chart configuration, assess data fit, and propose repairs or variants.
improveChart(data?: array, props: object, intent?: any, component: string, fieldRoles?: object, identifiers?: array)
// inputSchema
{
"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."
}
}
}
Вопросы, новые серверы, обсуждение MCP
t.me/rusmcp · t.me/RusMcp_bot