mcpField
S
Second Read

Second Read

ローカル
github.com/sbanthia92生産性01 日前に更新

Second Read について

Second Readは、記事、ブログ、設計文書の主張をウェブ上の情報源と照合し、反論や編集案をまとめます。MCPクライアントやコマンドラインで出典付きレビューを行いたい執筆者向けです。

主な機能

  1. 01ウェブ情報源に基づく事実確認
  2. 02出典付きの反論の作成
  3. 03文法と明瞭さの編集案
  4. 04オンライン文章との類似箇所の指摘
  5. 05構成されたMarkdownレポートの生成

活用シーン

  1. 01草稿の最新情報や具体的な数値の確認
  2. 02設計文書の主張と構成のレビュー
  3. 03記事の公開前に反論を調査
  4. 04公開ウェブページへの出典付き編集案の取得

MCP 対応

ローカルのstdio MCPサーバーとして動作し、草稿テキストまたは公開URLを受け取ってレポートを返す`review_document`ツールを提供します。ユーザー自身のAnthropicおよびTavily APIキーを使用します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"sbanthia92-second-read": {
"command": "uvx",
"args": [
"second-read"
],
"env": {
"ANTHROPIC_API_KEY": "<ANTHROPIC_API_KEY>",
"TAVILY_API_KEY": "<TAVILY_API_KEY>"
}
}
}
}
起動コマンドuvx second-read
設定が必要な環境変数
ANTHROPIC_API_KEYシークレットAnthropic API key, used for the review's model calls
TAVILY_API_KEYシークレットTavily API key, used for web search

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypisecond-read0.1.4

ツール

1

掲載時のツール一覧 · 今日に更新

パラメーター型必須説明
urlanyいいえ取得してレビューする公開 http(s) ページ。`content` の代わりに指定します。
focusanyいいえ任意のレビュー指示。例:「財務数値を確認する」。
contentanyいいえ文書のテキストまたは Markdown。これか `url` のどちらか一方を指定してください。
profileenumいいえ`auto`(自動検出)、`opinion`(エッセイ、論説記事、投稿)、`design_doc`(技術設計や提案)。auto | opinion | design_doc

詳細

Second Read

Second Read は、慎重な編集者のように草稿をレビューし、その根拠となる情報源を示します。記事、ブログ投稿、設計文書を渡すと、次の項目をまとめたレポートを返します。

  • ウェブ上の情報に照らした事実確認。 各主張を検索し、「これは誤りです」とする場合は、その根拠が記載されたページを必ず示します。
  • 最も有力な反論。 悪魔の代弁者が、取得した情報源をもとに、あなたの文章に対する最善の反論を組み立てます。
  • 文章の修正。 あなたらしい文体を保ちながら、文法や明瞭さを改善します。
  • 独自性に関する指摘。 オンラインで見つかった文章とよく似ている文を示します。

MCP サーバーとして動作し、review_document というツールを1つ備えているため、Claude Code や Claude Desktop にレビューを依頼できます。コマンドラインツールもあります。お使いのマシン上でご自身の API キーを使って実行され、プロジェクトの作者に情報が送信されることはありません。

指摘の例:

事実誤認 — 「Mjällby は2025年10月20日、IFK Göteborg に2-0で勝利し、残り2試合で優勝を決めた」

日付、2-0というスコア、対戦相手は確認できています。ESPN と Flashscore は、残り3節(全30試合中27試合を消化)だったとしているため、「残り2試合」は誤りです。

必要なもの

  • uv(Python 3.12を自動でインストールします)。
  • Anthropic API キー:ANTHROPIC_API_KEY。
  • Tavily 検索キー:TAVILY_API_KEY。
キーの取得方法

キーが2つ必要です。どちらも、サインアップしてキーを作成し、コピーするだけなので数分で取得できます。

キー取得先
ANTHROPIC_API_KEYhttps://platform.claude.com にサインインし、Billing でクレジットを追加してから、API keys でキーを作成します(https://platform.claude.com/settings/keys)
TAVILY_API_KEYhttps://app.tavily.com にサインアップします。キーはダッシュボードに表示されます

