Skip to main content
Glama

Search Flows

search_flows
Read-only

Search Mobbin for multi-step user flows (e.g. onboarding, checkout) using natural language. Returns evenly-spaced preview images inline along with metadata for each flow, including per-screen previews. Examine the returned images to understand each flow's actual content — do not describe screens based solely on metadata. 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. On hosts that support MCP Apps, also renders an interactive gallery of the results.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "query": "<query>",
      "platform": "<platform>"
    },
    "name": "search_flows"
  }
}

Input Schema

NameRequiredDescriptionDefault
pageNoPage number for paginating through results. Maximum 20.
limitNoMaximum number of flows to return. Lower limits are recommended to manage context size.
queryYesDescribe one user journey in plain language: what kind of journey it is ("onboarding", "password reset"), with the kind of app when the user names one ("banking app", "fitness app"). The kind of app is part of the request, so include it in the query. Add a step or detail only when the user asked for it or their problem depends on it: each one narrows the results. Good: "banking app onboarding", "checkout with payment method selection". Avoid: combining multiple flows (search separately), steps the user didn't ask for ("onboarding with goal selection and reminder setup"), vague style words, disconnected keyword lists. Name a specific app to filter results to it (e.g. "Duolingo onboarding"). 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
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

NameRequiredDescriptionDefault
pageYes1-based page number of search results.
flowsYes
queryYesThe natural language query used for this search.
has_next_pageYesWhether more pages of results are available.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / query / description
      Previous value: -"Describe one user journey in plain language, starting with what kind of journey it is (\"onboarding\", \"password reset\"). Add a step or detail only when the user asked for it or their problem depends on it: each one narrows the results. Good: \"onboarding\", \"checkout with payment method selection\". Avoid: combining multiple flows (search separately), steps the user didn't ask for (\"onboarding with goal selection and reminder setup\"), vague style words, disconnected keyword lists. Name a specific app to filter results to it (e.g. \"Duolingo onboarding\"). Do not include platform (ios/web) — use the dedicated parameter."New value: +"Describe one user journey in plain language: what kind of journey it is (\"onboarding\", \"password reset\"), with the kind of app when the user names one (\"banking app\", \"fitness app\"). The kind of app is part of the request, so include it in the query. Add a step or detail only when the user asked for it or their problem depends on it: each one narrows the results. Good: \"banking app onboarding\", \"checkout with payment method selection\". Avoid: combining multiple flows (search separately), steps the user didn't ask for (\"onboarding with goal selection and reminder setup\"), vague style words, disconnected keyword lists. Name a specific app to filter results to it (e.g. \"Duolingo onboarding\"). Do not include platform (ios/web) — use the dedicated parameter."
  2. Changed1 schema field changed
    • changedInput schema / properties / query / description
      Previous value: -"Describe one user journey in plain language — the steps and what you'd see along the way. Be specific; detail helps. Good: \"onboarding with personalization steps\", \"checkout with payment method selection\". Avoid: combining multiple flows (search separately), negations, vague style words, disconnected keyword lists. Name a specific app to filter results to it (e.g. \"Duolingo onboarding\"). Do not include platform (ios/web) — use the dedicated parameter."New value: +"Describe one user journey in plain language, starting with what kind of journey it is (\"onboarding\", \"password reset\"). Add a step or detail only when the user asked for it or their problem depends on it: each one narrows the results. Good: \"onboarding\", \"checkout with payment method selection\". Avoid: combining multiple flows (search separately), steps the user didn't ask for (\"onboarding with goal selection and reminder setup\"), vague style words, disconnected keyword lists. Name a specific app to filter results to it (e.g. \"Duolingo onboarding\"). Do not include platform (ios/web) — use the dedicated parameter."
  3. 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."
  4. 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"
      +}
  5. Changed1 schema field changed
    • changedOutput schema / properties / flows / items / 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."
  6. 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."
  7. 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"
      +}
  8. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Despite annotations already declaring readOnlyHint=true and destructiveHint=false, the description adds substantial behavioral context: it returns evenly-spaced inline preview images and per-screen metadata, warns not to describe screens from metadata alone, explains that inline images are low-res previews and image_url is the high-resolution source, states that URLs expire after 30 days, and notes an optional interactive gallery. These are important operational details not covered by annotations.

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 purpose and then layers in image-handling rules that are relevant to correct use. It is somewhat long and repeats preview concepts ('preview images', 'per-screen previews', 'inline images are low-res previews'), but the structure is coherent and most sentences earn their place.

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?

The tool has an output schema, so return values do not need full explanation, yet the description still clarifies the result shape with inline previews, metadata, per-screen previews, and image_url. Combined with complete parameter documentation, an agent has enough information to invoke the tool and handle its output correctly, including export and citation behavior.

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 the input schema already documents all eight parameters in detail, including query phrasing, platform, output_tool, and output_destination. The main description does not add parameter-level guidance beyond what the schema provides, so the baseline of 3 is appropriate.

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

Purpose5/5

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

The description gives a specific verb and resource: 'Search Mobbin for multi-step user flows (e.g. onboarding, checkout) using natural language.' The phrase 'multi-step user flows' distinguishes it from sibling tools like search_screens and search_sections, so an agent can identify the resource type without opening another schema.

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

Usage Guidelines4/5

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

It clearly frames usage as natural-language searching for complete user journeys, with examples like onboarding and checkout. However, it does not explicitly name when to prefer search_flows over search_screens or search_sections; the distinction is only implied by the resource type.

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.