Lenz Fact-Check について
Lenz Fact-Checkは、独立したウェブ情報源を使って草稿や回答の事実主張を検証するホステッドサービスです。MCPツールで簡易チェックと、情報源を示す詳細な検証を提供します。
主な機能
- 01最大20件の主張を簡易判定
- 02リンクと引用付きの詳細検証
- 03引用が文を裏付けるか確認
- 04完了した検証への追加質問
- 05OAuthまたはAPIキー認証
活用シーン
- 01草稿の事実主張を確認
- 02情報源を使って主張を調査
- 03引用が記述を裏付けるか確認
- 04完了した検証結果について質問
MCP 対応
リモートMCPサーバー https://lenz.io/mcp は、主張の評価、詳細検証、引用チェックなどのツールをMCPクライアントに提供します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://lenz.io/mcpclaude mcp add --transport http lenz https://lenz.io/mcp{"mcpServers":{"lenz":{"type":"http","url":"https://lenz.io/mcp"}}}{"mcpServers":{"lenz":{"serverUrl":"https://lenz.io/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
Lenz ファクトチェック
Lenz MCP サーバー:あらゆる MCP クライアントから、独立した情報源と照合して、下書きや回答に含まれる事実に関する主張を検証します。
ウェブサイト · API キーを取得 · 開発者向けドキュメント
ワンクリックでインストール(OAuth — API キーは不要です)。
Lenz はファクトチェックプラットフォームです。事実に関する主張を受け取り、独立した情報源をもとに複数モデルのパイプライン(主張の読解 → 調査 → 議論 → パネルによる審査 → 結論)で検証し、確信度を添えた判定を返します。これは公式のリモート MCP サーバーです。ホスト型の Model Context Protocol エンドポイントとして、AI アシスタントが呼び出せるツールを提供し、Lenz のファクトチェック機能を利用できます。
モデルに与えられたコンテキストとは独立して、オープンウェブの情報と照合して主張を検証するため、検索拡張/グラウンデッドネスチェッカーの代わりではなく、それらを補完します。
- ホスト型、インストール不要: クライアントを
https://lenz.io/mcpに接続するだけです。ローカルで実行するものはありません。 - 認証: OAuth(キー不要 — 対応クライアント向け)、または無料の Lenz API キー(
Authorization: Bearer lenz_…)。 - トランスポート: ステートレスな Streamable HTTP。2025-11-25 および 2026-07-28 のプロトコル改訂に対応しています。
ツール
| ツール | 機能 |
|---|---|
assess_claim | 迅速なチェックであり、1つの主張または文章全体を確認する際のデフォルトの最初のステップです。3モデルのパネルが、主張ごとに1行を返します。各行には、判定(True/Mostly True/Mixed/Mostly False/False、または、レビュアーがその主張を示す公開記録を見つけられなかった場合の No Public Record。未確認であり、誤りという意味ではありません)、段階別の信頼度、そして利用可能な場合は短い rationale(判定に同意するレビュアーの推論)が含まれます。これはレビュアーのメモであり、確認済みの情報源ではありません。信頼度が低い行には recommend_verify: true と next_step の文が含まれます。誤りと判定された主張の行には、suggested_rewrite(誤った部分を修正した主張)と suggested_rewrite_note が含まれる場合もあります。これはレビュアーの推論に基づいて作成されたもので、情報源に基づくものではなく、それ自体も確認されていません。そのため提案として提示され、新しい文の詳細チェックはリクエストに応じて行われます。行には searched_pages(タイトルとリンク)が含まれる場合もあります。これはレビュアーが確認したページであり、確認のためのページとして提示されますが、判定を裏付ける情報源として扱われることはありません。タイトルはサードパーティのページから取得したテキストです。アシスタント経由で約15秒かかります。claim に編集していない文章全体を渡すと、Lenz がその中から最大20件の主張を見つけます。または、ユーザーが個別に挙げた最大20件の主張には claims を使用します。 |
verify_claim | 詳細チェックです。主張の読み取り → 調査 → 議論 → パネルレビュー → 結論という手順で、1つの主張を確認します。1〜10のスコア付きの判定(主張を記録した公開記録がない場合は、スコアなしの No Public Record)、主な調査結果、概要、修正可能な場合は主張の修正文(それ自体は確認済みではありません)、警告、各情報源の根拠となる引用、および情報源の総数を返します。詳細チェックには約90秒かかります。クライアントが許容する限り、呼び出しは完了を待ちます。Claude と ChatGPT アプリでは通常、同じ呼び出しで結果が返されます。Claude Code、Cursor、VS Code、OpenAI の Responses API など、ツール呼び出しの制限時間が短いクライアントでは、通常 status: submitted と task_id が返され、残りの結果は get_verification が待機します。完了した詳細チェックは、同じ主張に対する以前の迅速な判定に置き換わります。assess_claim の1行分の10倍の費用がかかるため、アシスタントは詳細チェックを提示し、ユーザーの同意を得て実行するか、ユーザーが情報源を求めた場合に実行します。depth: "low" は同じモデルを使用しながら調査する情報源を減らし、クレジットは半分になります。 |
get_verification | task_id で実行中の verify_claim の完了を待つか、8文字の verification_id で完了済みの結果を取得します。processing、needs_input、failed、not_found、または completed を返します。 |
select_claims | needs_input の検証内容を解決します。文章に複数の主張が含まれる場合、実行する主張のテキストを選択します。 |
ask_followup | 完了済みの verify_claim(その verification_id を指定)について、根拠に基づく追加質問をします。回答は概要だけでなく、調査、議論、パネルレビュー全体に基づきます。回答は Markdown 形式で、リンク先はチェックで使用した情報源です。アシスタントはリンクをそのまま保持します。assess_claim の1行分と同じ費用がかかります。 |
list_verifications | アカウントで完了した最新の詳細チェックを、新しい順に一覧表示します。会話が先に進んだ後で完了した結果を取得するために使用します。読み取り専用で無料です。迅速なチェックは保存されません。 |
check_citations | 原稿が引用している情報源に、原稿の記述内容が実際に書かれているかを確認します。Lenz は各リンク、DOI、または番号付き参考文献を読み取り、引用ごとに、その情報源が引用元の文を裏付けているかどうかと、情報源から読み取った該当箇所を報告します。アシスタントは、ユーザーが原稿中の情報源、リンク、参考文献、引用について尋ねた場合にのみ使用します。通常のファクトチェックのリクエストには assess_claim を使用します。原稿を text に渡すか、文と url/doi の pairs を最大20組渡します。1回のリクエストで確認できる引用は最大20件です。引用が20件を超える原稿では、残りの引用が候補として一覧表示され、pairs として再送信できます。引用チェックには最大2分かかる場合があります。クライアントが許容する限り、呼び出しは完了を待ちます。そうでない場合は、citecheck_id とともに status: running を返します。確認した引用ごとに1クレジットかかります。Lenz が読み取れなかった引用には費用がかかりません。チェックを実行できない場合(たとえば、引用が含まれていない文章の場合)、エラーではなく回答として、status: failed が返されます。 |
get_citation_check | citecheck_id で実行中の check_citations の完了を待ち、同じ形式で結果を返します。省略可能な offset(デフォルトは0)を指定すると、完了済みのチェックを再読み込みし、まだ対象になっていない原稿中の次の最大20件の引用を、pairs として送信する候補として返します。remaining と next_offset も返します。読み取り専用で無料です。 |
check_usage | 残りのクレジット、ツールごとの料金一覧(costs と、depth などのパラメーターによって料金が変わる場合の cost_options)、および現在のプランを返します。チェックの前提条件ではありません。 |
言語。 Lenz は与えられたテキストの言語で回答するため、主張は翻訳せず、ユーザー自身の言葉と使用言語で渡してください。language 引数は、ユーザーが別の言語(en、es、de、fr、it、pt、nl、sv、da、no、fi、bg のいずれか)での回答を明示的に求めた場合に使用し、それ以外の場合は未設定のままにしてください。判定と記述結果はその言語で返され、クイックチェックのレビュー担当者の注記は、レビュー担当者が確認したテキストの言語で返されます。未設定の場合、コネクターは language: "auto" を送信し、API がテキストから言語を判定します。そのため、セルフホスト可能なコネクターには auto を受け付ける API が必要です。 |
プロンプト。 MCP プロンプトを表示するクライアント(Claude では + の下に表示されます)には、このテキストを Lenz でチェックと最後の回答を Lenz でチェックの 2 つが表示されます。どちらもチェックするテキストを受け取り、クイックチェックを開始します。Lenz は会話を参照できないため、最後の回答をチェックするには、回答を貼り付ける必要があります。
判定は絶対的なものではなく、方向性を示すものです。確信度は、調整済み確率ではなく、注意書き付きの段階的な言葉で返されます。クイック判定は最初の見解です。 詳細チェックと異なる場合は、情報源と推論が示される詳細チェックを信頼してください。
結果カード
Claude と ChatGPT アプリでは、チェック結果はテキストに加えて、会話内のカードとして返されます。カードから、主張の詳細チェック(情報源と照合。標準の深度で実行する verify_claim)を実行したり、情報源を開いたり、下書き内のどの主張を詳しくチェックするか選んだりできます。カードから開始した詳細チェックが完了すると、その結果がアシスタントに通知されます。Claude では通知は表示されず、ChatGPT ではチャットに短いメッセージとして表示されます。それ以外のクライアントには、同じ結果がテキストで返されます。カードの有無によって機能が変わることはありません。
クイックスタート
クライアントに応じて、接続方法は 2 つあります。
- OAuth — 対応クライアント(Claude コネクターなど)向けです。貼り付けるキーは不要です。Lenz にサインインして接続を認証します。
- API キー —
Authorizationヘッダーを使って、あらゆる MCP クライアントで利用できます。
OAuth で接続する(API キー不要)
Claude(ウェブ、デスクトップ、モバイル): Lenz は公式 Claude コネクターです。Lenz コネクターページを開いてClaude に接続をクリックするか、アプリで設定 → 拡張機能 → 拡張機能を参照の順に開き、Lenz を検索して**+**をクリックします。どちらの方法でも、設定不要の OAuth サインインは一度だけで済み、1 つのアカウントで 3 つすべてを利用できます。
MCP の OAuth に対応するその他のクライアントでは、URL のみを指定し、ヘッダーは設定せずにサーバーを追加してください。
{
"mcpServers": {
"lenz": {
"type": "http",
"url": "https://lenz.io/mcp"
}
}
}
初回利用時には、クライアントの案内に従って一度だけサインインします。Lenz 独自の画面で認証し、接続を許可してください。設定にキーが保存されることはありません。その後、アシスタントが Lenz アカウントのクレジットを使って、代わりにファクトチェックを行います。接続はいつでも取り消せます。詳しくはプライバシーポリシーをご覧ください。
API キーで接続する
1. 無料の API キーを取得します。lenz.io/api-credentialsで取得できます(形式は lenz_… です)。
2. サーバーを追加します(以下の例を参照)。Authorization: Bearer <your-key> で認証します。
Claude Code
プラグインとして使用します(コネクターと lenz-fact-check スキルのセットです。初回利用時に /mcp でサインインしてください)。
claude plugin marketplace add lenzhq/lenz-mcp
claude plugin install lenz@lenz
または、API キーを使ってコネクターのみを使用します。
claude mcp add --scope user --transport http lenz https://lenz.io/mcp \
--header "Authorization: Bearer ${LENZ_API_KEY}"
--scope user を指定すると、すべてのプロジェクトで Lenz を利用できます。指定しない場合、Claude Code はコマンドを実行したディレクトリにのみサーバーを追加します。
Claude Desktop / .mcp.json を読み込む任意のクライアント
{
"mcpServers": {
"lenz": {
"type": "http",
"url": "https://lenz.io/mcp",
"headers": {
"Authorization": "Bearer ${LENZ_API_KEY}"
}
}
}
}
Cursor
**ワンクリック:**上のCursor に Lenz を追加 ボタンを使います。サーバーが追加され、OAuth でサインインできます(キーを貼り付ける必要はありません)。
手動で設定する場合:Settings → MCP → Add new MCP server → HTTP を選び、URL
https://lenz.io/mcp を入力して、ヘッダー Authorization: Bearer <your-key> を追加します。(または、上の JSON を .cursor/mcp.json に追加します。)
VS Code
**ワンクリック:**上のVS Code にインストール ボタンを使います(OAuth を使用するため、キーは不要です)。キーを使って手動で設定する場合:
code --add-mcp '{"name":"lenz","type":"http","url":"https://lenz.io/mcp","headers":{"Authorization":"Bearer ${LENZ_API_KEY}"}}'
ChatGPT
現時点では、ChatGPT は OpenAI の開発者モードを使い、OAuth 経由でカスタムアプリとして Lenz に接続します。そのため、貼り付ける API キーはありません。設定は chatgpt.com で行います。ChatGPT のデスクトップアプリやモバイルアプリからは作成できません。
個人アカウント(Plus または Pro)の場合。 Settings → Plugins → 下部で開発者モードをオンにする → Plugins → Browse plugins → Search の横にある + → 名前を Lenz、URL を https://lenz.io/mcp、Authentication を OAuth に設定 → I understand and want to continue にチェック → Create → Sign in with
Lenz → Try in Chat。
Business、Enterprise、または Edu ワークスペースの場合。 オーナーまたは管理者が一度公開します:Workspace settings → Apps → + Create を選び、Enable developer mode を有効にして、同じフォームに OAuth を指定して入力します。次に、Drafts → Publish を選び、利用できるユーザーを設定して、もう一度 Publish を選びます。各メンバーはその後、Settings → Plugins → Lenz → Connect を選び、サインインします。
カスタムアプリは、新しいチャットではデフォルトでオフになっています。+ を選び、Lenz にチェックを入れてください。質問に Lenz の名前を含めると、ChatGPT が記憶に基づいて回答するのではなく、Lenz を使うようになります。
MCP Inspector(ツールを手動で試す)
npx @modelcontextprotocol/inspector
# Transport: Streamable HTTP · URL: https://lenz.io/mcp
# Header: Authorization: Bearer <your-key>
例
**あなた:**スタートアップの 90% は創業から 1 年以内に失敗するというのが本当か、Lenz に確認してください。
アシスタントは
assess_claimを呼び出し、確信度の高い False という結果と、評価者の推論を受け取ります。つまり、新しい事業の大半は初年度を乗り越えており、公式統計によると初年度に廃業するのは約 5 社に 1 社です。まずはこの内容を提示し、詳細な検証を提案します。あなたが同意すると、アシスタントはverify_claimを呼び出し(ツール呼び出しの上限が短いクライアントでは、結果を取得するためにget_verificationも呼び出します)、判定、スコア、主な調査結果、警告、および根拠となる情報源を返します。
クレジット
チェックを実行したり質問に回答したりする各ツール呼び出しは、Lenz アカウントの 1 つのクレジットプールを使います。以前の結果の参照、チェックの一覧表示、check_usage は無料です。また、リプレイウィンドウ内で同じチェックを再度実行した場合は、最初の呼び出しの結果が返され、課金は 1 回だけです。ツールごとに別々の予算はありません。assess_claim に使うと verify_claim に残る分が減り、その逆も同様です。check_usage は残高(credits_remaining)と、現在の価格一覧である costs を返します。重みは推測せず、そこから確認してください。
verify_claim は他のツールより桁違いに高価です。assess_claim と ask_followup は安価です。verify_claim にはオプションの depth もあります。"low" はデフォルトの "standard" の半分のクレジットで、より浅い調査(ソース数を減らし、モデルは同じで、速度はわずかに向上)を実行します。この料金は check_usage の cost_options.verify.depth.low にあります。課金はリクエストした深さに対して行われます。完了した結果の depth は判定が生成された深さです。そのため、既存のより深いチェックの結果を使って "low" リクエストに回答した場合は "standard" と表示されます。結果の表示はエビデンスを示し、課金はリクエストに従います。
check_usage は assess_remaining と verify_remaining も返します。これらは各ツール固有の単位で換算した同じ残高であり、「このツールをあと何回使えるか」を示すもので、個別の利用枠ではありません。
無料キーには各期間にリセットされる月間利用枠があります。付与クレジットとチャージ分は、有効期限のない追加クレジットとして上乗せされ、利用枠を使い切った後にのみ消費されます。プランについては lenz.io/plans をご覧ください。
残高がなくなると、ツールは status: "quota_exhausted" と message を返します。ChatGPT を除き、プランのページを指す manage_url も返します。これは再試行できません。チャージするか月間利用枠がリセットされるまで、残高は使い切った状態です。エージェントは再試行したり、チェックを黙って省略したりせず、そのことを明確に伝えてください。
status: "rate_limited" は別の状態で、残高の消費ではなくレート制限を意味します。こちらは自動的に解除され、結果には解除までの時間を示す retry_after_seconds が含まれます。
スキル
自分でツールを呼び出すより、ガイド付きのワークフローを使いたいですか?lenz-fact-check スキルは、「これは本当ですか?」という問いを構造化されたプロセスに変えます。テキストを簡易チェックし、重要な主張について詳細な verify_claim を推奨し、判定と確信度、および詳細なチェックを実行した場合はソースを報告します(方向性を示すものであり、絶対的な結論ではないという注意点も組み込まれています)。エージェントには plugins/lenz/skills/lenz-fact-check/SKILL.md を指定してください。
サーバーを自分で実行する
ほとんどのクライアントには、ホストされたエンドポイントで十分です。自分でサーバーを実行したり、貢献したりする場合は、このリポジトリにサーバーのソースがあります。
要件: Python 3.11 または 3.12、および uv。 Python 3.13 はまだサポートされていません。モデルが読み取るツールの説明の書式が変わるため、そのバージョンで文言をチェックするリリースを待っています。
uv sync --group dev
uv run pytest
docker build --build-arg LENZ_MCP_VERSION=dev -t lenz-mcp .
自分で実行するサーバーは、自分の Lenz API キーを使って認証します。キーは
Authorization: Bearer lenz_… として送信します(Bearer スキームが必須です。それ以外の値は、キーがない場合と同様に拒否されます)。OAuth サインインは、ホストされたエンドポイント https://lenz.io/mcp でのみ機能します。
最小 API バージョン。 サーバーは公式 Python SDK の lenz-io を通じて Lenz API を呼び出し、この SDK が読み取る API バージョンは 2026-10-11 のみです。そのため、自分で実行するサーバーには、2026-10-11 を提供する API(MCP_API_BASE_URL)が必要です。https://lenz.io/api/v1 はこのバージョンを提供します。成功した結果についてはバージョンが厳密にチェックされます。別のバージョンでの成功回答は拒否され、ツールは API が「このコネクターが読み取れないバージョンで回答した」と伝えます。エラー回答(クレジット不足、レート制限、停止など)は、どのバージョンで返されたかにかかわらず、そのまま表示されます。
CONTRIBUTING.md に、テスト、結果カード、プルリクエストのルールについて記載されています。
リンク
- ウェブサイト: lenz.io
- キーを取得: lenz.io/api-credentials
- 開発者向けドキュメント: lenz.io/developers
- SDK: Python · Node
サポート
ご質問や問題がある場合は、イシューを作成するか、 お問い合わせください。
ライセンス
Apache-2.0 © lenzhq。Lenz の名称およびロゴ(assets/)は lenzhq の商標であり、ライセンスによって使用が許諾されるものではありません。詳しくは NOTICE をご覧ください。
メンテナー
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。