Server definition
- Hash
- sha256:0458fa85018a60c4b29554e0448932ac55411b08bb535a4084ab8a6727182128
- What it is
- What a remote MCP server returned when asked what it offers: 6 tools
The blob, as servednamed by its sha256
{
"instructions": "Polyxd turns a small JSON document of meaning into a real screen in a design system. You write the document; this server checks it and shows it to the user. Call polyxd_guide once before writing your first document, polyxd_validate until it is valid, then polyxd_show. Actions the user takes in a shown screen come back to you as chat messages. A button press only tells you what the user chose: it submits, pays or saves nothing, so never say it did.",
"tools": [
{
"description": "Lists the semantic components a Polyxd document can use, with a one-line summary each. Pass \"name\" for one component's full definition: every prop and its type, which are required, when to use it and when not to, and how it renders.",
"inputSchema": {
"properties": {
"name": {
"description": "A component name, e.g. \"Choice\", for its full definition.",
"type": "string"
}
},
"type": "object"
},
"name": "polyxd_components",
"outputSchema": {
"additionalProperties": false,
"description": "\"component\" when a name was given; \"components\" otherwise.",
"oneOf": [
{
"required": [
"component"
]
},
{
"required": [
"components"
]
}
],
"properties": {
"component": {
"additionalProperties": true,
"description": "One component's full definition.",
"properties": {
"accessibility": {
"additionalProperties": true,
"description": "Its accessible role and requirements.",
"type": "object"
},
"agent": {
"description": "How an agent operating the rendered screen should use it.",
"type": "string"
},
"category": {
"description": "The component's kind: action, shell, structure, content, input, flow, layout, feedback.",
"type": "string"
},
"name": {
"description": "The component's type name, the value of \"component\" in a document, e.g. \"Choice\".",
"type": "string"
},
"props": {
"additionalProperties": true,
"description": "Every prop, by name, as a JSON Schema. $refs point into the spec's common definitions (DynamicString, Binding, Options and so on).",
"type": "object"
},
"rendering": {
"description": "How renderers draw it.",
"items": {
"type": "string"
},
"type": "array"
},
"required": {
"description": "The props a document must set.",
"items": {
"type": "string"
},
"type": "array"
},
"shell": {
"description": "True for shell components, which frame a product's screens: authored once per product, never generated.",
"type": "boolean"
},
"summary": {
"description": "What the component is for, in one line.",
"type": "string"
},
"whenNotToUse": {
"description": "When not to, and what to use instead.",
"items": {
"type": "string"
},
"type": "array"
},
"whenToUse": {
"description": "When to use this component.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"name",
"category",
"summary",
"props",
"required",
"whenToUse",
"whenNotToUse"
],
"type": "object"
},
"components": {
"description": "Every component, in the spec's order.",
"items": {
"additionalProperties": false,
"properties": {
"category": {
"description": "The component's kind: action, shell, structure, content, input, flow, layout, feedback.",
"type": "string"
},
"name": {
"description": "The component's type name. Pass it back as \"name\" for the full definition.",
"type": "string"
},
"shell": {
"description": "True for shell components: authored once per product, never generated. Use the others in generated screens.",
"type": "boolean"
},
"summary": {
"description": "What the component is for, in one line.",
"type": "string"
}
},
"required": [
"name",
"category",
"summary",
"shell"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
{
"description": "Returns the instructions for writing a Polyxd UI document: the document shape, the rules for generated screens, bindings, actions, every component with its props, and the patterns. Call this once before writing your first document.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "polyxd_guide",
"outputSchema": {
"additionalProperties": false,
"properties": {
"guide": {
"description": "The instructions for writing a Polyxd UI document: how to use these tools, the document shape, the rules, bindings, actions, every component with its props, and the patterns. The same text as the result's text content.",
"type": "string"
},
"specVersion": {
"description": "The version of the Polyxd spec this server implements, e.g. \"0.3.0\". Documents set it as their \"specVersion\".",
"type": "string"
}
},
"required": [
"specVersion",
"guide"
],
"type": "object"
}
},
{
"description": "Lists the design-system packs polyxd_show can draw a screen in: published design systems (Material 3, Carbon, GOV.UK and others) and original templates. The same document looks native in each.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "polyxd_packs",
"outputSchema": {
"additionalProperties": false,
"properties": {
"default": {
"description": "The pack polyxd_show uses when none is given.",
"enum": [
"material3",
"antd",
"bootstrap",
"carbon",
"chakra",
"fluent",
"govuk",
"mantine",
"polaris",
"primer",
"radix",
"shadcn",
"spectrum",
"brutalist",
"civic",
"editorial",
"finance",
"glass",
"health",
"mono",
"neon",
"pastel",
"sketch",
"terminal",
"wireframe"
],
"type": "string"
},
"packs": {
"description": "Every pack, for polyxd_show's \"pack\" argument.",
"items": {
"additionalProperties": false,
"properties": {
"description": {
"description": "A one-line description of the pack.",
"type": "string"
},
"displayName": {
"description": "The name to show people, e.g. \"IBM Carbon\".",
"type": "string"
},
"name": {
"description": "The pack's name: the value to pass as polyxd_show's \"pack\".",
"type": "string"
},
"package": {
"description": "The npm package with the pack's design tokens.",
"type": "string"
},
"template": {
"description": "True for an original template to start from; false for a published design system.",
"type": "boolean"
}
},
"required": [
"name",
"displayName",
"template",
"package",
"description"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"default",
"packs"
],
"type": "object"
}
},
{
"description": "Validates a Polyxd UI document and shows it to the user as an interactive screen, drawn by the Polyxd renderer in the design-system pack you choose (default material3). Shows nothing if the document has errors; fix them first with polyxd_validate. When the user presses an action in the screen, you receive a chat message from the user naming the action and its context; that only tells you their choice, and nothing has been submitted or paid. Packs: material3, antd, bootstrap, carbon, chakra, fluent, govuk, mantine, polaris, primer, radix, shadcn, spectrum, brutalist, civic, editorial, finance, glass, health, mono, neon, pastel, sketch, terminal, wireframe.",
"inputSchema": {
"properties": {
"data": {
"additionalProperties": true,
"description": "The values the screen shows, bound by {\"path\": \"/pointer\"}. Replaces the document's own \"data\" when given.",
"type": "object"
},
"document": {
"additionalProperties": true,
"description": "A Polyxd UI document: {specVersion, surface, root, components, data?}. polyxd_guide explains the format.",
"type": "object"
},
"mode": {
"description": "Light or dark. Leave out to follow the host's theme.",
"enum": [
"light",
"dark"
],
"type": "string"
},
"pack": {
"description": "The design-system pack to draw the screen in, by id: material3, antd, bootstrap, carbon, chakra, fluent, govuk, mantine, polaris, primer, radix, shadcn, spectrum, brutalist, civic, editorial, finance, glass, health, mono, neon, pastel, sketch, terminal, wireframe. Names like \"Carbon\" or \"shadcn/ui\" work too. Pass it whenever the user names a design system. Default material3.",
"type": "string"
}
},
"required": [
"document"
],
"type": "object"
},
"name": "polyxd_show",
"outputSchema": {
"additionalProperties": false,
"description": "shown is true with the document, pack and spec version when the screen was shown; false with the issues when it was not (that result is also an error).",
"oneOf": [
{
"properties": {
"shown": {
"const": true
}
},
"required": [
"document",
"pack",
"packName",
"specVersion"
]
},
{
"properties": {
"shown": {
"const": false
}
},
"required": [
"issues"
]
}
],
"properties": {
"document": {
"additionalProperties": true,
"description": "The Polyxd UI document as shown, with the separately passed data merged in as its \"data\". The MCP App renders it.",
"type": "object"
},
"issues": {
"description": "When not shown: the document's errors and warnings, each at its JSON Pointer with a hint.",
"items": {
"additionalProperties": false,
"description": "One problem in the document.",
"properties": {
"component": {
"additionalProperties": false,
"description": "The component the pointer is inside, when it is inside one.",
"properties": {
"id": {
"description": "The component's id.",
"type": "string"
},
"type": {
"description": "The component's type (its \"component\" value), e.g. \"TextInput\".",
"type": "string"
}
},
"type": "object"
},
"hint": {
"description": "What to change to fix it, when there is a known fix.",
"type": "string"
},
"message": {
"description": "What is wrong.",
"type": "string"
},
"pointer": {
"description": "JSON Pointer to the problem in the document, e.g. \"/components/2/label\".",
"type": "string"
},
"severity": {
"description": "\"error\" must be fixed before the document is shown; \"warning\" is advice.",
"enum": [
"error",
"warning"
],
"type": "string"
}
},
"required": [
"severity",
"pointer",
"message"
],
"type": "object"
},
"type": "array"
},
"mode": {
"description": "Light or dark, when one was asked for. Absent: the screen follows the host's theme.",
"enum": [
"light",
"dark"
],
"type": "string"
},
"pack": {
"description": "The design-system pack the screen is drawn in.",
"enum": [
"material3",
"antd",
"bootstrap",
"carbon",
"chakra",
"fluent",
"govuk",
"mantine",
"polaris",
"primer",
"radix",
"shadcn",
"spectrum",
"brutalist",
"civic",
"editorial",
"finance",
"glass",
"health",
"mono",
"neon",
"pastel",
"sketch",
"terminal",
"wireframe"
],
"type": "string"
},
"packName": {
"description": "The pack's display name, e.g. \"Material 3\".",
"type": "string"
},
"shown": {
"description": "Whether the screen was shown to the user. False when the document has errors.",
"type": "boolean"
},
"specVersion": {
"description": "The version of the Polyxd spec this server implements, e.g. \"0.3.0\". Documents set it as their \"specVersion\".",
"type": "string"
}
},
"required": [
"shown"
],
"type": "object"
}
},
{
"description": "Checks a Polyxd UI document against the spec: the schema, ids and references, bindings against the data, actions, and the rules for generated screens. Returns every issue with its JSON Pointer, the component it is in, and a hint saying what to change. Call it after writing or changing a document, and fix every error before showing it.",
"inputSchema": {
"properties": {
"data": {
"additionalProperties": true,
"description": "The values the screen shows, bound by {\"path\": \"/pointer\"}. Replaces the document's own \"data\" when given.",
"type": "object"
},
"document": {
"additionalProperties": true,
"description": "A Polyxd UI document: {specVersion, surface, root, components, data?}. polyxd_guide explains the format.",
"type": "object"
}
},
"required": [
"document"
],
"type": "object"
},
"name": "polyxd_validate",
"outputSchema": {
"additionalProperties": false,
"properties": {
"errors": {
"description": "How many errors. Fix every one before showing the document.",
"minimum": 0,
"type": "integer"
},
"issues": {
"description": "Every error and warning, each at its JSON Pointer with a hint. Empty when the document is clean.",
"items": {
"additionalProperties": false,
"description": "One problem in the document.",
"properties": {
"component": {
"additionalProperties": false,
"description": "The component the pointer is inside, when it is inside one.",
"properties": {
"id": {
"description": "The component's id.",
"type": "string"
},
"type": {
"description": "The component's type (its \"component\" value), e.g. \"TextInput\".",
"type": "string"
}
},
"type": "object"
},
"hint": {
"description": "What to change to fix it, when there is a known fix.",
"type": "string"
},
"message": {
"description": "What is wrong.",
"type": "string"
},
"pointer": {
"description": "JSON Pointer to the problem in the document, e.g. \"/components/2/label\".",
"type": "string"
},
"severity": {
"description": "\"error\" must be fixed before the document is shown; \"warning\" is advice.",
"enum": [
"error",
"warning"
],
"type": "string"
}
},
"required": [
"severity",
"pointer",
"message"
],
"type": "object"
},
"type": "array"
},
"valid": {
"description": "True when the document has no errors and can be shown. Warnings do not make it invalid.",
"type": "boolean"
},
"warnings": {
"description": "How many warnings. Advice; they do not stop the document being shown.",
"minimum": 0,
"type": "integer"
}
},
"required": [
"valid",
"errors",
"warnings",
"issues"
],
"type": "object"
}
},
{
"description": "Runs the Polyxd verifier's document checks: the spec validator, the pattern the surface declares, readable and distinct labels, one primary action per view, at most six inputs per view, entity-first flows, confirmations, and, when you pass one, a Design Direction's rules and voice. Returns a compact report. Example directions by name: calm-finance, playful-personal.",
"inputSchema": {
"properties": {
"data": {
"additionalProperties": true,
"description": "The values the screen shows, bound by {\"path\": \"/pointer\"}. Replaces the document's own \"data\" when given.",
"type": "object"
},
"direction": {
"description": "A Design Direction to hold the document to: the direction object, or the name of an example direction.",
"oneOf": [
{
"type": "string"
},
{
"additionalProperties": true,
"type": "object"
}
]
},
"document": {
"additionalProperties": true,
"description": "A Polyxd UI document: {specVersion, surface, root, components, data?}. polyxd_guide explains the format.",
"type": "object"
},
"registry": {
"additionalProperties": true,
"description": "A capability registry ({capabilities: [...]}) to check the document's actions against. Leave out when there is none.",
"type": "object"
}
},
"required": [
"document"
],
"type": "object"
},
"name": "polyxd_verify",
"outputSchema": {
"additionalProperties": false,
"properties": {
"direction": {
"description": "The name of the Design Direction the document was held to, when one was given and it has a name.",
"type": "string"
},
"errors": {
"description": "How many errors. Fix every one before showing the document.",
"minimum": 0,
"type": "integer"
},
"findings": {
"description": "Every check that failed. Empty when the document passes with no warnings.",
"items": {
"additionalProperties": false,
"properties": {
"check": {
"description": "The check that failed, e.g. \"spec\", \"data:missing-path\", \"pattern:<id>\", \"rule:<id>\", \"capability\" or \"load:inputs-per-view\".",
"type": "string"
},
"hint": {
"description": "What to change to fix it, when there is a known fix.",
"type": "string"
},
"message": {
"description": "What failed; findings from the spec validator start with the JSON Pointer, as \"<pointer>: <message>\".",
"type": "string"
},
"severity": {
"description": "\"error\" must be fixed before the document is shown; \"warning\" is advice.",
"enum": [
"error",
"warning"
],
"type": "string"
}
},
"required": [
"severity",
"check",
"message"
],
"type": "object"
},
"type": "array"
},
"rules": {
"description": "How many Design Direction rules were checked. 0 without a direction.",
"minimum": 0,
"type": "integer"
},
"warnings": {
"description": "How many warnings. Advice; they do not stop the document being shown.",
"minimum": 0,
"type": "integer"
}
},
"required": [
"errors",
"warnings",
"findings",
"rules"
],
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:0458fa85018a60c4b29554e0448932ac55411b08bb535a4084ab8a6727182128 | sha256sum