Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Reado

MCPB · READO.MCPB

Your code review comments from Reado, the read-first IDE, as context and tools for your agent.

Available components

+3 this week 53 Trust /100

Last scanned (1 hour ago)

Scores higher than 86% of MCPB servers

Category Browser Automation

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security0
  • No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.Unverified
  • Known CVEs could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).Unverified
  • Install-script risk not yet assessed.Unverified
  • Dependency health could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).Unverified
Provenance & Transparency48
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 16 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability83
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 4218 tokens (~127/item across 33 items; 27 tools + 6 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management73
  • Stability observed for 22 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 29 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 70 to 73. That category is still filling its 30-day observation window: 21 days of observed history at the previous scan, 22 at this one. The score rises as the window fills, whether or not the server changes.

  • 3 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 63 to 67. That category is still filling its 30-day observation window: 19 days of observed history at the previous scan, 20 at this one. The score rises as the window fills, whether or not the server changes.

  • 31 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 53 to 57. That category is still filling its 30-day observation window: 16 days of observed history at the previous scan, 17 at this one. The score rises as the window fills, whether or not the server changes.

  • 29 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 47 to 50. That category is still filling its 30-day observation window: 14 days of observed history at the previous scan, 15 at this one. The score rises as the window fills, whether or not the server changes.

  • 27 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 40 to 43. That category is still filling its 30-day observation window: 12 days of observed history at the previous scan, 13 at this one. The score rises as the window fills, whether or not the server changes.

  • 25 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.

  • 23 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.

  • 21 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Analysed mcpb/https://github.com/WatermelonBros/reado/releases/download/v1.34.0/reado.mcpb

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem mcpb
Reason No attestation published

Background: How many MCP packages publish verified provenance →

MCP tools · 27 exposed · ~3,537 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
browser_animation ~120

Read the animations running on one element of the preview, as JSON: for each, its name, keyframes and computed timing (duration, delay, easing, progress). Answers an empty list when it has none, null when nothing matches. Needs Reado's browser preview open with agent access on: without it the call fails after about 6 s with "no preview pane running". On a page holding a credential it is refused until the user grants access.

NameTypeReqDescription
selectorstringyesCSS selector; the first matching element is used (document.querySelector).

No output schema declared.

No examples provided.

browser_click ~132

Click an element in the preview: scrolls it to the middle of the viewport, then fires a DOM click(). Answers `clicked`, or `not found` when nothing matches. It does not wait for what the click sets off — check the outcome with browser_dom, browser_errors or browser_frame. Needs Reado's browser preview open with agent access on: without it the call fails after about 6 s with "no preview pane running". On a page holding a credential it is refused until the user grants access.

NameTypeReqDescription
selectorstringyesCSS selector; the first matching element is used (document.querySelector).

No output schema declared.

No examples provided.

browser_console ~77

Read everything the preview page logged, as JSON: each entry's level (log/info/warn/error), message, source and stack. Use it to follow what the app is doing; for only what broke, browser_errors is shorter. Reads what Reado captured without touching the page; when no preview is open it answers that none is running.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

browser_dom ~151

Inspect one element of the preview: its tag, outerHTML (first 2000 characters), box (x, y, width, height in CSS px, relative to the viewport) and key computed styles (display, color, background, font), as JSON; null when nothing matches. Use it to check structure and layout; for a picture use browser_frame, for anything else browser_eval. Needs Reado's browser preview open with agent access on: without it the call fails after about 6 s with "no preview pane running". On a page holding a credential it is refused until the user grants access.

NameTypeReqDescription
selectorstringyesCSS selector; the first matching element is used (document.querySelector).

No output schema declared.

No examples provided.

browser_errors ~72

Read only the preview's error-level console entries — errors and unhandled rejections — as JSON: the part of browser_console that answers "what broke?". Answers `No errors captured.` when there are none. Reads what Reado captured without touching the page; when no preview is open it answers that none is running.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

browser_eval ~152

Run a JavaScript expression in the preview page and answer its value, JSON-serialized. The escape hatch for what the other browser_* tools don't cover — reading app state, calling page functions, scrolling a nested container; prefer them when they fit. Evaluated synchronously (a Promise is not awaited), and it can change the page. Needs Reado's browser preview open with agent access on: without it the call fails after about 6 s with "no preview pane running". On a page holding a credential it is refused until the user grants access.

NameTypeReqDescription
jsstringyesA JavaScript expression; wrap statements in an IIFE, e.g. `(() => { …; return x })()`.

No output schema declared.

No examples provided.

browser_frame ~97

Screenshot the preview as it renders right now, answered as a PNG image. Use it to see layout and visual bugs, or the result of a click; for exact sizes and styles use browser_dom. Not available on Linux. Needs Reado's browser preview open with agent access on: without it the call fails after about 6 s with "no preview pane running". On a page holding a credential it is refused until the user grants access.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

browser_hover ~121

Hover an element in the preview by dispatching mouseover and mouseenter — to open a menu or tooltip before inspecting it. Answers `hovered` or `not found`. These are synthetic events, so CSS :hover styles do not apply. Needs Reado's browser preview open with agent access on: without it the call fails after about 6 s with "no preview pane running". On a page holding a credential it is refused until the user grants access.

NameTypeReqDescription
selectorstringyesCSS selector; the first matching element is used (document.querySelector).

No output schema declared.

No examples provided.

browser_navigate ~120

Load a URL in the preview, replacing the current page. Only localhost and the origins the user allowlisted can be opened; anything else is refused with "origin not allowed". Answers the URL loaded. Needs Reado's browser preview open with agent access on: without it the call fails after about 6 s with "no preview pane running". On a page holding a credential it is refused until the user grants access.

NameTypeReqDescription
urlstringyesAbsolute (`http://localhost:5173/settings`) or relative to the current page (`/settings`).

No output schema declared.

No examples provided.

browser_network ~69

Read the preview page's network activity, as JSON: method, URL, status and timing per request, with failures flagged. Use it to check API calls, failed fetches and slow responses. Reads what Reado captured without touching the page; when no preview is open it answers that none is running.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

browser_scroll ~136

Scroll the preview's window to an absolute position (window.scrollTo) — to bring content into view before browser_frame. Answers `scrolled`. browser_click already scrolls its target; a nested scroll container needs browser_eval. Needs Reado's browser preview open with agent access on: without it the call fails after about 6 s with "no preview pane running". On a page holding a credential it is refused until the user grants access.

NameTypeReqDescription
xnumber–CSS pixels from the document's left edge. Defaults to 0.
ynumber–CSS pixels from the document's top. Defaults to 0.

No output schema declared.

No examples provided.

browser_type ~155

Fill a form field in the preview: focuses it, replaces its whole value with `text`, then fires input and change. Answers `typed` or `not found`. No key events are sent, so keydown handlers and Enter-to-submit don't fire — click the submit button instead. Needs Reado's browser preview open with agent access on: without it the call fails after about 6 s with "no preview pane running". On a page holding a credential it is refused until the user grants access.

NameTypeReqDescription
selectorstringyesCSS selector of an input, textarea or select; the first match is used.
textstringyesThe field's new value. It replaces the old one; an empty string clears it.

No output schema declared.

No examples provided.

comment_add ~194

Anchor a new comment to a line range, signed by the agent. A `task` (the default) joins the user's task queue as work to do; a `note` explains something to the next reader without asking for action. Answers the new comment's id and state as JSON. To answer an existing comment use comment_reply; during a guided review use review_propose_comment, which the human approves first.

NameTypeReqDescription
bodystringyesThe comment, in Markdown.
endinteger–Last line of the range, inclusive. Defaults to `line`.
filestringyesProject-relative path, e.g. `src/lib/api.ts`.
kindstring–`task` asks for work (default); `note` only informs.
lineintegeryesFirst line of the range, 1-based.
typestring–What the comment is about. Defaults to note.

No output schema declared.

No examples provided.

comment_reply ~104

Reply in an existing comment's thread, signed by the agent — to answer a question the user asked, or to explain what you changed. It does not change the comment's state: use task_done, task_fail or task_block for that. Answers the comment's id and state as JSON.

NameTypeReqDescription
bodystringyesThe reply, in Markdown.
idstringyesThe comment's id, from `reado://comments` or `reado://tasks`.

No output schema declared.

No examples provided.

mascot_say ~144

Say one line through Reado's mascot — the small companion in the corner of the user's screen. For the moment the user must know about while they are away from the desk: what you need from them, or what just landed. Not narration, not progress, not a running commentary: it interrupts a human, and a companion that chatters gets turned off. Use `ask` only when you are actually waiting for them. Text over 280 characters is refused, not truncated. Answers `said: <text>`.

NameTypeReqDescription
moodstring–The mascot's expression. Defaults to talk.
textstringyesOne line, at most 280 characters.

No output schema declared.

No examples provided.

review_context ~112

Read one file's context in a guided review before reviewing it, as JSON: the session objective, the file's route entry (why it was ranked, related files), its state, its running summary and the proposals already on it. For the whole session use session_show.

NameTypeReqDescription
filestringyesProject-relative path, e.g. `src/lib/api.ts`.
sessionIdstring–The session id from the READO GUIDED REVIEW prompt. Omit it to use the newest session still open.

No output schema declared.

No examples provided.

review_plan ~152

Set a guided review's ranked route — the planning pass, once per session, before you review any file. Answers how many files you routed and the `uncovered` ones: files the scope contains that your route left out. Route each with review_propose_route_change, or declare it out of scope with `reado session set-file <id> --file <path> --state out-of-scope`. Refused if the session already has a route; propose a change instead.

NameTypeReqDescription
routearrayyesEvery file to review, riskiest first.
sessionIdstring–The session id from the READO GUIDED REVIEW prompt. Omit it to use the newest session still open.

No output schema declared.

No examples provided.

review_propose ~182

Propose a guided-review item that is not a finding on the code: a `question` for the human, a `follow-up` to do after the review, or `needs-context` when you cannot judge the code without information you don't have — prefer it to guessing. The human accepts or discards it. Answers the proposal's id. For a finding on specific lines use review_propose_comment.

NameTypeReqDescription
bodystringyesThe question, follow-up or missing context, in Markdown.
filestring–Project-relative path it concerns, if any.
kindstringyesWhat you are raising.
lineinteger–Line it concerns, if any, 1-based.
sessionIdstring–The session id from the READO GUIDED REVIEW prompt. Omit it to use the newest session still open.

No output schema declared.

No examples provided.

review_propose_comment ~209

Propose a finding on the code during a guided review — a bug, a refactor, a performance issue — anchored to a line range. Only a proposal: the human accepts, edits or discards it, and only an accepted one becomes a comment. Answers the proposal's id. For a question or missing context rather than a finding use review_propose; outside a guided review, comment_add.

NameTypeReqDescription
bodystringyesThe finding: what is wrong and why, in Markdown.
endinteger–Last line of the range, inclusive. Defaults to `line`.
filestringyesProject-relative path, e.g. `src/lib/api.ts`.
lineintegeryesFirst line of the range, 1-based.
sessionIdstring–The session id from the READO GUIDED REVIEW prompt. Omit it to use the newest session still open.
typestring–What the comment is about. Defaults to note.

No output schema declared.

No examples provided.

review_propose_route_change ~151

Propose a new route for a guided review already under way — a file you found that must be reviewed, a reorder, a file to drop. Nothing changes until the human accepts it in Reado: the current route keeps running, so carry on with the file you were on. A new proposal replaces one still pending. Answers a confirmation; refused without a `reason`.

NameTypeReqDescription
reasonstringyesWhy the route should change — what the human reads to decide.
routearrayyesThe whole proposed route, not just what changes.
sessionIdstring–The session id from the READO GUIDED REVIEW prompt. Omit it to use the newest session still open.

No output schema declared.

No examples provided.

review_summarize_file ~138

Record a file's mini-summary when you finish reviewing it in a guided review: what you checked, the risks you see, what comes next. It replaces the file's earlier summary, and marks a file with no state yet as reviewed. Answers a confirmation. For the whole review use session_summarize.

NameTypeReqDescription
filestringyesProject-relative path, e.g. `src/lib/api.ts`.
sessionIdstring–The session id from the READO GUIDED REVIEW prompt. Omit it to use the newest session still open.
textstringyesThe summary, a few lines, in Markdown.

No output schema declared.

No examples provided.

session_done ~119

Call this when your next act is to wait for the user — the request is finished, you are blocked, or you need an answer. NOT after a command returns or a step completes: if you will do anything else before stopping, it is too early. Reado alerts a user who has walked away, so a premature call fetches them back for nothing. Answers an acknowledgement.

NameTypeReqDescription
statusstring–How the request ended. Defaults to done.
summarystring–One line on what happened; it becomes the notification's text.

No output schema declared.

No examples provided.

session_show ~112

Read a guided-review session in full, as JSON: scope, objective, route, per-file state and summaries, proposals and their decisions, the files the scope is expected to contain, and any pending route change. Call it first on a READO GUIDED REVIEW prompt, or to find your place after losing context; for a single file, review_context is smaller.

NameTypeReqDescription
sessionIdstring–The session id from the READO GUIDED REVIEW prompt. Omit it to use the newest session still open.

No output schema declared.

No examples provided.

session_summarize ~103

Record a guided review's overall recap once the routed files are done: what the review found, the risks that matter most, what is left. It replaces any earlier recap. Answers a confirmation. For one file's notes use review_summarize_file.

NameTypeReqDescription
sessionIdstring–The session id from the READO GUIDED REVIEW prompt. Omit it to use the newest session still open.
textstringyesThe recap, in Markdown.

No output schema declared.

No examples provided.

task_block ~110

Block a task you cannot finish without the human — a decision, a credential or context you don't have. It stays blocked with your reason until they answer in Reado, which reopens it with a fresh attempt count. Blocking again replaces the reason. Answers the task's id, state and reason as JSON.

NameTypeReqDescription
idstringyesThe task's id, from `reado://tasks`.
reasonstringyesThe question or missing piece, written for the human who has to answer it.

No output schema declared.

No examples provided.

task_done ~195

Mark a task resolved once your change addresses it, recording how. With `verify`, Reado runs that command in the project root: exit 0 marks the task done and archives it; a failure — or no `verify` at all — leaves it resolved-but-unverified, visible for the human to check. Answers the task's id, state and resolution as JSON. If the attempt didn't work use task_fail; if you need the human, task_block.

NameTypeReqDescription
diffRefstring–The commit or ref holding the change, e.g. a SHA, shown to the reviewer.
idstringyesThe task's id, from `reado://tasks`.
modelstring–The model that made the change, for provenance. Defaults to $READO_MODEL.
verifystring–A shell command that proves the fix, e.g. `pnpm test src/lib/api.test.ts`.

No output schema declared.

No examples provided.

task_fail ~110

Record a failed attempt at a task. The task goes back to open for another try; the third failed attempt blocks it until the human answers. Answers the task's id, state and attempt count as JSON. When you already know you need the human, use task_block instead.

NameTypeReqDescription
idstringyesThe task's id, from `reado://tasks`.
notestring–What you tried and why it didn't work; posted as a reply in the task's thread, in Markdown.

No output schema declared.

No examples provided.

Install

How do I install the Reado MCP server?

Reado ships as an MCPB bundle, a single file you download and open in an MCP host that supports MCPB bundles, such as Claude Desktop. The host reads the launch command from the bundle's own manifest, so there is no command to copy. Before opening it, check the file's SHA-256 matches the one the MCP registry declares for it, d449c3da4d6486a1a21af37f1c31c2d4cd7ef544f7aaabec1e3ce377b2db5360; the commands to do that are on this page. If it does not match, do not open it.

mcpb · reado.mcpb

Download bundle

Check the download matches the SHA-256 the MCP registry declares before you open it. If it does not match, do not open the file.

SHA-256

d449c3da4d6486a1a21af37f1c31c2d4cd7ef544f7aaabec1e3ce377b2db5360

macOS / Linux

echo "d449c3da4d6486a1a21af37f1c31c2d4cd7ef544f7aaabec1e3ce377b2db5360  reado.mcpb" | shasum -a 256 -c

Windows (PowerShell)

(Get-FileHash -Algorithm SHA256 .\reado.mcpb).Hash -eq "d449c3da4d6486a1a21af37f1c31c2d4cd7ef544f7aaabec1e3ce377b2db5360"

Run it in the folder you saved the bundle to, then open the file with an MCPB-capable host such as Claude Desktop.

Common questions

What is the Reado MCP server?

Reado is an MCP server listed in the public MCP registry as io.github.WatermelonBros/reado. Your code review comments from Reado, the read-first IDE, as context and tools for your agent. This page covers its MCPB bundle (https://github.com/WatermelonBros/reado/releases/download/v1.34.0/reado.mcpb).

Is the Reado MCP server safe to use?

Reado scores 53 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Reado MCP server expose?

Reado exposes 27 tools: browser_console, browser_network, browser_errors, browser_eval, browser_navigate, and 22 more. Their descriptions and schemas cost roughly 3,537 tokens of context every time the server is loaded.

What licence is the Reado MCP server under?

Reado declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.