Semiotic

Verified React chart generation: select, validate, repair, render, and inspect charts through MCP.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
90%
Integridad del esquema
80%
Calidad de los nombres
92%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (1)

  • LOWTool 'getChartSchema' description lacks action verben getChartSchema

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~1,756Tokens (definiciones de herramientas)
~3.8 KBTamaño de respuesta típico
Impacto moderado en la atención (1.37% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

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

Paquetes ejecutables

npmsemiotic3.10.4stdio

Puntos de conexión remotos

https://semiotic-mcp-server-481507046413.us-west1.run.app/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (5)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢createChart(data, intent, audience, identifiers, fieldRoles, ...)

Select, validate, diagnose, render, and prove a static-data Semiotic chart. This is the default public workflow.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "data": {
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {}
      }
    },
    "intent": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      ]
    },
    "audience": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "receptionModality": {
          "type": "string",
          "enum": [
            "visual",
            "screen-reader",
            "sonified",
            "agent"
          ]
        }
      },
      "additionalProperties": {}
    },
    "identifiers": {
      "description": "Fields that identify records and must not be used as visual encodings or measures.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "fieldRoles": {
      "description": "Per-field semantic or exact encoding-role hints used before chart ranking.",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "anyOf": [
          {
            "type": "string",
            "enum": [
              "identifier",
              "measure",
              "dimension",
              "temporal",
              "x",
              "y",
              "size",
              "category",
              "series",
              "time",
              "ignore"
            ]
          },
          {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "identifier",
                "measure",
                "dimension",
                "temporal",
                "x",
                "y",
                "size",
                "category",
                "series",
                "time",
                "ignore"
              ]
            }
          }
        ]
      }
    },
    "component": {
      "description": "Optional chart preference; the fit-ranked result remains authoritative.",
      "type": "string"
    },
    "props": {
      "description": "Optional props to merge over the selected chart recipe.",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "theme": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string"
      }
    }
  },
  "required": [
    "data"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "render-proven",
        "blocked",
        "no-suggestion"
      ]
    },
    "component": {
      "type": "string"
    },
    "evidenceEnvelope": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "evidenceGate": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "surfaceVersion": {
      "type": "string"
    }
  },
  "required": [
    "status",
    "surfaceVersion"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢improveChart(component, props, data, intent, identifiers, ...)

Diagnose a chart configuration, assess data fit, and propose repairs or variants.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "component": {
      "type": "string"
    },
    "props": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {}
      }
    },
    "intent": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      ]
    },
    "identifiers": {
      "description": "Fields that identify records and must not be used as visual encodings or measures.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "fieldRoles": {
      "description": "Per-field semantic or exact encoding-role hints used before chart ranking.",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "anyOf": [
          {
            "type": "string",
            "enum": [
              "identifier",
              "measure",
              "dimension",
              "temporal",
              "x",
              "y",
              "size",
              "category",
              "series",
              "time",
              "ignore"
            ]
          },
          {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "identifier",
                "measure",
                "dimension",
                "temporal",
                "x",
                "y",
                "size",
                "category",
                "series",
                "time",
                "ignore"
              ]
            }
          }
        ]
      }
    }
  },
  "required": [
    "component",
    "props"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "reviewed",
        "repair-needed"
      ]
    },
    "component": {
      "type": "string"
    },
    "diagnostics": {
      "type": "array",
      "items": {}
    },
    "repair": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "variants": {
      "type": "array",
      "items": {}
    },
    "accessibilityRecommendation": {
      "type": "object",
      "properties": {
        "location": {
          "type": "string",
          "const": "direct-component-props"
        },
        "props": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "type": "string"
          }
        },
        "chartContainer": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {}
        }
      },
      "required": [
        "location",
        "props",
        "chartContainer"
      ],
      "additionalProperties": false
    },
    "evidenceFragment": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "surfaceVersion": {
      "type": "string"
    }
  },
  "required": [
    "status",
    "component",
    "diagnostics",
    "repair",
    "variants",
    "surfaceVersion"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢explainChart(component, props)

Return reader grounding: chart description, communicative intent, and navigable data structure.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "component": {
      "type": "string"
    },
    "props": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  },
  "required": [
    "component",
    "props"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "const": "grounded"
    },
    "grounding": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "evidenceFragment": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "surfaceVersion": {
      "type": "string"
    }
  },
  "required": [
    "status",
    "grounding",
    "surfaceVersion"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢auditChart(component, props, viewportWidth)

Run design diagnostics plus accessibility and mobile audits, returning prioritized structured findings.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "component": {
      "type": "string"
    },
    "props": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "viewportWidth": {
      "type": "integer",
      "minimum": 240,
      "maximum": 1600
    }
  },
  "required": [
    "component",
    "props"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "passed",
        "findings"
      ]
    },
    "component": {
      "type": "string"
    },
    "evidenceEnvelope": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "evidenceGate": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "surfaceVersion": {
      "type": "string"
    }
  },
  "required": [
    "status",
    "component",
    "surfaceVersion"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢getChartSchema(component)

Return canonical Semiotic prop-schema guidance for code editing and advanced configuration.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "component": {
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "component-list",
        "component-schema",
        "unknown-component"
      ]
    },
    "component": {
      "type": "string"
    },
    "renderable": {
      "type": "boolean"
    },
    "availableComponents": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "renderable": {
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "renderable"
        ],
        "additionalProperties": false
      }
    },
    "schema": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "accessibility": {
      "type": "object",
      "properties": {
        "directProps": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {}
        },
        "chartContainer": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {}
        }
      },
      "required": [
        "directProps",
        "chartContainer"
      ],
      "additionalProperties": false
    },
    "behaviorContracts": {
      "type": "array",
      "items": {}
    },
    "surfaceVersion": {
      "type": "string"
    }
  },
  "required": [
    "status",
    "surfaceVersion"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada5 herramientas
verificadoversión no registrada5 herramientas