Anthropic のキーは従量課金制です。アカウントにクレジットがない場合、レビューは明確なメッセージを表示して失敗します。キーをチャットやバージョン管理に含めないでください。以下の例のように、MCP クライアントの env ブロック、または .env ファイルに設定してください。

700語の記事のレビューには約2分かかり、モデルの API キーでおよそ150,000~180,000トークンを使用します(2026年10月時点の Anthropic の標準価格で約0.60~1.20ドル)。さらに、検索を約30回行います。

インストール:Claude Code

claude mcp add second-read \
  -e ANTHROPIC_API_KEY=your-key \
  -e TAVILY_API_KEY=your-key \
  -- uvx second-read

レビューには数分かかるため、ツールのタイムアウトを長めに設定して Claude Code を起動してください。

MCP_TOOL_TIMEOUT=600000 claude

次に「second-read を使ってこの草稿をレビューして」と頼み、テキストを貼り付けるか、公開 URL を指定します。

インストール:Claude Desktop

これを claude_desktop_config.json(macOS の場合は ~/Library/Application Support/Claude/claude_desktop_config.json)に追加してから、アプリを再起動してください。Claude Desktop が uvx を見つけられない場合は、フルパスを指定してください(which uvx)。

{
  "mcpServers": {
    "second-read": {
      "command": "uvx",
      "args": ["second-read"],
      "env": {
        "ANTHROPIC_API_KEY": "your-key",
        "TAVILY_API_KEY": "your-key"
      }
    }
  }
}

キーなしで試すには、env ブロックを {"SECONDREAD_FAKE": "1"} に置き換えてください。デモモードではプレースホルダーの指摘が返され、モデルへの呼び出しは行われません。

インストール:その他の MCP クライアント

ローカル(stdio)MCP サーバーを実行できるクライアントであれば、同じコマンドを使用できます。Cursor、VS Code などでは、上記の Claude Desktop の例のように、ANTHROPIC_API_KEY と TAVILY_API_KEY を環境変数に設定し、uvx second-read を実行する second-read という名前のサーバーを追加してください。

Second Read は公式 MCP Registry に io.github.sbanthia92/second-read として登録されているため、レジストリを参照するクライアントやディレクトリから見つけることができます。

ウェブ版の ChatGPT と claude.ai はリモート(ホスト型)MCP サーバーにのみ接続するため、現時点では Second Read を実行できません。ホスト版はロードマップに掲載されています。

コマンドライン

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

または、キーを .env ファイルに保存し、--env-file path/to/.env で指定してください。

進行状況はターミナルに表示され、レポートは report.md に出力されます。技術設計文書には --profile design_doc を使用してください。指定しない場合、ツールが適切なプロファイルを選びます。ファイルパスの代わりに URL も使用できます。

ツール

review_document は次の引数を受け取ります。

引数必須備考
contentcontent / url のいずれかテキストまたは Markdown の草稿(最大 20,000 語)
urlcontent / url のいずれか取得してレビューする公開ウェブページ
profileいいえauto(デフォルト)、opinion、design_doc
focusいいえ「財務数値を確認する」などの指示

レポートを Markdown で返し、処理中は進捗状況を随時送信します。

レポートは次のセクションで構成されます。判定行、要修正(事実誤認や、情報源が裏付けていない主張)、検証できなかった点(十分な情報源が見つからなかった主張。誤りと同じ意味ではありません)、最も有力な反論、修正推奨(構成)、文章の仕上げ(コピー編集)、独自性に関する注記、およびすべての主張と判定、情報源を記載した付録です。

設定

MCP クライアントの env ブロック、環境変数、または .env ファイルで設定します(サーバーは作業ディレクトリにある .env、または SECONDREAD_ENV_FILE で指定されたファイルを読み込みます)。

