Semiotic
Server Details
Verified React chart generation: select, validate, repair, render, and inspect charts through MCP.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- nteract/semiotic
- GitHub Stars
- 2,691
- Server Listing
- nteract/semiotic
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 3.5/5 across 5 of 5 tools scored.
The tools are mostly distinct: createChart builds new charts, improveChart fixes existing ones, auditChart runs diagnostics, explainChart provides reader-facing interpretation, and getChartSchema returns schema guidance. However, createChart and improveChart both involve diagnosis and could be confused when an agent wants to modify an existing chart.
All tool names follow a consistent camelCase verb+noun pattern (auditChart, createChart, explainChart, getChartSchema, improveChart). The only minor deviation is getChartSchema, which uses a noun phrase rather than a direct verb+noun like the others, but it still fits the pattern.
Five tools is well-scoped for a charting server. Each tool covers a distinct phase of the chart lifecycle (create, improve, audit, explain, schema), and none feel redundant or missing.
The tool surface covers the full chart lifecycle: creation, improvement, auditing, explanation, and schema reference. A minor gap is the lack of a delete/remove chart tool, but since charts are static configurations rather than persistent objects, this is acceptable.
Available Tools
5 toolsauditChartAudit chart quality and accessibilityARead-onlyIdempotentInspect
Run design diagnostics plus accessibility and mobile audits, returning prioritized structured findings.
| Name | Required | Description | Default |
|---|---|---|---|
| props | Yes | ||
| component | Yes | ||
| viewportWidth | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| status | Yes | |
| component | Yes | |
| surfaceVersion | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds useful context about the audit scope and the structured, prioritized nature of findings, which goes beyond the annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that delivers the core purpose and output format without any filler. Every word adds value, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description gives a solid high-level overview and the output schema covers return values, but it lacks parameter-level context and does not elaborate on what 'design diagnostics' or 'accessibility audits' include. For a tool with a nested props object and optional viewportWidth, more input guidance would make it complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, so the description must compensate for parameter meaning, but it does not. While 'component' and 'props' are reasonably self-explanatory and 'viewportWidth' hints at responsive/mobile testing, the description provides no explicit guidance on how these parameters should be supplied or how viewportWidth affects the audit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Run' and clearly identifies the resource 'chart quality and accessibility' with a concrete outcome ('prioritized structured findings'). This strongly distinguishes it from sibling tools like createChart, explainChart, getChartSchema, and improveChart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly establishes the context for use: performing design, accessibility, and mobile audits on charts. It does not explicitly name alternatives or when-not conditions, but the sibling tool names make the differentiation clear, and the audit scope is well-defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
createChartCreate and prove a chartBRead-onlyIdempotentInspect
Select, validate, diagnose, render, and prove a static-data Semiotic chart. This is the default public workflow.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | ||
| props | No | Optional props to merge over the selected chart recipe. | |
| theme | No | ||
| intent | No | ||
| audience | No | ||
| component | No | Optional chart preference; the fit-ranked result remains authoritative. | |
| fieldRoles | No | Per-field semantic or exact encoding-role hints used before chart ranking. | |
| identifiers | No | Fields that identify records and must not be used as visual encodings or measures. |
Output Schema
| Name | Required | Description |
|---|---|---|
| status | Yes | |
| component | No | |
| surfaceVersion | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and non-destructive behavior. The description adds that it's a multi-step workflow including 'prove', but doesn't disclose error handling, limitations, or what happens to input data. It adds minimal context beyond annotations, so a 3.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of two short sentences that front-load the core actions and purpose. There is no redundancy or filler, making it highly efficient for quick comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a complex tool with 8 parameters, nested objects, and an output schema. The description barely scratches the surface, omitting details about the workflow steps, input requirements, or how the tool interacts with data. It's far from complete for such a multifaceted tool, so a 2.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not mention any of the 8 parameters. Schema coverage is only 50%, so the description should compensate by explaining parameter meanings, but it doesn't. It adds zero value beyond the schema, so a 1.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool selects, validates, diagnoses, renders, and proves a static-data Semiotic chart, positioning it as the default public workflow. It distinguishes itself from siblings by calling itself 'default', though it doesn't name specific alternatives. The verb list is specific and the resource is clear, so it's a solid 4.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage hint is 'This is the default public workflow', which implies it's the go-to for chart creation but doesn't explicitly state when to use auditChart, explainChart, or improveChart. It lacks explicit exclusions or alternative guidance. This counts as implied usage, not explicit, so a 3.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
explainChartExplain a chart without pixelsBRead-onlyIdempotentInspect
Return reader grounding: chart description, communicative intent, and navigable data structure.
| Name | Required | Description | Default |
|---|---|---|---|
| props | Yes | ||
| component | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| status | Yes | |
| grounding | Yes | |
| surfaceVersion | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate a read-only, idempotent, non-destructive operation. The description adds context by specifying the return payload (chart description, intent, data structure), which is consistent with the annotations. No contradictions found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the tool's purpose and output components without redundancy. It is front-loaded with the verb 'Return'.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the output schema covers return values, the input parameters are completely undocumented. The description fails to explain how to specify the chart via 'component' and 'props', leaving the agent unable to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, meaning the parameters 'component' and 'props' have no descriptions. The description does not clarify their meaning or provide examples. This is a critical gap since both are required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Return' and defines the resource as 'reader grounding' with three concrete outputs (chart description, communicative intent, navigable data structure). This clearly distinguishes it from siblings like createChart or getChartSchema, which focus on creation or schema retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided regarding when to use this tool versus alternatives. There is no mention of auditChart, getChartSchema, or other siblings, nor any conditions or prerequisites. The title hints at non-visual explanation, but the description lacks explicit usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getChartSchemaGet a chart schemaARead-onlyIdempotentInspect
Return canonical Semiotic prop-schema guidance for code editing and advanced configuration.
| Name | Required | Description | Default |
|---|---|---|---|
| component | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| schema | No | |
| status | Yes | |
| component | No | |
| renderable | No | |
| accessibility | No | |
| surfaceVersion | Yes | |
| behaviorContracts | No | |
| availableComponents | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the description does not need to restate these. It adds context by specifying that the output is 'canonical' guidance for Semiotic props, which goes beyond the annotations. No contradictions are present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the core action ('Return...') and immediately adds purpose. It avoids redundancy and every phrase contributes meaning, making it appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema, so return format is covered, and annotations address safety. However, the description does not explain the optional 'component' parameter or the exact scope of 'chart schema,' leaving a notable gap for an agent to correctly invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema lists a single 'component' parameter with no description, and the tool description does not mention this parameter at all. With 0% schema description coverage, the agent is left to infer the meaning of 'component' from the tool name and context, which is insufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that it returns 'canonical Semiotic prop-schema guidance,' which is a specific verb+resource combination. It distinguishes itself from siblings (audit, create, explain, improve) by focusing on schema retrieval for code editing and advanced configuration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for code editing and advanced configuration' implies a use case but does not explicitly state when to use this tool versus alternatives or mention any exclusion criteria. There is no reference to sibling tools or conditions under which other tools would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
improveChartImprove an existing chartBRead-onlyIdempotentInspect
Diagnose a chart configuration, assess data fit, and propose repairs or variants.
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | ||
| props | Yes | ||
| intent | No | ||
| component | Yes | ||
| fieldRoles | No | Per-field semantic or exact encoding-role hints used before chart ranking. | |
| identifiers | No | Fields that identify records and must not be used as visual encodings or measures. |
Output Schema
| Name | Required | Description |
|---|---|---|
| repair | Yes | |
| status | Yes | |
| variants | Yes | |
| component | Yes | |
| diagnostics | Yes | |
| surfaceVersion | Yes | |
| accessibilityRecommendation | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, which already indicate this is a safe, non-mutating operation. The description adds context about diagnosing and proposing, but it doesn't disclose what exactly constitutes a 'repair' or 'variant', nor does it clarify whether the tool returns suggestions or executes modifications. Given that annotations cover safety, the description should add more behavioral details, but it doesn't.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one concise sentence that is front-loaded with the main purpose. No fluff, but it could be slightly more structured by listing key aspects (diagnose, assess, propose) in a clearer sequence. Still, it earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is moderately complex with 6 parameters, nested objects, and an output schema. The description is brief but covers the high-level goal. Given the annotations and output schema, the description could still provide more context on what kind of output to expect (e.g., suggested changes, alternatives) and how to interpret the result. It's adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 33% (only 'fieldRoles' and 'identifiers' have descriptions), so the description must compensate. The description gives a general idea that the tool works with chart configuration and data, but it doesn't explain the required 'component' or 'props' parameters beyond what the schema shows. It adds minimal meaning for parameters like 'data' and 'intent'. Overall, it's a baseline 3 with room for more detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Diagnose a chart configuration, assess data fit, and propose repairs or variants.' This distinguishes it from siblings like createChart (which creates a new chart) and explainChart (which likely explains existing charts), though it doesn't name them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool: when a chart needs improvement, such as diagnosing configuration issues or proposing variants. However, it doesn't explicitly state when NOT to use it or mention alternatives like createChart or auditChart. The context is fairly clear but lacks explicit exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to generate safe, runnable HTML chart pages from structured JSON data using Apache ECharts. It provides tools for chart type recommendation, page generation, validation, and patching with controlled, deterministic output.5MIT
- AlicenseAqualityDmaintenanceMCP server providing access to a catalog of reusable React/Next.js component recipes (animations, charts, UI components) with usage examples, props documentation, and architecture notes, enabling AI assistants to generate production-ready code.3MIT
- FlicenseNot gradedqualityDmaintenanceProvides D3 visualization documentation, chart recommendations, and code generation through the MCP protocol.18
- AlicenseNot gradedqualityCmaintenanceMCP server for MetricUI — a React dashboard component library. Provides AI coding tools with full API references, working examples, format suggestions, prop validation, and complete dashboard scaffolding for building analytics UIs.624MIT
Your Connectors
Sign in to create a connector for this server.