KitchenSink4Web について
KitchenSink4Web は、ローカルブラウザーでウェブページを読み、構造化データを抽出する MCP サーバーです。読み取り量を指定でき、省略した内容も報告します。既定では読み取り専用で、クリックやフォーム送信は有効化した場合に限られます。
主な機能
- 01指定したサイズ上限でページを読む
- 02未読の内容を報告
- 03表、リスト、記事本文を抽出
- 04CSV または JSON でデータを出力
- 05スクリーンショット撮影と PDF 保存
- 06許可後にブラウザー操作を有効化
活用シーン
- 01読み取り量を調整して長いページを調査
- 02ウェブサイトの表をデータ分析用に抽出
- 03前回の読み取り以降の変更だけを確認
- 04スクリーンショットや PDF でページを確認
MCP 対応
ローカル MCP クライアントに、ブラウザーでの読み取り、抽出、任意の操作ツールを提供します。クリック、入力、フォーム送信などは既定では利用できません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
12掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| mode | string | いいえ | |
| page | string | はい | |
| view | string | いいえ | |
| since | any | いいえ | |
| detail | string | いいえ | |
| location | any | いいえ | |
| budget_tokens | integer | いいえ |
詳細
🌿 KitchenSink4Web
AI アシスタントでウェブサイトを読み取り、データを抽出できます。デフォルトでは読み取り専用で、許可した場合にのみクリックや入力を行います。
KitchenSink4Web は、Claude Code、Codex CLI、Copilot CLI、Claude Desktop、その他のローカル MCP クライアントが、お使いのコンピューターのブラウザーを通じてウェブページを読み取れるようにする MCP サーバーです。各ページの内容を、指定したサイズ上限内で返し、読み取られなかった部分を伝え、表を CSV または JSON にエクスポートします。起動時は読み取り専用で、クリック、入力、フォームへの記入は、設定で有効にした場合にのみ行えます。AGPL-3.0 の下でライセンスされる無料の Community エディションです。
プラットフォーム: Windows、macOS、Linux。画像内のテキストの読み取りには Windows OCR を使用します。初回起動時に、ブラウザーと一部のオプション依存関係がダウンロードされる場合があります。
インストール
このパッケージには Python 3.12 以降が必要です。以下のコマンドは、AI チャットではなく、PowerShell またはターミナルで実行してください。
Claude Code または Codex CLI。 uv をインストールし、使用するアプリに対応する行を実行してから、新しいセッションを開始してください。
claude mcp add web -s user -- uvx kitchensink4web
codex mcp add web -- uvx kitchensink4web
Claude Desktop。 uv をインストールし、Claude Desktop を再起動してください。最新リリースから .mcpb ファイルをダウンロードし、Settings > Extensions > Advanced settings > Install extension を開いて、ファイルを選択してください。インストール画面で、クリックや入力を許可するかどうか、および読み込む機能パックを選択できます。初回起動時には Python パッケージがダウンロードされるため、ネットワーク接続が必要です。
その他のローカル MCP クライアント。 コマンドに uvx、引数に kitchensink4web を指定するか、パッケージをインストールして、サーバーコマンドとして kitchensink4web を実行してください。
pip install kitchensink4web
できること
- サイズ上限内でページを読み取り、読み取られなかった部分を確認できます。
- ページ全体を再取得せずに、1 つのセクションを開いたり、1 つの要素を見つけたりできます。
- 表、リスト、記事のテキストを抽出し、CSV または JSON にエクスポートできます。
- スクリーンショットを撮影したり、ページを PDF として保存したりできます。
- ページを前回読み取ったときからの変更だけを読み取れます。
- サーバーの実行中に、ページの変更を監視できます。
- 許可すると、クリック、入力、フォームへの記入を行えます。
- 複数ステップのブラウザータスクを記録し、チェックを行いながら再生できます。
- アクセシビリティの自動チェックを実行できます(オプションの追加機能)。
読み取り専用の初期設定ではツールが 12 個、クリックと入力を許可すると 20 個、すべてのパックを有効にすると 53 個になります。
最初の読み取り
get_page_view はページの構造を返します。ページが何であるか、各セクションに何が含まれているか、各セクションを開くのにどれくらいのコストがかかるか、次に呼び出すとよい内容がわかります。予算を設定すると、読み取りがその上限を超えることはありません。読み取りの最後には必ず完了状況のブロックがあり、省略された内容と、それを取得するために必要なコストが示されます。予算には16段階あります。
そこから先は、読み取りのコストを抑えられます。予算を増やす代わりに、特定の領域を開きます。読み取りで返されたトークンを渡すと、次の読み取りでは変更された部分だけが対象になります。要素はアシスタントが操作できる短時間有効の参照として返され、テキストとロールによる検索は、ページが再描画された後も引き続き機能します。
オープンなシャドウルートは読み取り可能で、ページのほかの部分と同じように操作できます。そのため、コンポーネントベースのサイトも読み取れます。クローズドなシャドウルートにはどのツールからもアクセスできないため、その数が集計されて報告されます。同一オリジンの iframe はページ本体と同じように読み取りや検索ができ、それぞれのオリジンがラベル付けされます。クロスオリジンのフレームは名前だけが示され、内部には入りません。
例です。 Wikipedia のヴェルサイユ条約の記事を生の状態でダンプすると、33,073トークンかかります。get_page_view を使った最初の読み取りは4,445トークンで、1回クリックした後の差分読み取りは82トークンです。
機能パック
サーバーは読み取り、ナビゲーション、セッション管理を備えた状態で起動します。パックは起動時に選択し、セッション中は固定されます。そのため、読み込まなかったパックは単にオフになっているのではなく、存在しません。
| パック | 利用できる機能 |
|---|---|
| extract | テーブル、リスト、リンク、記事テキストを取得でき、CSV と JSON にエクスポートできます。 |
| capture | スクリーンショット(パスワード欄はぼかされます)、PDF エクスポート、ページのファイル保存ができます。 |
| network | ページの背後で行われるリクエストを取得します。ウェブサイトのデバッグに役立ちますが、ほとんどの人はオフのままにします。 |
| storage | サインイン済みのセッションを保存できるため、アシスタントが毎回ログインする必要はありません。保存されるのはセッションであり、パスワードではありませんが、保存ファイルはパスワードと同じように扱ってください。 |
| files | 1つのフォルダーへのダウンロードと、ページのフォームへのアップロードができます。どちらも、実行前に確認を求めます。 |
| diagnostics | アシスタントがページ上で JavaScript を一度に1つずつ実行できるようにします。実行前に毎回スクリプトが表示され、承認を求められます。ここで最も強力な設定です。必要な場合を除き、オフのままにしてください。 |
| workflows | 複数ステップのタスクを一度記録し、後で再実行できます。再実行のたびに、何かを実行する前にページが引き続き一致しているか確認します。 |
| accessibility | axe-core を使って WCAG のルールに照らしてページをチェックし、検出結果をルールごとにまとめ、自動テストでは確認できない内容を明確に説明します。追加のオプション機能が必要です。インストール方法はツールが説明します。 |
読み取り専用の起動セットではツール定義に約4.1kトークン、クリックと入力を許可すると6.9k、すべてのパックを有効にすると17.9kかかります。
ブラウザー
デフォルトでは、サーバーは同梱の Chromium を操作します。お使いのブラウザーやプロフィールには一切触れません。各セッションは新しいプロフィールで開始し、終了時に削除されます。ただし、サインイン済みの状態をファイルに明示的に保存した場合は除きます。
インストール済みのブラウザー(Chrome、Edge、Firefox)を選ぶこともできます。その場合も専用の別プロフィールで動作し、お使いのプロフィールは使用しません。サイトによってはブラウザーごとに異なる反応をすることがあります。manage_session(action='status') は、インストール済みのブラウザーと現在のページに推奨するブラウザーを報告します。サーバーが自動で切り替えることはありません。サーバーは自身の正体を偽装せず、ボットチェックや CAPTCHA を解こうとせずに報告します。
サインイン済みのセッションは save_auth_state で保存し、セッションを開く際に auth_state= を使って再読み込みします。保存ファイルには Cookie の有効期限が記録されます。有効期限切れのファイルを読み込むと、ログインに失敗した理由を説明せずに処理するのではなく、その旨が通知されます。
安全モデル
ブラウザーにはログイン情報やアカウントが保存されているため、ツールの提供方法には安全性が組み込まれています。
選択しない限り読み取り専用です。 デフォルトでは、クリック、入力、送信を行うツールはツール一覧に含まれていないため、Webページ上のどのような指示もアシスタントにそれらのツールを使わせることはできません。インストール時に設定を一つ変更すると(Claude Desktop バンドルでは allow acting、それ以外では KS4WEB_ALLOW_ACTING=true)、これらのツールが追加されます。
パスワードは会話に含まれません。 サーバーはパスワードフィールドに入力された内容を読み取りません。Cookie やサイトストレージで見つかったシークレットは、サーバーから外部に送信される前に編集されます。
隠されたテキストは指示ではなく証拠として扱われます。 ページ上で人から見えないようにされたテキストは、AI に指示を紛れ込ませる一般的な手段です。サーバーはアシスタントが読み取る内容からそのテキストを削除し、削除した量を報告するとともに、ページ上の各記述に出典を明記します。
重大な操作には確認が必要です。 フォームの送信、支払い、ページスクリプトの実行は停止し、クライアント独自の確認プロンプトを通じて確認を求めます。許可を選択した場合にのみ続行します。空の回答や自動回答は、拒否として扱われます。プロンプトを表示できないクライアントは、操作を続行せず拒否します。例外となるのは、同意範囲、KS4WEB_PREAUTH、または任意の「30分間記憶する」チェックボックスを通じて、事前に承認した通常の操作のみです。
理由を説明する拒否。 ログイン画面、ボット確認、ページのクラッシュなどが原因で操作できない場合、回答では障害となったものと次に試すべきことを説明します。
2種類の権限確認プロンプト
MCP クライアント独自のプロンプトには、ツール名(例:mcp__web__type_text)が表示されます。そこで読み取り専用ツールを承認しても安全であり、ほとんどのプロンプトが表示されなくなります。KitchenSink4Web の確認では操作そのもの(「このフォームを送信するとパスワードが送信されます」など)が説明され、支払い、認証情報、投稿、削除、法的契約については事前承認できません。
同意範囲
デフォルトの範囲は research です。読み取りとナビゲーションは自由に行え、検索形式の送信(検索ボックス)はそのまま実行されます。それ以外はすべて、先に確認を求めます。full 範囲では、通常のフォーム送信を確認なしで実行できます。支払い、認証情報、投稿、削除、法的契約は、どの範囲でも確認が必要です。
full では、サーバーが対応言語のいずれでも文言を認識できない送信ボタンは、確認の対象になりません。その点が気になる場合は、research を使用してください。
クライアントの互換性
| クライアント | 動作する機能 |
|---|---|
| Claude Desktop | 確認を表示し、すべての機能が動作します。 |
| Claude Code | 確認を表示し、すべての機能が動作します。 |
| claude.ai web | 読み取り、ナビゲーション、検索が動作します。確認が必要な操作は、確認を表示できないため CONFIRMATION_REQUIRED として拒否されます。起動時に事前承認された種類の操作は引き続き動作します。 |
プライバシー
サーバーはお使いのコンピューター上で動作します。KitchenSink4AI がファイル、ページ、使用状況データを受け取ることはありません。ブラウザーは、利用するよう指示されたWebサイトに接続し、それらのサイトには通常のブラウジングリクエストが送信されます。お使いのAIアプリは、その設定と利用規約に基づき、プロンプト、ページ内容、ツールの結果を独自のプロバイダーに送信する場合があります。不足しているトークナイザーテーブルは一度だけダウンロードされる場合がありますが、測定対象のテキストが送信されることはありません。任意の更新チェックでは PyPI に接続しますが、リクエストそのもの以外は送信しません。プライバシーポリシーでは、製品、購入、サポートについて説明しています。
設定
起動時に --packs、KS4WEB_MODE、KS4WEB_ALLOW_ACTING を指定して、パックと読み取り専用モードを選択します。これらの設定は、実行中のサーバーへのすべての接続に適用されます。
更新の確認。 サーバーは、manage_session(action='status') を呼び出したときにのみ PyPI 上のバージョンと比較します。起動時やバックグラウンドでは確認せず、確認は最大 7 日に 1 回で、タイムアウトは 2 秒です。リクエストで送信されるのは識別情報、使用状況データ、ページの内容、セッション状態のいずれでもなく、サーバーが何かをインストールすることもありません。KS4WEB_UPDATE_CHECK=off で無効にできます(KS4WEB_NO_UPDATE_CHECK=1 も使用できます)。
権限確認のプロンプトを減らすには: Claude Desktop のこのサーバーのツール権限で、読み取り専用ツールを「常に許可」に設定します。これらのツールは、どのページでも変更を加えることができません。
サブエージェント: サブエージェント内ではツール結果の上限がより厳しくなるため、そこで読み取りを開始する際は budget_tokens=2500 を指定してください。
既知の制限
- クロスオリジンの iframe には入りません。完全性を示すブロックには、それぞれの iframe が記載されます。
- クローズドシャドウルートには、どのツールからもアクセスできません。数は記録されるため、コンポーネントの多いページか、何もないページかを判断できます。
- ボット対策の壁や CAPTCHA は報告されますが、解決も回避もしません。
sendBeaconと ping リクエストはネットワークルーティングのルールを迂回します。これは基盤となる Playwright ライブラリの制限です。- アクセシビリティチェックで検出できるのは、実環境の問題の一部です。 axe-core エンジンを開発している Deque によると、自社の自動化ツールで検出できる問題の割合は 57% です。問題なしというレポートは、自動チェックに合格したことを意味するだけで、ページにアクセシビリティ上の問題がないことを意味するものではありません。また、意図的にスコアは設けていません。
- モニターはサーバーの実行中にのみ動作します。 MCP クライアントは、サーバーが開始するメッセージをまだ配信できないため、何が起きたかはモニターレポートを確認してください。モニターは、定義された変更を 1 つだけ監視するもので、1 つの URL を対象とします。確認頻度は 5 分に 1 回以下で、ログイン画面やボット対策の壁を突破することはできません。失敗が続くと自動的に一時停止します。
content_hashは時計やカウンターのあるページではノイズが多く、確認の合間に発生して元に戻った変更は検知されません。すべての情報はお使いのマシン内に保存されます。 - セッションの引き継ぎは、1 つのサーバーが実行中の間に限り機能します。 ハンドルを使うと、同じ実行中の KitchenSink4Web 内で、別の会話にライブセッションを移動できます。同じブラウザーを使うため、以前の参照が古くなっている場合があり、その場合はレポートに記載されます。ハンドルは 1 回だけ使え、有効期限は 1 時間で、再起動後は使用できません。
- ID を 1 つ追加するごとに、ブラウザープロセスとプロファイルがもう 1 つ増えるため、実際にメモリを使用します。アクション予算は ID 間で共有されるため、ID を 2 つにしても、セッションで実行できる操作が 2 倍になることはありません。
- ブラウザー選択リストには、このコンピューターでどのブラウザーを使ってどのサイトにアクセスしたかが記録されます(ホスト名と日付のみで、入力した内容やページの内容は記録されません)。これにより、あるブラウザーを拒否したサイトを別のブラウザーで読み取れます。この情報はこのマシン内に保存され、学習機能は無効にでき、1 回の呼び出しで消去できます。
テスト
テストスイートには 2,000 件を超えるテストがあり、そのうち約 700 件では実際のブラウザーを操作します。保存済みページを必要とするテストでは、小規模な合成フィクスチャーを使用します。各リリースでは、ページの内容を通じたプロンプトインジェクション、隠しテキストの紛れ込み、認証情報の窃取、確認の迂回、ワークフローのリプレイ改ざん、リソースの悪用に関する回帰テストも再実行します。
問題の報告
ページが公開されている場合はそのページと、依頼した内容、発生したことを添えて、issue を作成してください。manage_session(action='status') の出力は安全に共有できるよう設計されています。セキュリティ上の問題については、SECURITY.md に従ってください。
Business エディション
Business エディションでは、これらのツールに Windows インストーラー、署名付き更新チャネル、Business 利用規約に基づくサポートが付属します。更新チェックでは、対象となるリリースが利用可能になると通知されます。自動でインストールされることはありません。料金をご覧ください。Community エディションは AGPL のもとで引き続き無料です。利用規約に沿ったビジネス利用も含まれます。
貢献
バグ報告、修正、テスト、ドキュメントの改善を歓迎します。CONTRIBUTING.mdをご覧ください。初めて貢献する方は、Contributor License Agreementに同意する必要があります。
ライセンス
KitchenSink4Webはデュアルライセンスです。
- AGPL-3.0. AGPLに準拠するあらゆる用途で、企業を含むすべての方が無料で利用できます。ソフトウェアを配布する場合、またはネットワーク経由で利用可能にする場合は、変更内容を含むソースコードを共有することが利用条件に含まれます。
- 商用ライセンス。 AGPLのソースコード共有義務を負うことなく、KitchenSink4Webを自社製品やサービスに組み込みたい組織向けです。[email protected]までお問い合わせください。
Copyright (c) 2026 Alvut Consulting, LLC. KitchenSink4AIはAlvut Consulting, LLCの製品シリーズです。KitchenSink4AIのツールはAIコーディングアシスタントの支援を受けて開発されており、リリース前に毎回、すべてのテストスイートを実行しています。
Google、Mozilla、Microsoft、およびこのサーバーがアクセスするウェブサイトとは提携関係になく、推奨を受けているものでもありません。Chrome、Chromium、Firefox、Edgeは、それぞれの所有者の商標です。これらの名称は、このサーバーが操作できるブラウザーを特定する目的でのみ使用しています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。