Semiotic

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

我該用這個嗎

品質與安全性

A
說明品質
90%
結構描述完整度
80%
命名品質
92%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

發現項目(1)

  • LOWTool 'getChartSchema' description lacks action verb在 getChartSchema 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~1,756Token(工具定義)
~3.8 KB典型回應大小
中等的注意力影響(128k 上下文的 1.37%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

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

可執行的套件

npmsemiotic3.10.4stdio

遠端端點

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

它能做什麼

工具清單

工具(5)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢createChart(data, intent, audience, identifiers, fieldRoles, ...)

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

輸入結構描述

{
  "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#"
}

輸出結構描述

{
  "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.

輸入結構描述

{
  "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#"
}

輸出結構描述

{
  "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.

輸入結構描述

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

輸出結構描述

{
  "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.

輸入結構描述

{
  "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#"
}

輸出結構描述

{
  "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.

輸入結構描述

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

輸出結構描述

{
  "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
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本5 個工具
已驗證未記錄版本5 個工具