{"name":"io.github.nteract/semiotic","slug":"nteract-semiotic","title":"Semiotic","description":"Verified React chart generation: select, validate, repair, render, and inspect charts through MCP.","url":"https://mcp.market/server/nteract-semiotic","rating":null,"grade":"B","score":82,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":75,"stars":2706,"forks":139,"downloads_week":5777,"last_push_at":"2026-09-19T01:31:42.000Z","license":"Apache-2.0"},"claimed":false,"transport":"mixed","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/nteract/semiotic","website":"https://semiotic.nteract.io","version":"3.10.2","remotes":[{"type":"streamable-http","url":"https://semiotic-mcp-server-481507046413.us-west1.run.app/mcp"}],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"semiotic","version":"3.10.2","transport":{"type":"stdio"}}],"tools":[{"name":"auditChart","description":"Run design diagnostics plus accessibility and mobile audits, returning prioritized structured findings.","write_action":true,"price_micros":0,"input_schema":{"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#"}},{"name":"createChart","description":"Select, validate, diagnose, render, and prove a static-data Semiotic chart. This is the default public workflow.","write_action":false,"price_micros":0,"input_schema":{"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#"}},{"name":"explainChart","description":"Return reader grounding: chart description, communicative intent, and navigable data structure.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"component":{"type":"string"},"props":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["component","props"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"getChartSchema","description":"Return canonical Semiotic prop-schema guidance for code editing and advanced configuration.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"component":{"type":"string"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"improveChart","description":"Diagnose a chart configuration, assess data fit, and propose repairs or variants.","write_action":false,"price_micros":0,"input_schema":{"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#"}}],"scan":{"score":82,"grade":"B","scanned_at":"2026-09-19T04:43:36.721Z","report":{"scannerVersion":"0.1.3","scannedAt":"2026-09-19T04:43:36.655Z","components":{"code":{"score":20,"max":25,"notes":["1388 source files scanned"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 259ms"]},"poisoning":{"score":15,"max":15,"notes":["5 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 1 write-action tools with no auth"]},"maintenance":{"score":15,"max":15,"notes":["last push 0 days ago"]},"identity":{"score":9,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"},{"id":"exec.eval","severity":"medium","component":"code","title":"eval / new Function used","evidence":"ai/dist/mcp-server.js: …&&(l=this.opts.code.process(l,e));let f=new Function(`${jn.default.self}`,`${jn.default.scope…"}],"inputs":{"probes":[{"url":"https://semiotic-mcp-server-481507046413.us-west1.run.app/mcp","reachable":true,"authRequired":false,"latencyMs":259,"serverInfo":{"name":"semiotic","version":"3.10.2"}}],"packages":[{"registryType":"npm","identifier":"semiotic","version":"3.10.2","found":true,"license":"Apache-2.0","hasInstallScripts":false,"dependencyCount":13,"publishedAt":"2026-09-19T02:52:57.833Z","repositoryUrl":"git+https://github.com/nteract/semiotic.git","weeklyDownloads":5777}],"repo":{"found":true,"owner":"nteract","repo":"semiotic","archived":false,"pushedAt":"2026-09-19T01:31:42Z","stars":2706,"forks":139,"openIssues":40,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/12401040?v=4","ownerCreatedAt":"2015-05-11T20:40:03Z","license":"Apache-2.0"},"icon":{"url":"https://avatars.githubusercontent.com/u/12401040?v=4&s=128","source":"github"},"presence":{"stars":2706,"forks":139,"downloadsWeek":5777,"license":"Apache-2.0","lastPushAt":"2026-09-19T01:31:42.000Z","score":75}}}},"grade_history":[],"reviews":[]}