protogrid

Search / design.sleek/sleek

Sleek

R0· no sign-in

Design your mobile app UI with AI, then have your coding agent build the real app from it.

v1.0.1 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality94new
Trust96of 100
Uptime, 30 days100%
Latency p50195 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "sleek": {
      "type": "http",
      "url": "https://sleek.design/api/mcp"
    }
  }
}
claude mcp add --transport http sleek https://sleek.design/api/mcp
[mcp_servers.sleek]
url = "https://sleek.design/api/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "sleek": {
      "type": "remote",
      "url": "https://sleek.design/api/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "sleek": {
      "type": "http",
      "url": "https://sleek.design/api/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=sleek&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vc2xlZWsuZGVzaWduL2FwaS9tY3AifQ%3D%3D"
}
{
  "servers": {
    "sleek": {
      "type": "http",
      "url": "https://sleek.design/api/mcp"
    }
  }
}
{
  "mcpServers": {
    "sleek": {
      "httpUrl": "https://sleek.design/api/mcp"
    }
  }
}
extensions:
  "sleek":
    enabled: true
    name: "sleek"
    type: streamable_http
    uri: "https://sleek.design/api/mcp"
    timeout: 300

Quality 94 / 100new

protocol88 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • warn
    protocol.list_ttltools/list declares ttlMs 0, so clients re-fetch it on every use
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene100 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations12 of 12 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 3,003 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stabilityn/a · weight 15
  • n/a
    stability.changes, stability.rug_pulltool history recorded for 5 of the 7 days needed
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

12 tools, about 3,003 tokens to load them all · tool set 72876f4e5b2d · tools last changed 2026-10-19 · checked 2026-10-20 12:13 UTC

