For teams with a Storybook and a coding agent
Your agent wrote a new button.
You already had four.
Scry indexes the Storybook you already ship. Claude Code, Codex and the Figma agent search it by text or by screenshot and import the component that exists. Then Scry checks your Figma files against the same build and shows you what drifted.
The fifth button.
Your coding agent knows React. It does not know your Button, your PricingCard, or the four states your modal already supports. So it writes new ones. Close enough to pass review, wrong enough to matter.
Someone spends an afternoon replacing generated UI with the component that already existed. The more code an agent writes, the less consistent the design system gets. Nothing in the repo answers the question the agent should have asked: do we already have this?
- fill
#1c1c1c· yours is #3d2b1f - radius
6px· yours is 0 - padding
12 / 20· yours is 10 / 18 - label
Add To Order· yours is Add to order
Three steps.
Nothing in your repo changes except a config file and a workflow. Scry receives the built Storybook, the same static bundle you already host, and nothing else.
The first useful result is a search your agent runs on a real task and a component a developer ships.
Deploy your Storybook
Ask your coding assistant to do it, or run the CLI. The setup skill checks your Storybook, wires the deploy and the MCP connection, and verifies the result.
$ npx skills add epinnock/scry-node --skill scry-setup then ask: "Set up Scry for this project and connect my assistant to its components."
Prefer the CLI? npx @scrymore/scry-deployer init creates the config and the GitHub workflow.
Every story gets a screenshot and a description
A few minutes of processing, then every component is searchable by text or by image. Stories that did not change are reused, so a rebuild only touches what moved.
Connect your agent
A remote MCP server. Nothing to install. Sign-in happens in the browser on first use, and the server sees only the projects your account can already read.
$ claude mcp add --transport http scry https://mcp.scrymore.com/mcp$ codex mcp add scry --url https://mcp.scrymore.com/mcpcustom connector https://mcp.scrymore.com/mcp Figma agent and Figma Make add it under connectors, then sign in.
Every result carries what the agent needs to import the real thing instead of approximating it:
Tools: search_components, search_by_image, get_component_screenshot, generate_image, whoami. Any MCP client that speaks Streamable HTTP can connect.
Figma says one thing. The build says another. Scry shows you where.
Link a Figma layer to its story once. Design Sync renders the Figma side and the Storybook side from the same deployed build and runs a diff: side by side, overlay, or blink. Every difference becomes a candidate with a label and a suggested severity. A person decides what gets promoted to an issue.
Severity is one of blocker, major, minor, nit, chosen by a person when a candidate is promoted. The annotator only suggests. Labels say what kind of drift it is; severity says how much it matters.
Refine and recheck a diff as often as you need.
Link Figma to any Storybook.
Paste a Storybook URL, select a layer, pick its story, click Link. A View Story button on every linked layer opens the live story. Suggest links scans a page or the whole file and ranks matches you accept in bulk.
- Works with any Storybook your computer can reach: hosted, on your network, or local.
- Linking uploads nothing and needs no account.
- Links live in the file's shared plugin data, so everyone editing the file sees them.
With a Scrymore account
- Visual matching: layers are matched against story screenshots, not just names.
- Screenshot sync, side-by-side and overlay diffs, and View diff in Scrymore on a synced pair.
- Private Storybooks previewed inside the plugin.
variant=defaultComponents/MenuItem
Default
size=mdComponents/Button
Primary
value=1Components/QuantityStepper
Default
It indexes your last deploy, not your working tree.
Change a component locally and Scry keeps describing the published version until you redeploy. Every result carries a freshness flag that says whether it matches the project's current build, so the agent knows when it is looking at something stale.
Scry receives your built Storybook, not your repository.
The same static bundle you already host. Not your git history, not anything outside that build. Search query text is never stored: it is turned into an embedding and discarded. Each project keeps its 10 most recent builds.
Detail: privacy policy
No SOC 2 yet. Data lives in the United States.
Pre-certification, and plain about it. There is no EU data residency option today. A pilot on one non-critical repository is the sensible way in, and a project's data is deleted whenever you ask.
Detail: where your data is processed
Claude Code, Codex and the Figma agent are verified. Others are documented.
Those three have been run end to end. Any MCP client that speaks Streamable HTTP can connect, and stdio clients such as Claude Desktop and Cursor reach it through mcp-remote. That path is documented, not yet run through a full pilot here, so try it on one task before you rely on it.
Detail: MCP server guide
Stop rebuilding the button.
Deploy one Storybook, connect one agent, and bring a component you are tired of seeing rebuilt. If Scry finds it, you will know in the first search.
Got questions? Let's link.