Skip to main content
Glama

Screenrove: UI Design Reference & Screenshots (free Mobbin alternative)

Find related screens in other products

find_related_screens
Read-only

Find screens from other products that solve the same design problem as this one: same primary pattern first, then shared tasks, states and components (rarer tags count more). At most two per product; each says why it matched, and a dark-theme copy folds into its row as variants. Use it after one good reference, e.g. other empty project lists or other pricing pages with a comparison table.

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": {
      "screenId": "<screenId>"
    },
    "name": "find_related_screens"
  }
}

Input Schema

NameRequiredDescriptionDefault
kindNoOnly return this kind of screen.
limitNoMaximum results, 1 to 20.
screenIdYesScreen id from search_screens or get_product, e.g. linear-signup.
sameProductNoAlso include screens from the same product.

Output Schema

NameRequiredDescriptionDefault
nextNo
totalNo
screenNo
relatedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changed
    • addedInput schema / properties / limit / maximum
      Added value: +20
    • addedInput schema / properties / limit / minimum
      Added value: +1
    • changedInput schema / properties / limit / type
      Previous value: -"number"New value: +"integer"
    • changedInput schema / properties / screenId / description
      Previous value: -"Screen id from searchScreens or getProduct, e.g. linear-signup."New value: +"Screen id from search_screens or get_product, e.g. linear-signup."
    • removedOutput schema / properties / related / items
      Removed value: -{
      -  "properties": {
      -    "id": {
      -      "type": "string"
      -    },
      -    "imageUrl": {
      -      "type": "string"
      -    },
      -    "kind": {
      -      "description": "flow is an onboarding step, marketing a public web page, product an in-app screen.",
      -      "enum": [
      -        "flow",
      -        "marketing",
      -        "product"
      -      ],
      -      "type": "string"
      -    },
      -    "notes": {
      -      "type": "string"
      -    },
      -    "previewUrl": {
      -      "description": "Screen-sized preview (the top of long pages). Present on pick options and related screens.",
      -      "type": "string"
      -    },
      -    "product": {
      -      "type": "string"
      -    },
      -    "productName": {
      -      "description": "Present on pick options and related screens.",
      -      "type": "string"
      -    },
      -    "scope": {
      -      "description": "What was captured. marketing: logged-out marketing pages only. public-demo: logged out, but real\nproduct surfaces or public demos were used. task-incomplete: signed in, but the journey stops before\nits result. signed-in: signed in, and the journey reaches its result.\n",
      -      "enum": [
      -        "marketing",
      -        "public-demo",
      -        "task-incomplete",
      -        "signed-in"
      -      ],
      -      "type": "string"
      -    },
      -    "shared": {
      -      "description": "Design-problem tags. The first pattern is the primary one. See listTags.",
      -      "properties": {
      -        "component": {
      -          "items": {
      -            "type": "string"
      -          },
      -          "type": "array"
      -        },
      -        "pattern": {
      -          "items": {
      -            "type": "string"
      -          },
      -          "type": "array"
      -        },
      -        "state": {
      -          "items": {
      -            "type": "string"
      -          },
      -          "type": "array"
      -        },
      -        "task": {
      -          "items": {
      -            "type": "string"
      -          },
      -          "type": "array"
      -        }
      -      },
      -      "type": "object"
      -    },
      -    "style": {
      -      "description": "What the screen looks like, judged from its first viewport (tags/style-spec.md). Searchable through q.",
      -      "properties": {
      -        "accentHue": {
      -          "description": "The accent hue of buttons and highlights, or none.",
      -          "type": "string"
      -        },
      -        "aesthetic": {
      -          "description": "One or two of minimal, editorial, playful, technical, glassy, bold, warm, data-dense, retro, corporate.",
      -          "items": {
      -            "type": "string"
      -          },
      -          "type": "array"
      -        },
      -        "caption": {
      -          "description": "What makes the screen look the way it does.",
      -          "type": "string"
      -        },
      -        "colorMode": {
      -          "enum": [
      -            "monochrome",
      -            "single-accent",
      -            "multi-color",
      -            "pastel",
      -            "vivid-gradient"
      -          ],
      -          "type": "string"
      -        },
      -        "density": {
      -          "enum": [
      -            "airy",
      -            "balanced",
      -            "dense"
      -          ],
      -          "type": "string"
      -        },
      -        "headingFont": {
      -          "enum": [
      -            "sans",
      -            "serif",
      -            "mono",
      -            "rounded",
      -            "display"
      -          ],
      -          "type": "string"
      -        },
      -        "imagery": {
      -          "description": "One or two of none, product-ui, photography, illustration, 3d, icons-only, charts.",
      -          "items": {
      -            "type": "string"
      -          },
      -          "type": "array"
      -        },
      -        "theme": {
      -          "enum": [
      -            "light",
      -            "dark",
      -            "mixed"
      -          ],
      -          "type": "string"
      -        }
      -      },
      -      "type": "object"
      -    },
      -    "tags": {
      -      "description": "Design-problem tags. The first pattern is the primary one. See listTags.",
      -      "properties": {
      -        "component": {
      -          "items": {
      -            "type": "string"
      -          },
      -          "type": "array"
      -        },
      -        "pattern": {
      -          "items": {
      -            "type": "string"
      -          },
      -          "type": "array"
      -        },
      -        "state": {
      -          "items": {
      -            "type": "string"
      -          },
      -          "type": "array"
      -        },
      -        "task": {
      -          "items": {
      -            "type": "string"
      -          },
      -          "type": "array"
      -        }
      -      },
      -      "type": "object"
      -    },
      -    "title": {
      -      "type": "string"
      -    },
      -    "why": {
      -      "description": "What this screen shares with the original.",
      -      "type": "string"
      -    }
      -  },
      -  "type": "object"
      -}
    • removedOutput schema / properties / screen / properties
      Removed value: -{
      -  "id": {
      -    "type": "string"
      -  },
      -  "imageUrl": {
      -    "type": "string"
      -  },
      -  "kind": {
      -    "description": "flow is an onboarding step, marketing a public web page, product an in-app screen.",
      -    "enum": [
      -      "flow",
      -      "marketing",
      -      "product"
      -    ],
      -    "type": "string"
      -  },
      -  "notes": {
      -    "type": "string"
      -  },
      -  "previewUrl": {
      -    "description": "Screen-sized preview (the top of long pages). Present on pick options and related screens.",
      -    "type": "string"
      -  },
      -  "product": {
      -    "type": "string"
      -  },
      -  "productName": {
      -    "description": "Present on pick options and related screens.",
      -    "type": "string"
      -  },
      -  "scope": {
      -    "description": "What was captured. marketing: logged-out marketing pages only. public-demo: logged out, but real\nproduct surfaces or public demos were used. task-incomplete: signed in, but the journey stops before\nits result. signed-in: signed in, and the journey reaches its result.\n",
      -    "enum": [
      -      "marketing",
      -      "public-demo",
      -      "task-incomplete",
      -      "signed-in"
      -    ],
      -    "type": "string"
      -  },
      -  "style": {
      -    "description": "What the screen looks like, judged from its first viewport (tags/style-spec.md). Searchable through q.",
      -    "properties": {
      -      "accentHue": {
      -        "description": "The accent hue of buttons and highlights, or none.",
      -        "type": "string"
      -      },
      -      "aesthetic": {
      -        "description": "One or two of minimal, editorial, playful, technical, glassy, bold, warm, data-dense, retro, corporate.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "caption": {
      -        "description": "What makes the screen look the way it does.",
      -        "type": "string"
      -      },
      -      "colorMode": {
      -        "enum": [
      -          "monochrome",
      -          "single-accent",
      -          "multi-color",
      -          "pastel",
      -          "vivid-gradient"
      -        ],
      -        "type": "string"
      -      },
      -      "density": {
      -        "enum": [
      -          "airy",
      -          "balanced",
      -          "dense"
      -        ],
      -        "type": "string"
      -      },
      -      "headingFont": {
      -        "enum": [
      -          "sans",
      -          "serif",
      -          "mono",
      -          "rounded",
      -          "display"
      -        ],
      -        "type": "string"
      -      },
      -      "imagery": {
      -        "description": "One or two of none, product-ui, photography, illustration, 3d, icons-only, charts.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "theme": {
      -        "enum": [
      -          "light",
      -          "dark",
      -          "mixed"
      -        ],
      -        "type": "string"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  "tags": {
      -    "description": "Design-problem tags. The first pattern is the primary one. See listTags.",
      -    "properties": {
      -      "component": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "pattern": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "state": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "task": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  "title": {
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / properties / total / description
      Removed value: -"How many screens share this one's pattern or task."
  2. Changed2 schema fields changed
    • addedOutput schema / properties / related / items / properties / style
      Added value: +{
      +  "description": "What the screen looks like, judged from its first viewport (tags/style-spec.md). Searchable through q.",
      +  "properties": {
      +    "accentHue": {
      +      "description": "The accent hue of buttons and highlights, or none.",
      +      "type": "string"
      +    },
      +    "aesthetic": {
      +      "description": "One or two of minimal, editorial, playful, technical, glassy, bold, warm, data-dense, retro, corporate.",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "caption": {
      +      "description": "What makes the screen look the way it does.",
      +      "type": "string"
      +    },
      +    "colorMode": {
      +      "enum": [
      +        "monochrome",
      +        "single-accent",
      +        "multi-color",
      +        "pastel",
      +        "vivid-gradient"
      +      ],
      +      "type": "string"
      +    },
      +    "density": {
      +      "enum": [
      +        "airy",
      +        "balanced",
      +        "dense"
      +      ],
      +      "type": "string"
      +    },
      +    "headingFont": {
      +      "enum": [
      +        "sans",
      +        "serif",
      +        "mono",
      +        "rounded",
      +        "display"
      +      ],
      +      "type": "string"
      +    },
      +    "imagery": {
      +      "description": "One or two of none, product-ui, photography, illustration, 3d, icons-only, charts.",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "theme": {
      +      "enum": [
      +        "light",
      +        "dark",
      +        "mixed"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / properties / screen / properties / style
      Added value: +{
      +  "description": "What the screen looks like, judged from its first viewport (tags/style-spec.md). Searchable through q.",
      +  "properties": {
      +    "accentHue": {
      +      "description": "The accent hue of buttons and highlights, or none.",
      +      "type": "string"
      +    },
      +    "aesthetic": {
      +      "description": "One or two of minimal, editorial, playful, technical, glassy, bold, warm, data-dense, retro, corporate.",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "caption": {
      +      "description": "What makes the screen look the way it does.",
      +      "type": "string"
      +    },
      +    "colorMode": {
      +      "enum": [
      +        "monochrome",
      +        "single-accent",
      +        "multi-color",
      +        "pastel",
      +        "vivid-gradient"
      +      ],
      +      "type": "string"
      +    },
      +    "density": {
      +      "enum": [
      +        "airy",
      +        "balanced",
      +        "dense"
      +      ],
      +      "type": "string"
      +    },
      +    "headingFont": {
      +      "enum": [
      +        "sans",
      +        "serif",
      +        "mono",
      +        "rounded",
      +        "display"
      +      ],
      +      "type": "string"
      +    },
      +    "imagery": {
      +      "description": "One or two of none, product-ui, photography, illustration, 3d, icons-only, charts.",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "theme": {
      +      "enum": [
      +        "light",
      +        "dark",
      +        "mixed"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  3. Added

TDQS

A4.3/5.0
Behavior5/5

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

Goes well past the annotations (which only declare it a safe read) by disclosing ranking order (primary pattern first, then shared tasks/states/components, with rare tags weighted higher), a per-product cap of two, an inline rationale per match, and variant folding ("a dark-theme copy folds into its row as variants"). These are result-shaping behaviors an agent could not infer from schema or 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?

Two sentences, front-loaded with the matching logic and followed by the when-to-use cue; every clause carries information (weighting, cap, rationale, variant folding). Slight density cost — the first sentence chains four clauses in a row — but nothing is padding.

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

Completeness4/5

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

With an output schema present the description need not describe return shape, and the parameters plus enum are fully covered by the schema. What remains missing is minor: no mention that limit caps results at 20 or how sameProduct interacts with the "other products" premise, but nothing an agent needs in order to call it correctly.

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 coverage is 100%, so all four parameters are already documented, and the description only indirectly illuminates them: "from other products" implies sameProduct defaults to false, and "this one" implies the required screenId. Ranking and per-product caps are not tied to limit or kind, so added meaning is marginal — baseline 3.

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?

States a specific verb and resource ("Find screens from other products") plus the matching criterion (same design problem), which cleanly separates it from get_screen, compare_screens and search_screens. The reader knows exactly what comes back: reference screens from *other* products, not detail on a known screen.

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?

Gives a clear trigger with a worked example: "Use it after one good reference, e.g. other empty project lists or other pricing pages with a comparison table" — i.e. it is the expansion step after a single match, not the discovery step. No explicit exclusions or named alternatives (compare_screens, pick_reference) are offered, so the boundary is implied rather than spelled out.

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.

Resources