Tool changes

  • search_mentionsadded

    Find the workspace's projects by name for an @ mention, newest first. Each item is a resource link whose name is the projectId and whose uri is the projectUrl. To browse every project, use list_projects.

  • cancel_design_runchangedoutput schema
  • get_design_runchangeddescription, output schema
    before

    Poll a run that design returned as 'queued' or 'running'. Wait a few seconds between polls. On 'completed', data.result.operations lists the saved screens and theme changes. Share projectUrl and call screenshot. On 'failed', read data.error.message and send your user to data.error.url if present. A failed run, including a cancelled one, keeps what it saved in that same list and uses credits only when the list is not empty. Check it before resending the brief.

    after · 94% of words in common

    Poll a run that design returned as 'queued' or 'running'. Wait a few seconds between polls. On 'completed', data.result.operations lists the saved screens and theme changes. Share projectUrl and call screenshot. On 'failed', relay data.error.message to your user, with data.error.url if present. A failed run, including a cancelled one, keeps what it saved in that same list and uses credits only when the list is not empty. Check it before resending the brief.

  • designchangeddescription, output schema
    before

    Run Sleek's design agent to create or edit screens from a plain-language brief. Send the whole request as ONE message, such as 'a food delivery app with onboarding, restaurants, dish detail, cart, tracking, and profile'. The agent plans the screens together, so separate calls produce mismatched screens. A run uses workspace credits only when it completes or saves changes. By default this waits for the run to finish. If it returns 'queued' or 'running', poll get_design_run. Only one run can be active per project. On CONFLICT, poll get_design_run until the run settles, then retry. cancel_design_run stops it sooner. If a failed run has data.error.url, send your user there. They have to act before you retry. On completion, share projectUrl with your user and call screenshot.

    after · 96% of words in common

    Run Sleek's design agent to create or edit screens from a plain-language brief. Send the whole request as ONE message, such as 'a food delivery app with onboarding, restaurants, dish detail, cart, tracking, and profile'. The agent plans the screens together, so separate calls produce mismatched screens. A run uses workspace credits only when it completes or saves changes. By default this waits for the run to finish. If it returns 'queued' or 'running', poll get_design_run. Only one run can be active per project. On CONFLICT, poll get_design_run until the run settles, then retry. cancel_design_run stops it sooner. If a failed run has data.error.url, relay data.error.message to your user with that link. They have to act before you retry. On completion, share projectUrl with your user and call screenshot.

  • screenshotchangeddescription
    before

    Render up to four project screens as one inline image, after a design run completes. Rendering is free. Send projectUrl with the image so your user can open and edit the designs.

    after · 62% of words in common

    Render up to four project screens side by side as one inline image, after a design run completes. Returns the image, PNG unless format asks for WebP, and a one-line text note. Rendering uses no credits. Send projectUrl with the image so your user can open and edit the designs.

  • cancel_design_runchangeddescription, output schema, annotations
    before

    Ask a design run to stop, for example when the brief was wrong. A queued run never starts. A running run stops at its next step and stays 'running' until it settles. A run cut short settles as 'failed' with error code 'cancelled', or 'execution_failed' if saving its changes failed. It keeps any screens and theme changes it saved, listed in data.result.operations, and is charged only when that list is not empty. A run that had already finished settles as 'completed'. The project stays locked until the run settles, so poll get_design_run before starting another run. A run that stopped responding settles as 'failed' with error code 'execution_timeout' 15 minutes after creation.

    after · 84% of words in common

    Ask a design run to stop, for example when the brief was wrong. Returns the run as it stands right after the request. A queued run comes back 'failed' with error code 'cancelled' and never starts. A running run comes back still 'running' and stops at its next step. A run cut short settles as 'failed' with error code 'cancelled', or 'execution_failed' if saving its changes failed. It keeps any screens and theme changes it saved, listed in data.result.operations, and uses credits only when that list is not empty. A run that finishes before it stops settles as 'completed'. A run that had already settled comes back unchanged. The project stays locked until the run settles, so poll get_design_run before starting another run. A run that stopped responding settles as 'failed' with error code 'execution_timeout' 15 minutes after creation.

  • get_design_runchangeddescription, output schema
    before

    Poll a run that design returned as 'queued' or 'running'. Wait a few seconds between polls. On 'completed', data.result.operations lists the saved screens and theme changes. Share projectUrl and call screenshot. On 'failed', read data.error.message and send your user to data.error.url if present. A failed run, including a cancelled one, keeps what it saved in that same list and is charged only when the list is not empty. Check it before resending the brief.

    after · 95% of words in common

    Poll a run that design returned as 'queued' or 'running'. Wait a few seconds between polls. On 'completed', data.result.operations lists the saved screens and theme changes. Share projectUrl and call screenshot. On 'failed', read data.error.message and send your user to data.error.url if present. A failed run, including a cancelled one, keeps what it saved in that same list and uses credits only when the list is not empty. Check it before resending the brief.

  • designchangeddescription, input schema, output schema, annotations
    before

    Run Sleek's design agent to create or edit screens from a plain-language brief. Send the whole request as ONE message, such as 'a food delivery app with onboarding, restaurants, dish detail, cart, tracking, and profile'. The agent plans the screens together, so separate calls produce mismatched screens. A run spends workspace credits when it completes or saves changes. By default this waits for the run to finish. If it returns 'queued' or 'running', poll get_design_run. Only one run can be active per project. On CONFLICT, poll get_design_run until the run settles, then retry. cancel_design_run stops it sooner. If a failed run has data.error.url, your user has to act there, such as topping up credits, before you retry. On completion, share projectUrl with your user and call screenshot.

    after · 94% of words in common

    Run Sleek's design agent to create or edit screens from a plain-language brief. Send the whole request as ONE message, such as 'a food delivery app with onboarding, restaurants, dish detail, cart, tracking, and profile'. The agent plans the screens together, so separate calls produce mismatched screens. A run uses workspace credits only when it completes or saves changes. By default this waits for the run to finish. If it returns 'queued' or 'running', poll get_design_run. Only one run can be active per project. On CONFLICT, poll get_design_run until the run settles, then retry. cancel_design_run stops it sooner. If a failed run has data.error.url, send your user there. They have to act before you retry. On completion, share projectUrl with your user and call screenshot.

  • list_referenceschangedoutput schema
  • get_componentchangeddescription, output schema
    before

    Fetch a screen's generated HTML. Returns only the version the screen currently shows. Use allVersions for the full history, which can be large. The returned screenId is the value design takes. Use this for a build handoff, not to check whether a design run worked.

    after · 84% of words in common

    Fetch a screen's generated HTML. Returns the screen in data, with the HTML at data.versions[].code. versions holds only the version the screen currently shows. Use allVersions for the full history, which can be large. The returned screenId is the value design takes. Use this for a build handoff, not to check whether a design run worked.

Showing the latest 10. Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 96 / 100

