{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_wewjgx5jcsvf","handle":"mlola-ui","url":"https://wellknown.network/agents/mlola-ui","links":{"self":"https://wellknown.network/agents/mlola-ui/record.json","html":"https://wellknown.network/agents/mlola-ui","markdown":"https://wellknown.network/agents/mlola-ui/record.md","api":"https://wellknown.network/api/v1/agents/mlola-ui","status":"https://wellknown.network/api/v1/agents/mlola-ui/status","claim":"https://wellknown.network/agents/mlola-ui/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/mlola-ui/claim.json","badge":"https://wellknown.network/agents/mlola-ui/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/mlola-ui/history","tools":"https://wellknown.network/api/v1/agents/mlola-ui/tools"},"ard":{"identifier":"urn:air:ui.mlola.com:server:mlola-ui","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Mlola UI","summary":"Mlola UI components, tokens and design rules for coding agents, with a markup checker","description":"Mlola UI components, tokens and design rules for coding agents, with a markup checker","publisher":{"name":"mlolahq","url":null},"homepage":"https://ui.mlola.com/docs/agents","repository":"https://github.com/mlolahq/mlola-ui","version":"1.9.3","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://ui.mlola.com/mcp","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"npm:mlola-ui","type":"package_npm","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-07T07:20:09.989257Z","publishedAt":"2026-10-07T07:20:09.989257Z","registryName":"io.github.mlolahq/mlola-ui"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"media.3d","name":"3D & Design","confidence":0.885,"provenance":"derived"},{"slug":"ai.prompting","name":"Prompt Management","confidence":0.525,"provenance":"derived"},{"slug":"content.writing","name":"Writing & Editing","confidence":0.51,"provenance":"derived"},{"slug":"commerce.ecommerce","name":"E-commerce Operations","confidence":0.51,"provenance":"derived"},{"slug":"commerce.pricing","name":"Pricing & Quotes","confidence":0.51,"provenance":"derived"}],"categories":["ai","commerce","content","media"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 4h ago.","lastOkAt":"2026-10-10T12:28:16.414Z","lastProbedAt":"2026-10-10T12:28:16.414Z","statusComputedAt":"2026-10-10T12:30:34.230Z","reliability30d":{"probes":41,"successRate":1,"p50Ms":70,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":41,"ok":41,"authBoundaryOk":0,"serviceOk":41,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-10T12:28:16.414Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":23,"error":null,"detail":{"tools":[{"name":"get_design_rules","description":"The rules for building UI with Mlola: compose first, color by role, measure with the scales, shared state words, touch and focus. Read once before writing UI."},{"name":"search_components","description":"Find components, blocks, pages and templates by what they do (for example 'date range', 'chat input', 'pricing'). Returns name, tier (free or Mlola Pro) and a o"},{"name":"get_component","description":"Everything needed to use one item: import, every prop with fixed values (variant, tone, size, side…) and its default, the classes it styles and the data-* value"},{"name":"get_tokens","description":"The --ml-* tokens grouped by purpose (planes and ink, color roles, spacing, type, density, shape, depth, motion, layers…). Filter with a group name or part of a"},{"name":"check_markup","description":"Checks HTML or JSX: classes that do not exist, variant classes, data-* values a class does not react to, utility classes, misuse of data-theme or data-mode, and"},{"name":"get_render_catalog","description":"The components an agent may compose at runtime with Mlola Render, as A2UI v0.9 messages: each component's props and allowed values, how surfaces, data binding a"},{"name":"check_render","description":"Checks A2UI messages (createSurface, updateComponents, updateDataModel, deleteSurface) against the Mlola Render catalog before they render: components and props"},{"name":"render_ui","description":"Shows an interface in the conversation: a form, a status card, a table of results. Pass A2UI messages composed from the Mlola Render catalog (read get_render_ca"},{"name":"get_install_command","description":"How to set Mlola up: the commands to run in a project to add components, blocks, pages or templates (with the license step for Mlola Pro items), and the stylesh"}],"toolCount":9,"toolsHash":"3170224e2fbf58039ac51e0b5e10c02d474737613653bf879a45afd50d0d7dc5","serverName":"mlola-ui","capabilities":["tools","resources","prompts"],"serverVersion":"1.10.3","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T05:28:41.894Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":25,"error":null,"detail":{"tools":[{"name":"get_design_rules","description":"The rules for building UI with Mlola: compose first, color by role, measure with the scales, shared state words, touch and focus. Read once before writing UI."},{"name":"search_components","description":"Find components, blocks, pages and templates by what they do (for example 'date range', 'chat input', 'pricing'). Returns name, tier (free or Mlola Pro) and a o"},{"name":"get_component","description":"Everything needed to use one item: import, every prop with fixed values (variant, tone, size, side…) and its default, the classes it styles and the data-* value"},{"name":"get_tokens","description":"The --ml-* tokens grouped by purpose (planes and ink, color roles, spacing, type, density, shape, depth, motion, layers…). Filter with a group name or part of a"},{"name":"check_markup","description":"Checks HTML or JSX: classes that do not exist, variant classes, data-* values a class does not react to, utility classes, misuse of data-theme or data-mode, and"},{"name":"get_render_catalog","description":"The components an agent may compose at runtime with Mlola Render, as A2UI v0.9 messages: each component's props and allowed values, how surfaces, data binding a"},{"name":"check_render","description":"Checks A2UI messages (createSurface, updateComponents, updateDataModel, deleteSurface) against the Mlola Render catalog before they render: components and props"},{"name":"render_ui","description":"Shows an interface in the conversation: a form, a status card, a table of results. Pass A2UI messages composed from the Mlola Render catalog (read get_render_ca"},{"name":"get_install_command","description":"How to set Mlola up: the commands to run in a project to add components, blocks, pages or templates (with the license step for Mlola Pro items), and the stylesh"}],"toolCount":9,"toolsHash":"3170224e2fbf58039ac51e0b5e10c02d474737613653bf879a45afd50d0d7dc5","serverName":"mlola-ui","capabilities":["tools","resources","prompts"],"serverVersion":"1.10.3","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T22:26:52.491Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":17,"error":null,"detail":{"tools":[{"name":"get_design_rules","description":"The rules for building UI with Mlola: compose first, color by role, measure with the scales, shared state words, touch and focus. Read once before writing UI."},{"name":"search_components","description":"Find components, blocks, pages and templates by what they do (for example 'date range', 'chat input', 'pricing'). Returns name, tier (free or Mlola Pro) and a o"},{"name":"get_component","description":"Everything needed to use one item: import, every prop with fixed values (variant, tone, size, side…) and its default, the classes it styles and the data-* value"},{"name":"get_tokens","description":"The --ml-* tokens grouped by purpose (planes and ink, color roles, spacing, type, density, shape, depth, motion, layers…). Filter with a group name or part of a"},{"name":"check_markup","description":"Checks HTML or JSX: classes that do not exist, variant classes, data-* values a class does not react to, utility classes, misuse of data-theme or data-mode, and"},{"name":"get_render_catalog","description":"The components an agent may compose at runtime with Mlola Render, as A2UI v0.9 messages: each component's props and allowed values, how surfaces, data binding a"},{"name":"check_render","description":"Checks A2UI messages (createSurface, updateComponents, updateDataModel, deleteSurface) against the Mlola Render catalog before they render: components and props"},{"name":"render_ui","description":"Shows an interface in the conversation: a form, a status card, a table of results. Pass A2UI messages composed from the Mlola Render catalog (read get_render_ca"},{"name":"get_install_command","description":"How to set Mlola up: the commands to run in a project to add components, blocks, pages or templates (with the license step for Mlola Pro items), and the stylesh"}],"toolCount":9,"toolsHash":"3170224e2fbf58039ac51e0b5e10c02d474737613653bf879a45afd50d0d7dc5","serverName":"mlola-ui","capabilities":["tools","resources","prompts"],"serverVersion":"1.10.3","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T15:32:42.433Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":18,"error":null,"detail":{"tools":[{"name":"get_design_rules","description":"The rules for building UI with Mlola: compose first, color by role, measure with the scales, shared state words, touch and focus. Read once before writing UI."},{"name":"search_components","description":"Find components, blocks, pages and templates by what they do (for example 'date range', 'chat input', 'pricing'). Returns name, tier (free or Mlola Pro) and a o"},{"name":"get_component","description":"Everything needed to use one item: import, every prop with fixed values (variant, tone, size, side…) and its default, the classes it styles and the data-* value"},{"name":"get_tokens","description":"The --ml-* tokens grouped by purpose (planes and ink, color roles, spacing, type, density, shape, depth, motion, layers…). Filter with a group name or part of a"},{"name":"check_markup","description":"Checks HTML or JSX: classes that do not exist, variant classes, data-* values a class does not react to, utility classes, misuse of data-theme or data-mode, and"},{"name":"get_render_catalog","description":"The components an agent may compose at runtime with Mlola Render, as A2UI v0.9 messages: each component's props and allowed values, how surfaces, data binding a"},{"name":"check_render","description":"Checks A2UI messages (createSurface, updateComponents, updateDataModel, deleteSurface) against the Mlola Render catalog before they render: components and props"},{"name":"render_ui","description":"Shows an interface in the conversation: a form, a status card, a table of results. Pass A2UI messages composed from the Mlola Render catalog (read get_render_ca"},{"name":"get_install_command","description":"How to set Mlola up: the commands to run in a project to add components, blocks, pages or templates (with the license step for Mlola Pro items), and the stylesh"}],"toolCount":9,"toolsHash":"3170224e2fbf58039ac51e0b5e10c02d474737613653bf879a45afd50d0d7dc5","serverName":"mlola-ui","capabilities":["tools","resources","prompts"],"serverVersion":"1.10.3","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T09:26:55.080Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":25,"error":null,"detail":{"tools":[{"name":"get_design_rules","description":"The rules for building UI with Mlola: compose first, color by role, measure with the scales, shared state words, touch and focus. Read once before writing UI."},{"name":"search_components","description":"Find components, blocks, pages and templates by what they do (for example 'date range', 'chat input', 'pricing'). Returns name, tier (free or Mlola Pro) and a o"},{"name":"get_component","description":"Everything needed to use one item: import, every prop with fixed values (variant, tone, size, side…) and its default, the classes it styles and the data-* value"},{"name":"get_tokens","description":"The --ml-* tokens grouped by purpose (planes and ink, color roles, spacing, type, density, shape, depth, motion, layers…). Filter with a group name or part of a"},{"name":"check_markup","description":"Checks HTML or JSX: classes that do not exist, variant classes, data-* values a class does not react to, utility classes, misuse of data-theme or data-mode, and"},{"name":"get_render_catalog","description":"The components an agent may compose at runtime with Mlola Render, as A2UI v0.9 messages: each component's props and allowed values, how surfaces, data binding a"},{"name":"check_render","description":"Checks A2UI messages (createSurface, updateComponents, updateDataModel, deleteSurface) against the Mlola Render catalog before they render: components and props"},{"name":"render_ui","description":"Shows an interface in the conversation: a form, a status card, a table of results. Pass A2UI messages composed from the Mlola Render catalog (read get_render_ca"},{"name":"get_install_command","description":"How to set Mlola up: the commands to run in a project to add components, blocks, pages or templates (with the license step for Mlola Pro items), and the stylesh"}],"toolCount":9,"toolsHash":"3170224e2fbf58039ac51e0b5e10c02d474737613653bf879a45afd50d0d7dc5","serverName":"mlola-ui","capabilities":["tools","resources","prompts"],"serverVersion":"1.10.3","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T02:26:46.549Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":39,"error":null,"detail":{"tools":[{"name":"get_design_rules","description":"The rules for building UI with Mlola: compose first, color by role, measure with the scales, shared state words, touch and focus. Read once before writing UI."},{"name":"search_components","description":"Find components, blocks, pages and templates by what they do (for example 'date range', 'chat input', 'pricing'). Returns name, tier (free or Mlola Pro) and a o"},{"name":"get_component","description":"Everything needed to use one item: import, every prop with fixed values (variant, tone, size, side…) and its default, the classes it styles and the data-* value"},{"name":"get_tokens","description":"The --ml-* tokens grouped by purpose (planes and ink, color roles, spacing, type, density, shape, depth, motion, layers…). Filter with a group name or part of a"},{"name":"check_markup","description":"Checks HTML or JSX: classes that do not exist, variant classes, data-* values a class does not react to, utility classes, misuse of data-theme or data-mode, and"},{"name":"get_install_command","description":"How to set Mlola up: the commands to run in a project to add components, blocks, pages or templates (with the license step for Mlola Pro items), and the stylesh"}],"toolCount":6,"toolsHash":"780375380cf09a6dc5f0398197e520480907e4dbf7c57f8f0dbb2abc858bc399","serverName":"mlola-ui","capabilities":["tools","resources","prompts"],"serverVersion":"1.9.3","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T19:22:19.464Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":35,"error":null,"detail":{"tools":[{"name":"get_design_rules","description":"The rules for building UI with Mlola: compose first, color by role, measure with the scales, shared state words, touch and focus. Read once before writing UI."},{"name":"search_components","description":"Find components, blocks, pages and templates by what they do (for example 'date range', 'chat input', 'pricing'). Returns name, tier (free or Mlola Pro) and a o"},{"name":"get_component","description":"Everything needed to use one item: import, every prop with fixed values (variant, tone, size, side…) and its default, the classes it styles and the data-* value"},{"name":"get_tokens","description":"The --ml-* tokens grouped by purpose (planes and ink, color roles, spacing, type, density, shape, depth, motion, layers…). Filter with a group name or part of a"},{"name":"check_markup","description":"Checks HTML or JSX: classes that do not exist, variant classes, data-* values a class does not react to, utility classes, misuse of data-theme or data-mode, and"},{"name":"get_install_command","description":"How to set Mlola up: the commands to run in a project to add components, blocks, pages or templates (with the license step for Mlola Pro items), and the stylesh"}],"toolCount":6,"toolsHash":"780375380cf09a6dc5f0398197e520480907e4dbf7c57f8f0dbb2abc858bc399","serverName":"mlola-ui","capabilities":["tools","resources","prompts"],"serverVersion":"1.9.3","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T12:26:25.680Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":164,"error":null,"detail":{"tools":[{"name":"get_design_rules","description":"The rules for building UI with Mlola: compose first, color by role, measure with the scales, shared state words, touch and focus. Read once before writing UI."},{"name":"search_components","description":"Find components, blocks, pages and templates by what they do (for example 'date range', 'chat input', 'pricing'). Returns name, tier (free or Mlola Pro) and a o"},{"name":"get_component","description":"Everything needed to use one item: import, every prop with fixed values (variant, tone, size, side…) and its default, the classes it styles and the data-* value"},{"name":"get_tokens","description":"The --ml-* tokens grouped by purpose (planes and ink, color roles, spacing, type, density, shape, depth, motion, layers…). Filter with a group name or part of a"},{"name":"check_markup","description":"Checks HTML or JSX: classes that do not exist, variant classes, data-* values a class does not react to, utility classes, misuse of data-theme or data-mode, and"},{"name":"get_install_command","description":"How to set Mlola up: the commands to run in a project to add components, blocks, pages or templates (with the license step for Mlola Pro items), and the stylesh"}],"toolCount":6,"toolsHash":"780375380cf09a6dc5f0398197e520480907e4dbf7c57f8f0dbb2abc858bc399","serverName":"mlola-ui","capabilities":["tools","resources","prompts"],"serverVersion":"1.9.3","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T05:21:31.296Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":21,"error":null,"detail":{"tools":[{"name":"get_design_rules","description":"The rules for building UI with Mlola: compose first, color by role, measure with the scales, shared state words, touch and focus. Read once before writing UI."},{"name":"search_components","description":"Find components, blocks, pages and templates by what they do (for example 'date range', 'chat input', 'pricing'). Returns name, tier (free or Mlola Pro) and a o"},{"name":"get_component","description":"Everything needed to use one item: import, every prop with fixed values (variant, tone, size, side…) and its default, the classes it styles and the data-* value"},{"name":"get_tokens","description":"The --ml-* tokens grouped by purpose (planes and ink, color roles, spacing, type, density, shape, depth, motion, layers…). Filter with a group name or part of a"},{"name":"check_markup","description":"Checks HTML or JSX: classes that do not exist, variant classes, data-* values a class does not react to, utility classes, misuse of data-theme or data-mode, and"},{"name":"get_install_command","description":"How to set Mlola up: the commands to run in a project to add components, blocks, pages or templates (with the license step for Mlola Pro items), and the stylesh"}],"toolCount":6,"toolsHash":"780375380cf09a6dc5f0398197e520480907e4dbf7c57f8f0dbb2abc858bc399","serverName":"mlola-ui","capabilities":["tools","resources","prompts"],"serverVersion":"1.9.3","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T22:23:21.585Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":19,"error":null,"detail":{"tools":[{"name":"get_design_rules","description":"The rules for building UI with Mlola: compose first, color by role, measure with the scales, shared state words, touch and focus. Read once before writing UI."},{"name":"search_components","description":"Find components, blocks, pages and templates by what they do (for example 'date range', 'chat input', 'pricing'). Returns name, tier (free or Mlola Pro) and a o"},{"name":"get_component","description":"Everything needed to use one item: import, every prop with fixed values (variant, tone, size, side…) and its default, the classes it styles and the data-* value"},{"name":"get_tokens","description":"The --ml-* tokens grouped by purpose (planes and ink, color roles, spacing, type, density, shape, depth, motion, layers…). Filter with a group name or part of a"},{"name":"check_markup","description":"Checks HTML or JSX: classes that do not exist, variant classes, data-* values a class does not react to, utility classes, misuse of data-theme or data-mode, and"},{"name":"get_install_command","description":"How to set Mlola up: the commands to run in a project to add components, blocks, pages or templates (with the license step for Mlola Pro items), and the stylesh"}],"toolCount":6,"toolsHash":"780375380cf09a6dc5f0398197e520480907e4dbf7c57f8f0dbb2abc858bc399","serverName":"mlola-ui","capabilities":["tools","resources","prompts"],"serverVersion":"1.9.3","protocolVersion":"2025-06-18"}}],"tools":[{"name":"get_design_rules","description":"The rules for building UI with Mlola: compose first, color by role, measure with the scales, shared state words, touch and focus. Read once before writing UI."},{"name":"search_components","description":"Find components, blocks, pages and templates by what they do (for example 'date range', 'chat input', 'pricing'). Returns name, tier (free or Mlola Pro) and a o"},{"name":"get_component","description":"Everything needed to use one item: import, every prop with fixed values (variant, tone, size, side…) and its default, the classes it styles and the data-* value"},{"name":"get_tokens","description":"The --ml-* tokens grouped by purpose (planes and ink, color roles, spacing, type, density, shape, depth, motion, layers…). Filter with a group name or part of a"},{"name":"check_markup","description":"Checks HTML or JSX: classes that do not exist, variant classes, data-* values a class does not react to, utility classes, misuse of data-theme or data-mode, and"},{"name":"get_render_catalog","description":"The components an agent may compose at runtime with Mlola Render, as A2UI v0.9 messages: each component's props and allowed values, how surfaces, data binding a"},{"name":"check_render","description":"Checks A2UI messages (createSurface, updateComponents, updateDataModel, deleteSurface) against the Mlola Render catalog before they render: components and props"},{"name":"render_ui","description":"Shows an interface in the conversation: a form, a status card, a table of results. Pass A2UI messages composed from the Mlola Render catalog (read get_render_ca"},{"name":"get_install_command","description":"How to set Mlola up: the commands to run in a project to add components, blocks, pages or templates (with the license step for Mlola Pro items), and the stylesh"}],"package":null,"toolSurface":{"id":"ts_vpuucbp7pe6a","endpointId":"ep_gurpms298knx","hash":"3170224e2fbf58039ac51e0b5e10c02d474737613653bf879a45afd50d0d7dc5","toolCount":9,"serverName":"mlola-ui","serverVersion":"1.10.3","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-09T09:26:55.084Z","lastSeenAt":"2026-10-10T12:28:16.423Z","observations":5,"toolNames":["get_design_rules","search_components","get_component","get_tokens","check_markup","get_render_catalog","check_render","render_ui","get_install_command"],"distinctSurfaces":4},"endpointFacts":[{"id":"ep_gurpms298knx","url":"https://ui.mlola.com/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-07T22:23:21.596Z","auth":{"observedAt":"2026-10-07T22:23:21.615Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-07T22:23:21.650Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"ui.mlola.com","issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validFrom":"2026-09-25T09:46:55.000Z","validTo":"2026-12-24T09:46:54.000Z","daysToExpiry":74,"sanCount":1,"fingerprint256":"F7:36:2D:18:6B:09:74:3A:7B:CE:C0:BE:9D:10:B5:27:C2:EE:02:17:C3:E2:49:F8:58:C4:0D:12:0B:3B:7B:B5"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.mlolahq/mlola-ui","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.mlolahq%2Fmlola-ui","firstSeenAt":"2026-09-29T09:22:26.965Z","fetchedAt":"2026-10-07T20:22:30.965Z","normalizedAt":"2026-10-07T20:22:30.965Z"}]},"firstSeenAt":"2026-09-29T09:22:26.965Z","updatedAt":"2026-10-10T12:31:22.636Z"}