Server data from the Official MCP Registry
Reviews drafts: fact-checks claims against web sources and builds the strongest counter-case.
About
Reviews drafts: fact-checks claims against web sources and builds the strongest counter-case.
Security Report
Valid MCP server (1 strong, 2 medium validity signals). No known CVEs in dependencies. Package registry verified. Imported from the Official MCP Registry.
12 files analyzed · 1 issue found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Permissions Required
This plugin requests these system permissions. Most are normal for its category.
What You'll Need
Set these up before or after installing:
Environment variable: ANTHROPIC_API_KEY
Environment variable: TAVILY_API_KEY
How to Install
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-sbanthia92-second-read": {
"env": {
"TAVILY_API_KEY": "your-tavily-api-key-here",
"ANTHROPIC_API_KEY": "your-anthropic-api-key-here"
},
"args": [
"second-read"
],
"command": "uvx"
}
}
}Documentation
View on GitHubFrom the project's GitHub README.
Second Read
Second Read reviews a draft the way a careful editor would, and shows its sources. You give it an article, a blog post or a design doc. It returns one report:
- Facts checked against the web. Each claim is looked up, and every "this is wrong" comes with the page that says so.
- The strongest counter-case. A devil's advocate builds the best argument against your piece from sources it retrieves.
- Copy edits. Grammar and clarity fixes that keep your voice.
- Originality notes. Sentences that closely match text found online.
It runs as an MCP server with one tool,
review_document, so you can ask for a review from Claude Code or Claude
Desktop. It also has a command-line tool. It runs on your machine with your
own API keys; nothing is sent to the author of this project.
A finding looks like this:
Factual error — "Mjällby clinched the title on 20 October 2025 by winning 2-0 at IFK Göteborg, with two games to spare"
The date, the 2-0 score and the opponent are confirmed. ESPN and Flashscore both say three rounds were left (27 of 30 played), so "two games to spare" is wrong.
What you need
- uv (it installs Python 3.12 for you).
- An Anthropic API key:
ANTHROPIC_API_KEY. - A Tavily search key:
TAVILY_API_KEY.
Getting your keys
You need two keys. Each takes a couple of minutes: sign up, create a key, copy it.
| Key | Where to get it |
|---|---|
ANTHROPIC_API_KEY | Sign in at https://platform.claude.com, add credit under Billing, then create a key under API keys (https://platform.claude.com/settings/keys) |
TAVILY_API_KEY | Sign up at https://app.tavily.com; the key is shown on the dashboard |
The Anthropic key is pay-as-you-go: reviews fail with a clear message if the
account has no credit. Keep keys out of chats and out of version control; put
them in the MCP client's env block or in a .env file as shown below.
A review of a 700-word article takes about two minutes and uses roughly 150,000–180,000 tokens on your model key (about $0.60–$1.20 at Anthropic's list prices in October 2026) plus about 30 searches.
Install: Claude Code
claude mcp add second-read \
-e ANTHROPIC_API_KEY=your-key \
-e TAVILY_API_KEY=your-key \
-- uvx second-read
Start Claude Code with a longer tool timeout, because a review takes minutes:
MCP_TOOL_TIMEOUT=600000 claude
Then ask: "Use second-read to review this draft", and paste the text or give a public URL.
Install: Claude Desktop
Add this to claude_desktop_config.json (on macOS:
~/Library/Application Support/Claude/claude_desktop_config.json), then restart
the app. If Claude Desktop cannot find uvx, use its full path (which uvx).
{
"mcpServers": {
"second-read": {
"command": "uvx",
"args": ["second-read"],
"env": {
"ANTHROPIC_API_KEY": "your-key",
"TAVILY_API_KEY": "your-key"
}
}
}
}
To try it without keys, replace the env block with
{"SECONDREAD_FAKE": "1"}. Demo mode returns placeholder findings and makes
no model calls.
Install: other MCP clients
Any client that runs local (stdio) MCP servers can use the same command. For
Cursor, VS Code and similar, add a server named second-read that runs
uvx second-read with ANTHROPIC_API_KEY and TAVILY_API_KEY in its
environment, as in the Claude Desktop example above.
Second Read is listed in the official MCP Registry
as io.github.sbanthia92/second-read, so clients and directories that read the
registry can find it.
ChatGPT and claude.ai on the web connect only to remote (hosted) MCP servers, so they cannot run Second Read yet. A hosted version is on the roadmap.
Command line
export ANTHROPIC_API_KEY=your-key TAVILY_API_KEY=your-key
uvx --from second-read secondread review path/to/draft.md --profile opinion > report.md
Or keep the keys in a .env file and pass it with --env-file path/to/.env.
Progress prints to the terminal; the report goes to report.md. Use
--profile design_doc for technical design docs, or leave the profile out to
let the tool decide. A URL works in place of a file path.
The tool
review_document takes:
| Argument | Required | Notes |
|---|---|---|
content | one of content / url | The draft as text or markdown (up to 20,000 words) |
url | one of content / url | A public web page to fetch and review |
profile | no | auto (default), opinion or design_doc |
focus | no | A steer, e.g. "check the financial figures" |
It returns the report as markdown and sends progress updates while it works.
The report has these sections: a verdict line; Must fix (factual errors and claims the sources do not back); Could not verify (claims it found no adequate source for, which is not the same as wrong); Strongest counter-case; Should fix (structure); Polish (copy edits); Originality notes; and an appendix listing every claim with its verdict and sources.
Settings
Set these in the MCP client's env block, in the environment, or in a .env
file (the server reads .env from its working directory, or the file named by
SECONDREAD_ENV_FILE).
| Variable | Purpose |
|---|---|
ANTHROPIC_API_KEY | Anthropic model key |
TAVILY_API_KEY | Web search key |
SECONDREAD_MODEL_CHEAP, _MID, _STRONG | Override the model used for each tier |
SECONDREAD_MAX_WORDS | Document size cap (default 20000) |
SECONDREAD_FAKE=1 | Demo mode: no keys, no model calls |
Privacy
Second Read runs on your machine. The project's author runs no server and receives no data.
- What it collects. Nothing is collected by the project. To do a review the tool handles the document you give it and the web pages it retrieves.
- What leaves your machine, and where.
- Your document goes to Anthropic, under your key and their terms.
- Search queries built from your document's claims, and up to eight sentences quoted exactly for the originality check, go to Tavily, under your key and their terms.
- Web pages named in search results are fetched directly from your machine. The fetcher refuses private and local network addresses.
- Storage and retention. Nothing is stored after the review finishes. The report is returned to your client and is not kept by Second Read. Logs go to your terminal and never contain keys or document text.
- Sharing. Nothing is shared with anyone else. The only third parties are the model and search providers above, which you choose by supplying their keys.
- Keys. Read from your environment or a
.envfile you control, and never logged. - Contact. Questions or concerns: open an issue at
https://github.com/sbanthia92/second-read/issues. For security problems see
SECURITY.md.
How well it works
Measured on a small test in October 2026: four articles with planted errors that cannot be caught from memory (recent results, exact figures), one run each, compared with asking the same model to "review this and argue the other side" in a single prompt.
| Single prompt | Second Read | |
|---|---|---|
| Planted wrong facts caught (19) | 7 | 13 |
| ...with a cited source | 0 | 13 |
| Weak arguments rebutted (4) | 2 | 4 |
| Borrowed sentences caught (3) | 3 | 1 |
| Tokens per article | about 5,000 | about 136,000 |
Second Read earns its cost on claims that need looking up: recent events, exact figures, and details a model cannot know from memory. Every finding names its source, so you can check it in one click.
Getting the most from it:
- Open the cited source before acting on a "factual error". The report links the page and quotes the passage it relied on.
- Search results change, so two runs on the same draft can differ slightly.
- The originality check is a heuristic: it flags close matches found online.
- Sources are web pages; PDFs are not read.
How it works
An orchestrator runs specialist agents and settles their disagreements:
- A claim extractor splits the document into its thesis, supporting claims and checkable facts.
- In parallel: a fact-checker researches each fact in a bounded loop (search, fetch, read, assess; at most three rounds per claim); a devil's advocate gathers counter-evidence; a copy editor; for articles, an originality checker; and, for design docs, a structure reviewer.
- A reaction round: a verified fact the devil's advocate disputes is re-checked, and the two argue once over the most important disagreements.
- Fixed rules settle what is left (for example, a grammar fix on a sentence flagged as wrong is dropped), findings are ranked, and the report is written.
ARCHITECTURE.md describes how the system is built, the decisions behind it and their trade-offs, the planned hosted service, and the shared types.
Development
uv sync
uv run ruff check . && uv run ruff format --check . && uv run mypy && uv run pytest
Tests run offline with fakes. Tests that call real providers are marked live
and skipped by default (uv run pytest -m live). The evaluation harness and
its 40 seeded documents are in eval/ (see eval/README.md); running it
against real providers spends money on your keys.
Status
The local MCP server and command-line tool work. A hosted version (sign in,
add a key once, get the report by email) is designed in ARCHITECTURE.md but not
built. ROADMAP.md lists what comes next.
License
MIT. See LICENSE.
Reviews
No reviews yet
Be the first to review this server!
More Developer Tools MCP Servers
Rea
Freeby Morluto · Developer Tools
Reverse engineer anything from your terminal or agent with one CLI and MCP server.
Paperclip
Freeby Paperclipai · Developer Tools
Trending hip-hop artist momentum scores across four cultural dimensions.
Fetch
Freeby Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
Git
Freeby Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
Toleno
Freeby Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
MCP Marketplace
Freeby mcp-marketplace · Developer Tools
Search and install MCP servers from inside your AI client.
