{"name":"design.sleek/sleek","slug":"sleek","title":"Sleek","description":"Design your mobile app UI with AI, then have your coding agent build the real app from it.","url":"https://mcp.market/server/sleek","rating":null,"grade":"B","score":71,"certified":false,"status":"active","category":"ai","tags":["ai","media"],"presence":{"score":23,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-10-15T10:24:28.000Z","license":"MIT"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T06:30:52.091Z","last_ok_at":"2026-11-04T06:30:52.091Z","latency_ms":220},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/sleekdotdesign/mcp","website":"https://sleek.design/agents","version":"1.0.1","remotes":[{"type":"streamable-http","url":"https://sleek.design/api/mcp"}],"packages":[],"tools":[{"name":"cancel_design_run","description":"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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"projectId":{"type":"string","minLength":1,"description":"Project id from an item's id in list_projects, or data.id in create_project."},"runId":{"type":"string","minLength":1,"description":"Run id from data.runId in a design result."}},"required":["projectId","runId"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"create_project","description":"Create an empty project, then call design and screenshot. Creation is free and instant. Only design runs spend credits. Share projectUrl so your user can watch and edit the designs.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200,"description":"Display name for the new project."}},"required":["name"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"delete_project","description":"Permanently 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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"projectId":{"type":"string","description":"Project id from an item's id in list_projects, or data.id in create_project."},"confirm":{"type":"boolean","const":true,"description":"Set only after your user confirms this exact project by name. Deletion is irreversible."}},"required":["projectId","confirm"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"design","description":"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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"projectId":{"type":"string","minLength":1,"description":"Project id from an item's id in list_projects, or data.id in create_project."},"message":{"type":"string","minLength":1,"description":"The full design brief, as one message. Name every screen you want in this single request."},"imageUrls":{"default":[],"description":"HTTPS image URLs for visual input, such as screenshots, logos, or style references.","type":"array","items":{"type":"string","format":"uri"}},"screenId":{"description":"Edit this existing screen instead of creating new ones. Use the screenId from list_components, or from a previous run's data.result.operations (via design or get_design_run). It is not the component id.","type":"string","minLength":1},"referenceId":{"description":"Design reference to imitate, from list_references.","type":"string","minLength":1,"maxLength":64},"wait":{"default":true,"description":"Wait for the run to finish before returning. The wait is capped at 270 seconds, after which you get status 'running' back and poll get_design_run. Set false to return immediately and poll from the start, which is the better choice if your client times tool calls out sooner than that.","type":"boolean"},"idempotencyKey":{"description":"Pick a unique key for each new design request, such as a UUID. Reuse it for retries to return the original run without a second charge.","type":"string","maxLength":255}},"required":["projectId","message"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_component","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"projectId":{"type":"string","description":"Project id from an item's id in list_projects, or data.id in create_project."},"componentId":{"type":"string","description":"Component id from an item's id in list_components, or a componentId in a run's data.result.operations. Not a screenId."},"inlineIcons":{"default":false,"description":"Inline icons as SVG so the HTML works without loading Iconify.","type":"boolean"},"allVersions":{"default":false,"description":"Return every stored version instead of just the active one. Payloads grow quickly; leave it off unless you need the history.","type":"boolean"}},"required":["projectId","componentId"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_design_run","description":"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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"projectId":{"type":"string","minLength":1,"description":"Project id from an item's id in list_projects, or data.id in create_project."},"runId":{"type":"string","minLength":1,"description":"Run id from data.runId in a design result."}},"required":["projectId","runId"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_project","description":"Fetch 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"projectId":{"type":"string","description":"Project id from an item's id in list_projects, or data.id in create_project."}},"required":["projectId"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"list_components","description":"List 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"projectId":{"type":"string","description":"Project id from an item's id in list_projects, or data.id in create_project."},"limit":{"default":50,"description":"Number of items to return.","type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"description":"Number of items to skip before this page.","type":"integer","minimum":0,"maximum":9007199254740991}},"required":["projectId"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"list_projects","description":"List 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"default":50,"description":"Number of items to return.","type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"description":"Number of items to skip before this page.","type":"integer","minimum":0,"maximum":9007199254740991}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"list_references","description":"List 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"default":50,"description":"Number of items to return.","type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"description":"Number of items to skip before this page.","type":"integer","minimum":0,"maximum":9007199254740991}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"screenshot","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"projectId":{"type":"string","minLength":1,"description":"Project id from an item's id in list_projects, or data.id in create_project."},"componentIds":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"string","minLength":1},"description":"Component id from an item's id in list_components, or a componentId in a run's data.result.operations. Not a screenId. Screens render left to right. Render more than 4 in separate calls."},"format":{"default":"png","description":"Image encoding for the screenshot.","type":"string","enum":["png","webp"]},"scale":{"default":1,"description":"Pixel density. 1 is right for showing a design in chat; raise it only when the user asked for a high-resolution export.","type":"integer","minimum":1,"maximum":3},"fullHeight":{"default":false,"description":"Expand each frame to the full height of its content before capturing, so scrollable screens are rendered fully extended rather than cut off at the bottom of the frame. Frames are capped at 4x the default frame height.","type":"boolean"},"background":{"default":"transparent","description":"CSS background behind the frames, such as \"#ffffff\" or \"transparent\".","type":"string"},"padding":{"default":40,"description":"Space in pixels on each side of the row of frames.","type":"integer","minimum":0,"maximum":9007199254740991}},"required":["projectId","componentIds"],"$schema":"http://json-schema.org/draft-07/schema#"}}],"scan":{"score":71,"grade":"B","scanned_at":"2026-10-15T11:56:59.262Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-15T11:56:56.891Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":12,"max":20,"notes":["remote reachable in 5966ms"]},"poisoning":{"score":15,"max":15,"notes":["11 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 5 write-action tools with no auth"]},"maintenance":{"score":15,"max":15,"notes":["last push 0 days ago"]},"identity":{"score":8,"max":10,"notes":["namespace and repository owner differ","GitHub account older than a year","website matches verified namespace"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"}],"inputs":{"probes":[{"url":"https://sleek.design/api/mcp","reachable":true,"authRequired":false,"latencyMs":5966,"serverInfo":{"name":"sleek","version":"1.0.1"}}],"packages":[],"repo":{"found":true,"owner":"sleekdotdesign","repo":"mcp","archived":false,"pushedAt":"2026-10-15T10:24:28Z","stars":0,"forks":0,"openIssues":0,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/173444095?v=4","ownerCreatedAt":"2024-06-21T07:04:25Z","license":"MIT"},"icon":{"url":"https://sleek.design/icon.svg","source":"registry"},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-10-15T10:24:28.000Z","score":23}}}},"grade_history":[],"reviews":[]}