provenance85
liveness100
freshness100
hygiene100

+repository +dns-namespace +website +reachable +uptime-100% +updated-5d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://sleek.design/api/mcp streamable-httpnoneyes100%195 ms2026-07-282026-10-20

Tools (12)

cancel_design_rundestructiveAsk a design run to stop, for example when the brief was wrong. Returns the run as it stands right after the request. A queued run comes back 'failed' with error code 'cancelled' and never starts. A running run comes back still 'running' and stops at its next step. A run cut short settles as 'failed' with error code 'cancelled', or 'execution_failed' if saving its changes failed. It keeps any screens and theme changes it saved, listed in data.result.operations, and uses credits only when that list is not empty. A run that finishes before it stops settles as 'completed'. A run that had already settled comes back unchanged. The project stays locked until the run settles, so poll get_design_run before starting another run. A run that stopped responding settles as 'failed' with error code 'execution_timeout' 15 minutes after creation.
create_projectCreate an empty project. Returns it in data, plus projectUrl. Pass data.id as projectId to design, then call screenshot. Creating a project is instant and uses no credits. Only design runs do. Share projectUrl so your user can watch and edit the designs.
delete_projectdestructivePermanently delete a project and all its screens. Designs cannot be recovered. Call only after your user confirms the exact project by name. Never delete projects to tidy up on your own initiative.
designdestructiveRun Sleek's design agent to create or edit screens from a plain-language brief. Send the whole request as ONE message, such as 'a food delivery app with onboarding, restaurants, dish detail, cart, tracking, and profile'. The agent plans the screens together, so separate calls produce mismatched screens. A run uses workspace credits only when it completes or saves changes. By default this waits for the run to finish. If it returns 'queued' or 'running', poll get_design_run. Only one run can be active per project. On CONFLICT, poll get_design_run until the run settles, then retry. cancel_design_run stops it sooner. If a failed run has data.error.url, relay data.error.message to your user with that link. They have to act before you retry. On completion, share projectUrl with your user and call screenshot.
get_componentread-onlyFetch a screen's generated HTML. Returns the screen in data, with the HTML at data.versions[].code. versions holds only the version the screen currently shows. Use allVersions for the full history, which can be large. The returned screenId is the value design takes. Use this for a build handoff, not to check whether a design run worked.
get_design_runread-onlyPoll a run that design returned as 'queued' or 'running'. Wait a few seconds between polls. On 'completed', data.result.operations lists the saved screens and theme changes. Share projectUrl and call screenshot. On 'failed', relay data.error.message to your user, with data.error.url if present. A failed run, including a cancelled one, keeps what it saved in that same list and uses credits only when the list is not empty. Check it before resending the brief.
get_projectread-onlyFetch a project and its projectUrl. Use it to confirm the project exists and share the URL with your user. Use list_components to see its screens.
list_componentsread-onlyList a project's screen names and active version numbers without generated HTML. Pass each item's screenId to design. Pass its id as componentId to get_component or in componentIds to screenshot. Use get_component only when you need a screen's code.
list_projectsread-onlyList the workspace's projects, newest first. Each project holds one app's screens, theme, and design chat. Check here before create_project to avoid duplicates.
list_referencesread-onlyList curated app styles and their preview images. When your user asks for a look such as Airbnb, brutalist, or dark fintech, pass the closest reference's id as referenceId to design. Without a reference, the agent picks a style.
screenshotread-onlyRender up to four project screens side by side as one inline image, after a design run completes. Returns the image, PNG unless format asks for WebP, and a one-line text note. Rendering uses no credits. Send projectUrl with the image so your user can open and edit the designs.
search_mentionsread-onlyFind the workspace's projects by name for an @ mention, newest first. Each item is a resource link whose name is the projectId and whose uri is the projectUrl. To browse every project, use list_projects.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "design.sleek/sleek",
  "icons": [
    {
      "src": "https://sleek.design/icon.svg",
      "sizes": [
        "any"
      ],
      "mimeType": "image/svg+xml"
    }
  ],
  "title": "Sleek",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://sleek.design/api/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "1.0.1",
  "repository": {
    "url": "https://github.com/sleekdotdesign/mcp",
    "source": "github"
  },
  "websiteUrl": "https://sleek.design/agents",
  "description": "Design your mobile app UI with AI, then have your coding agent build the real app from it."
}