explaingit

syrin-labs/iris

Analysis updated 2026-05-18

39TypeScriptAudience · developerComplexity · 3/5LicenseSetup · moderate

TLDR

An MCP server and SDK that let an AI coding agent verify a code change actually worked inside the running app, with evidence instead of screenshots.

Mindmap

mindmap
  root((Iris))
    What it does
      Asserts app behavior
      Detects regressions
      Cheap alternative to screenshots
    Tech stack
      TypeScript
      Model Context Protocol
      React SDK
    Use cases
      Verify a button click worked
      Catch silent console errors
      Diff app state before after edit
    Audience
      Developers using AI agents
      Claude Code and Cursor users

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Verify an API call, dialog, or console state after an AI agent makes a code change.

USE CASE 2

Snapshot an app's state and diff it later to catch silent regressions.

USE CASE 3

Replace slow, expensive screenshot checks with cheap structured assertions.

What is it built with?

TypeScriptModel Context ProtocolReactnpm

How does it compare?

syrin-labs/iriscoasty-ai/open-coworkjavlonbek1233/-immersive-ui-1
Stars393939
LanguageTypeScriptTypeScriptTypeScript
Setup difficultymoderateeasyeasy
Complexity3/53/51/5
Audiencedevelopervibe codervibe coder

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires embedding the SDK in your app in dev mode and pointing your agent at the MCP server.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

In plain English

Iris is a tool that lets an AI coding agent verify whether a code change actually worked in the running app. The problem it addresses is that agents like Claude Code or Cursor can edit files, say the feature is done, and be wrong: the code compiles and the page renders, but a button sends a request that returns an error, or a console error appears, or a modal that was supposed to open does not. Iris gives the agent a way to check those things programmatically, without relying on a screenshot. The system has two parts: a small SDK you embed in your app (in development mode only) and an MCP server the agent connects to. Once both are running, the agent can call tools like iris_assert with a list of conditions: did a POST request to a particular URL return a 200 status? Is a dialog element visible? Are there any console errors? Did a custom signal fire? The tool returns a pass or fail verdict with structured evidence, including the specific file and line number where a React component caused a problem. A separate pair of tools handles regression detection. You call iris_baseline_save to snapshot the app's current state, make changes, then call iris_diff to see what disappeared or broke. For example, if an agent accidentally deleted a button or introduced a new console error during an unrelated edit, the diff surfaces it immediately. The README makes a comparison to screenshot-based checking: a full-page screenshot costs around 1,500 tokens to process through a vision model, while an Iris assertion costs around 100 tokens because it only asks about the specific things it needs to know. The project is published as a single npm package called @syrin/iris, works with React applications in local development, and connects to AI agents through the Model Context Protocol.

Copy-paste prompts

Prompt 1
Install @syrin/iris and connect it to Claude Code as an MCP server
Prompt 2
Add a logout button and verify it works using Iris
Prompt 3
Explain how iris_baseline_save and iris_diff catch regressions
Prompt 4
Write an iris_assert check for a checkout flow that confirms payment succeeded

Frequently asked questions

What is iris?

An MCP server and SDK that let an AI coding agent verify a code change actually worked inside the running app, with evidence instead of screenshots.

What language is iris written in?

Mainly TypeScript. The stack also includes TypeScript, Model Context Protocol, React.

What license does iris use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is iris to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is iris for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.