変数用途
ANTHROPIC_API_KEYAnthropic モデルのキー
TAVILY_API_KEYウェブ検索キー
SECONDREAD_MODEL_CHEAP、_MID、_STRONG各層で使用するモデルを上書き
SECONDREAD_MAX_WORDSドキュメントのサイズ上限(デフォルトは 20000)
SECONDREAD_FAKE=1デモモード:キー不要、モデル呼び出しなし

マシンから送信される情報

  • ドキュメントは、ユーザーのキーと Anthropic の利用規約に基づいて Anthropic に送信されます。
  • ドキュメント内の主張から作成された検索クエリと、独自性チェック用に原文のまま引用された最大 8 文が Tavily に送信されます。
  • 検索結果に記載されたウェブページは、マシンから直接取得されます。取得機能はプライベートアドレスとローカルネットワークアドレスへのアクセスを拒否します。

レビューの完了後に情報が保存されることはなく、ほかの場所に送信されることもありません。キーは環境から読み込まれ、ログに記録されることはありません。

精度について

2026 年 10 月に実施した小規模なテストで測定しました。記憶だけでは見つけられない誤り(最近の結果、正確な数値)を仕込んだ記事 4 本を、それぞれ 1 回実行し、同じモデルに単一のプロンプトで「これをレビューして、反対の立場から論じて」と依頼した場合と比較しました。

単一プロンプトSecond Read
仕込まれた誤った事実の発見数(19 件)713
...情報源の引用付き013
弱い論拠への反論(4 件)24
借用された文の発見数(3 件)31
記事あたりのトークン数約 5,000約 136,000

Second Read は、調査が必要な主張、つまり最近の出来事、正確な数値、モデルが記憶から知ることのできない詳細について、コストに見合う価値を発揮します。各指摘には情報源が示されるため、ワンクリックで確認できます。

最大限に活用するには:

  • 「事実誤認」に対処する前に、引用された情報源を開いてください。レポートにはページへのリンクと、根拠として使用した箇所の引用が記載されています。
  • 検索結果は変わるため、同じ草稿でも実行ごとに結果が多少異なることがあります。
  • 独自性チェックはヒューリスティックです。オンラインで見つかった類似性の高い一致を検出します。
  • 情報源はウェブページです。PDF は読み込まれません。

仕組み

オーケストレーターが専門エージェントを実行し、意見の相違を調整します。

  1. 主張抽出エージェントが、ドキュメントを主題、裏付けとなる主張、検証可能な事実に分割します。
  2. 並行して、ファクトチェッカーが上限付きのループ(検索、取得、読解、評価を主張ごとに最大 3 ラウンド)で各事実を調査します。また、反対意見を述べるエージェントが反証を集め、コピーエディターが文章を確認します。記事の場合は独自性チェッカーも、設計ドキュメントの場合は構成レビュアーも加わります。
  3. 反応ラウンドでは、検証済みの事実に反対意見を述べるエージェントが異議を唱えた場合、その事実を再確認し、最も重要な意見の相違について両者が一度議論します。
  4. 残った項目は固定ルールで処理され(たとえば、誤りと指摘された文に対する文法修正は破棄されます)、指摘に優先順位を付けてレポートを作成します。

詳細な設計については DESIGN.md をご覧ください。共有型については ARCHITECTURE.md に説明があります。

開発

uv sync
uv run ruff check . && uv run ruff format --check . && uv run mypy && uv run pytest

テストはフェイクを使ってオフラインで実行されます。実際のプロバイダーを呼び出すテストには live マークが付いており、デフォルトではスキップされます(uv run pytest -m live)。評価ハーネスと 40 件のシード済みドキュメントは eval/ にあります(eval/README.md を参照)。実際のプロバイダーに対して 実行すると、キーの利用料が発生します。

ステータス

ローカルの MCP サーバーとコマンドラインツールは動作します。ホスト版(サインインして、 キーを一度追加すると、レポートがメールで届く)は DESIGN.md で設計されていますが、 まだ構築されていません。今後の予定は ROADMAP.md に記載されています。

ライセンス

MIT。LICENSE を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。