Skip to main content
Glama

Search Screens

search_screens
Read-only

Search Mobbin for UI screens using natural language. Returns matching screens with inline images and metadata. Examine the returned images to understand each screen's actual content — do not describe or summarize screens based solely on metadata. Each screen has a mobbin_url — the canonical Mobbin link for that screen. When you present results to the user, ALWAYS cite each screen you mention as a markdown link to its mobbin_url so the user can open it on Mobbin. Inline images are low-res previews for you to read, not for the user. Each result's image_url is the high-resolution image. Whenever the user wants to save, export, embed, or paste a result (files, Figma, Notion, docs, slides), download it from image_url instead of reusing the inline preview. Image URLs expire after 30 days, so download the file rather than linking to it; link to mobbin_url when citing. If the result contains ai_usage_notice, show its text markdown to the user word for word, as its own block after the results, keeping its formatting and line breaks. Do not paraphrase, shorten, or merge it with other text. On hosts that support MCP Apps, also renders an interactive gallery of the results.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNoSearch mode. "standard" returns results with low latency. "deep" uses an AI-powered pipeline that interprets intent and scores each candidate for relevance, keeping the strong matches — ideal for nuanced queries. "fast" is a deprecated alias for "standard" and will be removed in a future version — use "standard" instead.deep
limitNoMaximum number of screens to return. Higher number of screens returned causes increased context usage.
queryYesDescribe one screen in plain language, starting with what kind of screen it is ("paywall", "settings screen"). Add a state or UI element only when the user asked for it or their problem depends on it: each one narrows the results. Good: "user profile screen", "checkout page with promo code field and Apple Pay button". Avoid: combining multiple screens/intents (search separately), parts the user didn't ask for ("profile screen with avatar and follower counts"), vague style words ("modern", "clean"), disconnected keyword lists. Name a specific app to filter results to it (e.g. "Spotify now-playing screen"). Do not include platform (ios/web) — use the dedicated parameter.
platformYesPlatform to search
output_toolNoThe product the results go into next, not a later step, if known, e.g. Figma, Paper, Notion. Product name only. When the results go into more than one product, name the one the user asked for first. Not the search source: Mobbin only when the results go back to Mobbin. Omit when unknown. MUST be the same across all calls for the same task.
task_intentNoOne short sentence summarizing the user's overall task. Helps return more relevant results. Write it in English even when the conversation is in another language. MUST be the same across all calls for the same task. Do NOT include verbatim user messages, conversation history, file contents, or personal data.
image_formatNoImage format. Use jpg if your client does not support webp.webp
exclude_screen_idsNoScreen IDs to exclude from results
output_destinationNoWhat you will do with the results after this call. Choose by what gets made with the results, not by the search itself. When the request does not say, go by where you are running: a coding agent in a repository means `code`, a design tool means `design_tool`, a plain chat host means `chat`. Helps return results in the form the workflow needs. `code`: implement or change UI in a codebase or coded prototype, also when looking up examples to base it on first, e.g. React, Swift, HTML/CSS, v0, Lovable. `design_tool`: recreate or put results on a design canvas, e.g. Figma, Paper, Pen.dev, MagicPath. `doc`: write a report, PRD, spec, audit or slides, e.g. in Notion, Google Docs or Slides. `reference_library`: only when saving is the ask: the user wants the results kept for later in a folder, notes or a Mobbin collection. Looking things up to build, design or write from is NOT this. `chat`: only answer in the conversation; the user has not asked you to build, design, write or save anything. `other`: an unlisted destination, none of the above, e.g. posting the results to Slack or email. MUST be the same across all calls for the same task.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesThe natural language query used for this search.
screensYes
ai_usage_noticeNoPresent only when the user's AI usage is high.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / query / description
      Previous value: -"Describe one screen in plain language — the UI elements you'd see and how they relate. Be specific; detail helps. Good: \"login screen with biometric authentication\", \"checkout page with promo code field and Apple Pay button\". Avoid: combining multiple screens/intents (search separately), negations (\"without ads\"), vague style words (\"modern\", \"clean\"), disconnected keyword lists. Name a specific app to filter results to it (e.g. \"Spotify now-playing screen\"). Do not include platform (ios/web) — use the dedicated parameter."New value: +"Describe one screen in plain language, starting with what kind of screen it is (\"paywall\", \"settings screen\"). Add a state or UI element only when the user asked for it or their problem depends on it: each one narrows the results. Good: \"user profile screen\", \"checkout page with promo code field and Apple Pay button\". Avoid: combining multiple screens/intents (search separately), parts the user didn't ask for (\"profile screen with avatar and follower counts\"), vague style words (\"modern\", \"clean\"), disconnected keyword lists. Name a specific app to filter results to it (e.g. \"Spotify now-playing screen\"). Do not include platform (ios/web) — use the dedicated parameter."
    • changedInput schema / required
      Previous value: -[
      -  "query",
      -  "platform"
      -]New value: +[
      +  "platform",
      +  "query"
      +]
  2. Changed2 schema fields changed
    • changedInput schema / properties / output_destination / description
      Previous value: -"What you will do with the results after this call. Choose by what gets made with the results, not by the search itself. When the request does not say, go by where you are running: a coding agent in a repository means `code`, a design tool means `design_tool`, a plain chat host means `chat`. Helps return results in the form the workflow needs. `code`: implement or change UI in a codebase or coded prototype, e.g. React, Swift, HTML/CSS, v0, Lovable. `design_tool`: recreate or put results on a design canvas, e.g. Figma, Paper, Pen.dev, MagicPath. `doc`: write a report, PRD, spec, audit or slides, e.g. in Notion, Google Docs or Slides. `reference_library`: only when saving is the ask: the user wants the results kept for later in a folder, notes or a Mobbin collection. Looking things up to build, design or write from is NOT this. `chat`: only answer in the conversation; the user has not asked you to build, design, write or save anything. `other`: an unlisted destination, none of the above, e.g. posting the results to Slack or email. MUST be the same across all calls for the same task."New value: +"What you will do with the results after this call. Choose by what gets made with the results, not by the search itself. When the request does not say, go by where you are running: a coding agent in a repository means `code`, a design tool means `design_tool`, a plain chat host means `chat`. Helps return results in the form the workflow needs. `code`: implement or change UI in a codebase or coded prototype, also when looking up examples to base it on first, e.g. React, Swift, HTML/CSS, v0, Lovable. `design_tool`: recreate or put results on a design canvas, e.g. Figma, Paper, Pen.dev, MagicPath. `doc`: write a report, PRD, spec, audit or slides, e.g. in Notion, Google Docs or Slides. `reference_library`: only when saving is the ask: the user wants the results kept for later in a folder, notes or a Mobbin collection. Looking things up to build, design or write from is NOT this. `chat`: only answer in the conversation; the user has not asked you to build, design, write or save anything. `other`: an unlisted destination, none of the above, e.g. posting the results to Slack or email. MUST be the same across all calls for the same task."
    • changedInput schema / properties / output_tool / description
      Previous value: -"The product the results go into next, if known, e.g. Figma, Paper, Notion. Product name only. When the results go into more than one product, name the one the user asked for first. Not the search source: Mobbin only when the results go back to Mobbin. Omit when unknown. MUST be the same across all calls for the same task."New value: +"The product the results go into next, not a later step, if known, e.g. Figma, Paper, Notion. Product name only. When the results go into more than one product, name the one the user asked for first. Not the search source: Mobbin only when the results go back to Mobbin. Omit when unknown. MUST be the same across all calls for the same task."
  3. Changed5 schema fields changed
    • addedOutput schema / properties / ai_usage_notice / additionalProperties
      Added value: +false
    • changedOutput schema / properties / ai_usage_notice / description
      Previous value: -"Present only when the user's AI usage is high. Show this markdown to the user word for word after presenting the results, keeping its formatting and line breaks."New value: +"Present only when the user's AI usage is high."
    • addedOutput schema / properties / ai_usage_notice / properties
      Added value: +{
      +  "credits_used": {
      +    "description": "Credits used in the current period.",
      +    "type": "number"
      +  },
      +  "text": {
      +    "description": "Show this markdown to the user word for word after presenting the results, keeping its formatting and line breaks.",
      +    "type": "string"
      +  }
      +}
    • addedOutput schema / properties / ai_usage_notice / required
      Added value: +[
      +  "text",
      +  "credits_used"
      +]
    • changedOutput schema / properties / ai_usage_notice / type
      Previous value: -"string"New value: +"object"
  4. Changed1 schema field changed
    • addedOutput schema / properties / ai_usage_notice
      Added value: +{
      +  "description": "Present only when the user's AI usage is high. Show this markdown to the user word for word after presenting the results, keeping its formatting and line breaks.",
      +  "type": "string"
      +}
  5. Changed2 schema fields changed
    • addedInput schema / properties / output_destination
      Added value: +{
      +  "description": "What you will do with the results after this call. Choose by what gets made with the results, not by the search itself. When the request does not say, go by where you are running: a coding agent in a repository means `code`, a design tool means `design_tool`, a plain chat host means `chat`. Helps return results in the form the workflow needs. `code`: implement or change UI in a codebase or coded prototype, e.g. React, Swift, HTML/CSS, v0, Lovable. `design_tool`: recreate or put results on a design canvas, e.g. Figma, Paper, Pen.dev, MagicPath. `doc`: write a report, PRD, spec, audit or slides, e.g. in Notion, Google Docs or Slides. `reference_library`: only when saving is the ask: the user wants the results kept for later in a folder, notes or a Mobbin collection. Looking things up to build, design or write from is NOT this. `chat`: only answer in the conversation; the user has not asked you to build, design, write or save anything. `other`: an unlisted destination, none of the above, e.g. posting the results to Slack or email. MUST be the same across all calls for the same task.",
      +  "enum": [
      +    "code",
      +    "design_tool",
      +    "doc",
      +    "reference_library",
      +    "chat",
      +    "other"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / output_tool
      Added value: +{
      +  "description": "The product the results go into next, if known, e.g. Figma, Paper, Notion. Product name only. When the results go into more than one product, name the one the user asked for first. Not the search source: Mobbin only when the results go back to Mobbin. Omit when unknown. MUST be the same across all calls for the same task.",
      +  "type": "string"
      +}
  6. Changed1 schema field changed
    • changedOutput schema / properties / screens / items / properties / image_url / description
      Previous value: -"Image URL for the screen. Expires after 30 days."New value: +"High-resolution image URL (up to 1920px wide). Download from it whenever the user wants to save, export, embed, or paste the image. Expires after 30 days."
  7. Changed1 schema field changed
    • changedInput schema / properties / task_intent / description
      Previous value: -"One short sentence summarizing the user's overall task. Helps return more relevant results. MUST be the same across all calls for the same task. Do NOT include verbatim user messages, conversation history, file contents, or personal data."New value: +"One short sentence summarizing the user's overall task. Helps return more relevant results. Write it in English even when the conversation is in another language. MUST be the same across all calls for the same task. Do NOT include verbatim user messages, conversation history, file contents, or personal data."
  8. Changed1 schema field changed
    • addedInput schema / properties / task_intent
      Added value: +{
      +  "description": "One short sentence summarizing the user's overall task. Helps return more relevant results. MUST be the same across all calls for the same task. Do NOT include verbatim user messages, conversation history, file contents, or personal data.",
      +  "type": "string"
      +}
  9. First observed

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare a safe read-only operation, and the description adds substantial behavioral context beyond them: inline images are low-resolution previews, image_url is the high-resolution source, URLs expire after 30 days, ai_usage_notice must be shown verbatim, and results may render as an interactive gallery on MCP Apps hosts. These details materially affect how an agent should consume and present results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core action and then provides necessary post-search handling instructions. It is lengthy, but most sentences carry operational requirements; there is minor redundancy around image previews versus high-resolution images, keeping it just below full marks.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the rich schema coverage, output schema, and annotations, the description is complete for an agent to call the tool and use its results correctly. It covers result interpretation, citation, export behavior, expiration, required notice display, and optional gallery rendering.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all nine parameters are already documented in the input schema. The description reinforces that the query should use natural language but does not add syntax or selection guidance for individual parameters such as mode, limit, platform, output_destination, or task_intent beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: "Search Mobbin for UI screens using natural language." This clearly identifies the tool's function, and the resource "screens" implicitly separates it from sibling tools search_flows and search_sections. However, it does not explicitly contrast itself with those alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives detailed usage guidance for handling results, such as examining images, citing mobbin_url, and downloading from image_url when exporting. But it does not explicitly say when to choose search_screens over sibling search_flows or search_sections, leaving that choice to inference from the tool name and resource.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.