
Reviewthread
io.github.CloudCorpRecordsPublished by GitHub account CloudCorpRecordsv0.1.0Updated Nov 3, 2026
Classify PR review comments as actionable or noise, with the rule that fired as evidence.
Overview
Reviewthread's local MCP server; no sign-in required; STDIO.
No AI overview yet: these facts come from the registry entry and the server itself.
Installation
In SourceWeft
- Open Reviewthread in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
reviewthread
A pull-request review thread collects everything: a
maintainer pointing at a genuinely broken check, a bot
cheering "LGTM", the same coverage note posted twice, a
comment on code that has since been rewritten. reviewthread
sorts a batch of those comments into the five buckets a
reviewer actually acts on — actionable, noise,
closed, stale, and duplicate — and, for each one,
names the exact rule that put it there, so the verdict can
be checked rather than trusted.
You supply the facts, per comment: an id, the author's
name, whether the author is a bot or a human, the body,
the thread state (open, resolved, or outdated), and
optionally whether the comment is attached to a currently
failing check and the id of another comment it duplicates.
Nothing is fetched; the classification is a pure function
of what you pass in.
The rules run in a fixed order and the first match wins. A
resolved thread is closed and an outdated one is stale,
whatever else is true of the comment. A comment whose
duplicate_of is non-empty after trimming is a
duplicate, and its evidence names the trimmed target id.
A comment attached to a failing check is actionable —
that outranks everything a bot might say. Only then does
authorship matter: a bot whose body is praise-only (after
trimming, lowercasing, collapsing whitespace, and
stripping trailing ! and . characters, the body is
exactly one of a pinned eleven-phrase set such as lgtm,
looks good to me, or ship it) is noise, and any
other bot comment with no failing check is noise too.
What remains — an open human comment — is actionable.
Two judgement calls are pinned. A duplicate_of that is
absent, empty, or whitespace-only counts as no duplicate
at all. And praise is judged against the exact phrase set
only: a bot saying "great job, but the tests fail" is a
generic bot comment, not praise-only, because the whole
normalized body must match a phrase.
Malformed input — a missing or empty comments array, a
comment that is not an object, a missing, empty, or
non-string id or author, an author_kind outside
bot / human, a missing or non-string body, a state
outside open / resolved / outdated, a non-boolean
failing_check, or a non-string duplicate_of — is a
validation error naming the offending path, with no
partial result. Unknown extra fields are ignored,
including inside comment items.
CLI
args.json contains the full arguments object:
The result is printed as JSON:
Exit codes: 0 on success, 1 on a runtime error
(including an unreadable or invalid input file, or invalid
input), 2 on a usage error.
MCP server
MCP client config:
Tools
-
triage_review_comments— Classify pull-request review comments as actionable, noise, closed, stale, or duplicate from caller-supplied comment facts.comments(array, required, at least 1 item) — the review comments to classify. Each item:id(string, required, non-empty) — comment identifierauthor(string, required, non-empty) — comment author nameauthor_kind(string, required,botorhuman) — whether the author is a bot or a humanbody(string, required, may be empty) — comment body textstate(string, required,open,resolved, oroutdated) — thread state of the commentfailing_check(boolean, optional, absent means false) — whether the comment is attached to a currently failing checkduplicate_of(string, optional) — id of another comment this one duplicates
Returns
{comments, counts, total}, wherecommentsis one{id, author, verdict, evidence}per input comment in input order,countsis{actionable, noise, closed, stale, duplicate}in that key order, andtotalis the number of input comments.
Docker
Development
License
MIT — Copyright (c) 2026 Rene Turcios
Source: README.md at commit 2bf64b0
Tools
0Version history
1- v0.1.0LatestNov 3, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts