{"data":{"slug":"semiotic","verdict":"passed","scannedAt":"2026-10-26T10:54:44.142Z","scannerVersion":"1.2.1","latest":{"id":"078a96f0-153a-4a58-b44e-0fe5d18de060","createdAt":"2026-10-26T05:58:58.999Z","version":"3.13.0","trigger":"changed","scannerVersion":"1.2.1","verdict":"passed","checks":[{"id":"hidden_instructions","status":"passed","findings":0,"label":"Hidden instructions"},{"id":"hidden_text","status":"passed","findings":0,"label":"Invisible text"},{"id":"sensitive_access","status":"passed","findings":0,"label":"Access to credentials"},{"id":"remote_code","status":"passed","findings":0,"label":"Downloads and runs code"},{"id":"exfiltration","status":"passed","findings":0,"label":"Sends data out"},{"id":"secrets","status":"passed","findings":0,"label":"Leaked secrets"}],"findings":[],"toolCount":5},"history":[{"id":"078a96f0-153a-4a58-b44e-0fe5d18de060","createdAt":"2026-10-26T05:58:58.999Z","version":"3.13.0","trigger":"changed","scannerVersion":"1.2.1","verdict":"passed","checks":[{"id":"hidden_instructions","status":"passed","findings":0,"label":"Hidden instructions"},{"id":"hidden_text","status":"passed","findings":0,"label":"Invisible text"},{"id":"sensitive_access","status":"passed","findings":0,"label":"Access to credentials"},{"id":"remote_code","status":"passed","findings":0,"label":"Downloads and runs code"},{"id":"exfiltration","status":"passed","findings":0,"label":"Sends data out"},{"id":"secrets","status":"passed","findings":0,"label":"Leaked secrets"}],"findings":[],"toolCount":5},{"id":"5d7a5f80-4c68-4d1b-a929-e1df54a3ef50","createdAt":"2026-10-26T02:53:43.487Z","version":"3.13.0","trigger":"tools_changed","scannerVersion":"1.2.1","verdict":"passed","checks":[{"id":"hidden_instructions","status":"passed","findings":0,"label":"Hidden instructions"},{"id":"hidden_text","status":"passed","findings":0,"label":"Invisible text"},{"id":"sensitive_access","status":"passed","findings":0,"label":"Access to credentials"},{"id":"remote_code","status":"passed","findings":0,"label":"Downloads and runs code"},{"id":"exfiltration","status":"passed","findings":0,"label":"Sends data out"},{"id":"secrets","status":"passed","findings":0,"label":"Leaked secrets"}],"findings":[],"toolCount":5},{"id":"dcbb24dd-42eb-43b0-9ce2-4f08bf9d304f","createdAt":"2026-10-25T23:23:20.438Z","version":"3.13.0","trigger":"new","scannerVersion":"1.2.1","verdict":"passed","checks":[{"id":"hidden_instructions","status":"passed","findings":0,"label":"Hidden instructions"},{"id":"hidden_text","status":"passed","findings":0,"label":"Invisible text"},{"id":"sensitive_access","status":"passed","findings":0,"label":"Access to credentials"},{"id":"remote_code","status":"passed","findings":0,"label":"Downloads and runs code"},{"id":"exfiltration","status":"passed","findings":0,"label":"Sends data out"},{"id":"secrets","status":"passed","findings":0,"label":"Leaked secrets"}],"findings":[],"toolCount":null}],"endpoint":{"url":"https://semiotic-mcp-server-481507046413.us-west1.run.app/mcp","transport":"streamable-http","status":"ok","checkedAt":"2026-10-26T02:52:52.757Z","toolCount":5,"latencyMs":483,"error":null},"tools":[{"name":"auditChart","title":"Audit chart quality and accessibility","description":"Run design diagnostics plus accessibility and mobile audits, returning prioritized structured findings.","access":"read","accessDeclared":true,"hash":"da41cce3f9783b04bcd9ff7ebc8b7f50e5a38e6233a5958b43e536ac552b3bdd","inputSchema":"{\n  \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n  \"properties\": {\n    \"component\": {\n      \"type\": \"string\"\n    },\n    \"props\": {\n      \"additionalProperties\": {},\n      \"propertyNames\": {\n        \"type\": \"string\"\n      },\n      \"type\": \"object\"\n    },\n    \"viewportWidth\": {\n      \"maximum\": 1600,\n      \"minimum\": 240,\n      \"type\": \"integer\"\n    }\n  },\n  \"required\": [\n    \"component\",\n    \"props\"\n  ],\n  \"type\": \"object\"\n}"},{"name":"createChart","title":"Create and prove a chart","description":"Select, validate, diagnose, render, and prove a static-data Semiotic chart. This is the default public workflow.","access":"read","accessDeclared":true,"hash":"691548012d37775f1c377c5c768c968bc50f2d5b6ef59c5f347f9472afee238a","inputSchema":"{\n  \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n  \"properties\": {\n    \"audience\": {\n      \"additionalProperties\": {},\n      \"properties\": {\n        \"name\": {\n          \"type\": \"string\"\n        },\n        \"receptionModality\": {\n          \"enum\": [\n            \"visual\",\n            \"screen-reader\",\n            \"sonified\",\n            \"agent\"\n          ],\n          \"type\": \"string\"\n        }\n      },\n      \"type\": \"object\"\n    },\n    \"component\": {\n      \"description\": \"Optional chart preference; the fit-ranked result remains authoritative.\",\n      \"type\": \"string\"\n    },\n    \"data\": {\n      \"items\": {\n        \"additionalProperties\": {},\n        \"propertyNames\": {\n          \"type\": \"string\"\n        },\n        \"type\": \"object\"\n      },\n      \"minItems\": 1,\n      \"type\": \"array\"\n    },\n    \"fieldRoles\": {\n      \"additionalProperties\": {\n        \"anyOf\": [\n          {\n            \"enum\": [\n              \"identifier\",\n              \"measure\",\n              \"dimension\",\n              \"temporal\",\n              \"x\",\n              \"y\",\n              \"size\",\n              \"category\",\n              \"series\",\n              \"time\",\n              \"ignore\"\n            ],\n            \"type\": \"string\"\n          },\n          {\n            \"items\": {\n              \"enum\": [\n                \"identifier\",\n                \"measure\",\n                \"dimension\",\n                \"temporal\",\n                \"x\",\n                \"y\",\n                \"size\",\n                \"category\",\n                \"series\",\n                \"time\",\n                \"ignore\"\n              ],\n              \"type\": \"string\"\n            },\n            \"type\": \"array\"\n          }\n        ]\n      },\n      \"description\": \"Per-field semantic or exact encoding-role hints used before chart ranking.\",\n      \"propertyNames\": {\n        \"type\": \"string\"\n      },\n      \"type\": \"object\"\n    },\n    \"identifiers\": {\n      \"description\": \"Fields that identify records and must not be used as visual encodings or measures.\",\n      \"items\": {\n        \"type\": \"string\"\n      },\n      \"type\": \"array\"\n    },\n    \"intent\": {\n      \"anyOf\": [\n        {\n          \"type\": \"string\"\n        },\n        {\n          \"items\": {\n            \"type\": \"string\"\n          },\n          \"type\": \"array\"\n        }\n      ]\n    },\n    \"props\": {\n      \"additionalProperties\": {},\n      \"description\": \"Optional props to merge over the selected chart recipe.\",\n      \"propertyNames\": {\n        \"type\": \"string\"\n      },\n      \"type\": \"object\"\n    },\n    \"theme\": {\n      \"additionalProperties\": {\n        \"type\": \"string\"\n      },\n      \"propertyNames\": {\n        \"type\": \"string\"\n      },\n      \"type\": \"object\"\n    }\n  },\n  \"required\": [\n    \"data\"\n  ],\n  \"type\": \"object\"\n}"},{"name":"explainChart","title":"Explain a chart without pixels","description":"Return reader grounding: chart description, communicative intent, and navigable data structure.","access":"read","accessDeclared":true,"hash":"957164450d69d565da117a1a0fee72e8c3fa12f90f2c1e35a2246ecd41600f08","inputSchema":"{\n  \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n  \"properties\": {\n    \"component\": {\n      \"type\": \"string\"\n    },\n    \"props\": {\n      \"additionalProperties\": {},\n      \"propertyNames\": {\n        \"type\": \"string\"\n      },\n      \"type\": \"object\"\n    }\n  },\n  \"required\": [\n    \"component\",\n    \"props\"\n  ],\n  \"type\": \"object\"\n}"},{"name":"getChartSchema","title":"Get a chart schema","description":"Return canonical Semiotic prop-schema guidance for code editing and advanced configuration.","access":"read","accessDeclared":true,"hash":"3a455e4b4b9c9d886f965b1e8041c94d90fdc5e01a8a4634111e5fc6b9baca61","inputSchema":"{\n  \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n  \"properties\": {\n    \"component\": {\n      \"type\": \"string\"\n    }\n  },\n  \"type\": \"object\"\n}"},{"name":"improveChart","title":"Improve an existing chart","description":"Diagnose a chart configuration, assess data fit, and propose repairs or variants.","access":"read","accessDeclared":true,"hash":"a808407c2ccc22a151dd2197857697a382bf844ea9a54b643d5ce2e051db1e0e","inputSchema":"{\n  \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n  \"properties\": {\n    \"component\": {\n      \"type\": \"string\"\n    },\n    \"data\": {\n      \"items\": {\n        \"additionalProperties\": {},\n        \"propertyNames\": {\n          \"type\": \"string\"\n        },\n        \"type\": \"object\"\n      },\n      \"type\": \"array\"\n    },\n    \"fieldRoles\": {\n      \"additionalProperties\": {\n        \"anyOf\": [\n          {\n            \"enum\": [\n              \"identifier\",\n              \"measure\",\n              \"dimension\",\n              \"temporal\",\n              \"x\",\n              \"y\",\n              \"size\",\n              \"category\",\n              \"series\",\n              \"time\",\n              \"ignore\"\n            ],\n            \"type\": \"string\"\n          },\n          {\n            \"items\": {\n              \"enum\": [\n                \"identifier\",\n                \"measure\",\n                \"dimension\",\n                \"temporal\",\n                \"x\",\n                \"y\",\n                \"size\",\n                \"category\",\n                \"series\",\n                \"time\",\n                \"ignore\"\n              ],\n              \"type\": \"string\"\n            },\n            \"type\": \"array\"\n          }\n        ]\n      },\n      \"description\": \"Per-field semantic or exact encoding-role hints used before chart ranking.\",\n      \"propertyNames\": {\n        \"type\": \"string\"\n      },\n      \"type\": \"object\"\n    },\n    \"identifiers\": {\n      \"description\": \"Fields that identify records and must not be used as visual encodings or measures.\",\n      \"items\": {\n        \"type\": \"string\"\n      },\n      \"type\": \"array\"\n    },\n    \"intent\": {\n      \"anyOf\": [\n        {\n          \"type\": \"string\"\n        },\n        {\n          \"items\": {\n            \"type\": \"string\"\n          },\n          \"type\": \"array\"\n        }\n      ]\n    },\n    \"props\": {\n      \"additionalProperties\": {},\n      \"propertyNames\": {\n        \"type\": \"string\"\n      },\n      \"type\": \"object\"\n    }\n  },\n  \"required\": [\n    \"component\",\n    \"props\"\n  ],\n  \"type\": \"object\"\n}"}],"toolsHash":"9db3e8ee86b274582270d1d324ce21a10bc2191a5e00f2a3a4f9d12b2d8e30ac","toolsPinnedAt":"2026-10-26T02:52:52.787Z","toolsLastSeenAt":"2026-10-26T02:52:52.757Z","toolChanges":[]}}