このMCPでできること
Defines, validates, verifies, and renders interactive Polyxd UI documents using selectable design-system packs.
ツール
入力スキーマ
{'type': 'object', 'properties': {'name': {'type': 'string', 'description': 'A component name, e.g. "Choice", for its full definition.'}}}
出力スキーマ
{'type': 'object', 'oneOf': [{'required': ['component']}, {'required': ['components']}], 'properties': {'component': {'type': 'object', 'required': ['name', 'category', 'summary', 'props', 'required', 'whenToUse', 'whenNotToUse'], 'properties': {'name': {'type': 'string', 'description': 'The component\'s type name, the value of "component" in a document, e.g. "Choice".'}, 'agent': {'type': 'string', 'description': 'How an agent operating the rendered screen should use it.'}, 'props': {'type': 'object', 'description': "Every prop, by name, as a JSON Schema. $refs point into the spec's common definitions (DynamicString, Binding, Options and so on).", 'additionalProperties': True}, 'shell': {'type': 'boolean', 'description': "True for shell components, which frame a product's screens: authored once per product, never generated."}, 'summary': {'type': 'string', 'description': 'What the component is for, in one line.'}, 'category': {'type': 'string', 'description': "The component's kind: action, shell, structure, content, input, flow, layout, feedback."}, 'required': {'type': 'array', 'items': {'type': 'string'}, 'description': 'The props a document must set.'}, 'rendering': {'type': 'array', 'items': {'type': 'string'}, 'description': 'How renderers draw it.'}, 'whenToUse': {'type': 'array', 'items': {'type': 'string'}, 'description': 'When to use this component.'}, 'whenNotToUse': {'type': 'array', 'items': {'type': 'string'}, 'description': 'When not to, and what to use instead.'}, 'accessibility': {'type': 'object', 'description': 'Its accessible role and requirements.', 'additionalProperties': True}}, 'description': "One component's full definition.", 'additionalProperties': True}, 'components': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'category', 'summary', 'shell'], 'properties': {'name': {'type': 'string', 'description': 'The component\'s type name. Pass it back as "name" for the full definition.'}, 'shell': {'type': 'boolean', 'description': 'True for shell components: authored once per product, never generated. Use the others in generated screens.'}, 'summary': {'type': 'string', 'description': 'What the component is for, in one line.'}, 'category': {'type': 'string', 'description': "The component's kind: action, shell, structure, content, input, flow, layout, feedback."}}, 'additionalProperties': False}, 'description': "Every component, in the spec's order."}}, 'description': '"component" when a name was given; "components" otherwise.', 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'properties': {}}
出力スキーマ
{'type': 'object', 'required': ['specVersion', 'guide'], 'properties': {'guide': {'type': 'string', '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."}, 'specVersion': {'type': 'string', 'description': 'The version of the Polyxd spec this server implements, e.g. "0.3.0". Documents set it as their "specVersion".'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'properties': {}}
出力スキーマ
{'type': 'object', 'required': ['default', 'packs'], 'properties': {'packs': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'displayName', 'template', 'package', 'description'], 'properties': {'name': {'type': 'string', 'description': 'The pack\'s name: the value to pass as polyxd_show\'s "pack".'}, 'package': {'type': 'string', 'description': "The npm package with the pack's design tokens."}, 'template': {'type': 'boolean', 'description': 'True for an original template to start from; false for a published design system.'}, 'description': {'type': 'string', 'description': 'A one-line description of the pack.'}, 'displayName': {'type': 'string', 'description': 'The name to show people, e.g. "IBM Carbon".'}}, 'additionalProperties': False}, 'description': 'Every pack, for polyxd_show\'s "pack" argument.'}, 'default': {'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', 'description': 'The pack polyxd_show uses when none is given.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['document'], 'properties': {'data': {'type': 'object', 'description': 'The values the screen shows, bound by {"path": "/pointer"}. Replaces the document\'s own "data" when given.', 'additionalProperties': True}, 'mode': {'enum': ['light', 'dark'], 'type': 'string', 'description': "Light or dark. Leave out to follow the host's theme."}, 'pack': {'type': 'string', '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.'}, 'document': {'type': 'object', 'description': 'A Polyxd UI document: {specVersion, surface, root, components, data?}. polyxd_guide explains the format.', 'additionalProperties': True}}}
出力スキーマ
{'type': 'object', 'oneOf': [{'required': ['document', 'pack', 'packName', 'specVersion'], 'properties': {'shown': {'const': True}}}, {'required': ['issues'], 'properties': {'shown': {'const': False}}}], 'required': ['shown'], 'properties': {'mode': {'enum': ['light', 'dark'], 'type': 'string', 'description': "Light or dark, when one was asked for. Absent: the screen follows the host's theme."}, 'pack': {'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', 'description': 'The design-system pack the screen is drawn in.'}, 'shown': {'type': 'boolean', 'description': 'Whether the screen was shown to the user. False when the document has errors.'}, 'issues': {'type': 'array', 'items': {'type': 'object', 'required': ['severity', 'pointer', 'message'], 'properties': {'hint': {'type': 'string', 'description': 'What to change to fix it, when there is a known fix.'}, 'message': {'type': 'string', 'description': 'What is wrong.'}, 'pointer': {'type': 'string', 'description': 'JSON Pointer to the problem in the document, e.g. "/components/2/label".'}, 'severity': {'enum': ['error', 'warning'], 'type': 'string', 'description': '"error" must be fixed before the document is shown; "warning" is advice.'}, 'component': {'type': 'object', 'properties': {'id': {'type': 'string', 'description': "The component's id."}, 'type': {'type': 'string', 'description': 'The component\'s type (its "component" value), e.g. "TextInput".'}}, 'description': 'The component the pointer is inside, when it is inside one.', 'additionalProperties': False}}, 'description': 'One problem in the document.', 'additionalProperties': False}, 'description': "When not shown: the document's errors and warnings, each at its JSON Pointer with a hint."}, 'document': {'type': 'object', 'description': 'The Polyxd UI document as shown, with the separately passed data merged in as its "data". The MCP App renders it.', 'additionalProperties': True}, 'packName': {'type': 'string', 'description': 'The pack\'s display name, e.g. "Material 3".'}, 'specVersion': {'type': 'string', 'description': 'The version of the Polyxd spec this server implements, e.g. "0.3.0". Documents set it as their "specVersion".'}}, '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).', 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['document'], 'properties': {'data': {'type': 'object', 'description': 'The values the screen shows, bound by {"path": "/pointer"}. Replaces the document\'s own "data" when given.', 'additionalProperties': True}, 'document': {'type': 'object', 'description': 'A Polyxd UI document: {specVersion, surface, root, components, data?}. polyxd_guide explains the format.', 'additionalProperties': True}}}
出力スキーマ
{'type': 'object', 'required': ['valid', 'errors', 'warnings', 'issues'], 'properties': {'valid': {'type': 'boolean', 'description': 'True when the document has no errors and can be shown. Warnings do not make it invalid.'}, 'errors': {'type': 'integer', 'minimum': 0, 'description': 'How many errors. Fix every one before showing the document.'}, 'issues': {'type': 'array', 'items': {'type': 'object', 'required': ['severity', 'pointer', 'message'], 'properties': {'hint': {'type': 'string', 'description': 'What to change to fix it, when there is a known fix.'}, 'message': {'type': 'string', 'description': 'What is wrong.'}, 'pointer': {'type': 'string', 'description': 'JSON Pointer to the problem in the document, e.g. "/components/2/label".'}, 'severity': {'enum': ['error', 'warning'], 'type': 'string', 'description': '"error" must be fixed before the document is shown; "warning" is advice.'}, 'component': {'type': 'object', 'properties': {'id': {'type': 'string', 'description': "The component's id."}, 'type': {'type': 'string', 'description': 'The component\'s type (its "component" value), e.g. "TextInput".'}}, 'description': 'The component the pointer is inside, when it is inside one.', 'additionalProperties': False}}, 'description': 'One problem in the document.', 'additionalProperties': False}, 'description': 'Every error and warning, each at its JSON Pointer with a hint. Empty when the document is clean.'}, 'warnings': {'type': 'integer', 'minimum': 0, 'description': 'How many warnings. Advice; they do not stop the document being shown.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['document'], 'properties': {'data': {'type': 'object', 'description': 'The values the screen shows, bound by {"path": "/pointer"}. Replaces the document\'s own "data" when given.', 'additionalProperties': True}, 'document': {'type': 'object', 'description': 'A Polyxd UI document: {specVersion, surface, root, components, data?}. polyxd_guide explains the format.', 'additionalProperties': True}, 'registry': {'type': 'object', 'description': "A capability registry ({capabilities: [...]}) to check the document's actions against. Leave out when there is none.", 'additionalProperties': True}, 'direction': {'oneOf': [{'type': 'string'}, {'type': 'object', 'additionalProperties': True}], 'description': 'A Design Direction to hold the document to: the direction object, or the name of an example direction.'}}}
出力スキーマ
{'type': 'object', 'required': ['errors', 'warnings', 'findings', 'rules'], 'properties': {'rules': {'type': 'integer', 'minimum': 0, 'description': 'How many Design Direction rules were checked. 0 without a direction.'}, 'errors': {'type': 'integer', 'minimum': 0, 'description': 'How many errors. Fix every one before showing the document.'}, 'findings': {'type': 'array', 'items': {'type': 'object', 'required': ['severity', 'check', 'message'], 'properties': {'hint': {'type': 'string', 'description': 'What to change to fix it, when there is a known fix.'}, 'check': {'type': 'string', 'description': 'The check that failed, e.g. "spec", "data:missing-path", "pattern:<id>", "rule:<id>", "capability" or "load:inputs-per-view".'}, 'message': {'type': 'string', 'description': 'What failed; findings from the spec validator start with the JSON Pointer, as "<pointer>: <message>".'}, 'severity': {'enum': ['error', 'warning'], 'type': 'string', 'description': '"error" must be fixed before the document is shown; "warning" is advice.'}}, 'additionalProperties': False}, 'description': 'Every check that failed. Empty when the document passes with no warnings.'}, 'warnings': {'type': 'integer', 'minimum': 0, 'description': 'How many warnings. Advice; they do not stop the document being shown.'}, 'direction': {'type': 'string', 'description': 'The name of the Design Direction the document was held to, when one was given and it has a name.'}}, 'additionalProperties': False}
最近のツール変更
類似のMCPサーバー
GripForge
Generates, rigs, animates, analyzes, and packages game characters, weapons, armor, effects, environments, and engine-ready assets.
spriteship
Generates and manages 2D game characters, assets, animations, tilesets, UI packs, maps, and engine-ready exports for multiple gam…
Blixtworks
Offers pay-per-call utilities for text, image processing and analysis, data conversion, validation, web inspection, cryptography,…
Compose Preview Catalogs
Browses, renders, compares, audits, and edits Jetpack Compose preview catalogs and associated UI designs.
arch-tools-mcp
Provides general-purpose agent APIs for browser automation, web and PDF extraction, data conversion, email operations, fact check…
kernelcad
Authors, evaluates, reviews, simulates, edits, and exports parametric CAD assemblies and geometry from editable TypeScript-based …
floot
Creates, edits, previews, databases, and publishes full-stack web and mobile applications with hosted resources and deployment wo…
Raven
Supports coding agents with design audits, design-system guidance, and a configurable visual preference profile.