mcpField
W
wet

wet

ローカル
github.com/n24q02m検索20今日更新

wet について

wetは、AIエージェント向けのオープンソースのウェブ調査・ドキュメント検索ツールで、MCPサーバーとCLIを提供します。ウェブ検索、コンテンツ抽出、学術検索、ライブラリ文書検索、ローカルファイル変換に対応します。

主な機能

  1. 01ウェブ検索と学術検索
  2. 02ウェブコンテンツの抽出・分割・クロール
  3. 03バージョン別ライブラリ文書の検索
  4. 04一般的なファイルをMarkdownに変換
  5. 05メディアの一覧表示とダウンロード
  6. 06ローカル埋め込みと再ランキング

活用シーン

  1. 01調査テーマのウェブページや学術資料を探す
  2. 02ページを抽出し引用付きの要約を作成
  3. 03特定バージョンのライブラリ文書を検索
  4. 04PDFや表計算ファイルをMarkdownに変換

MCP 対応

wetはMCPサーバーとして動作し、検索、コンテンツ抽出、文書検索、ファイル変換のツールを提供します。CLIも備え、stdioとセルフホスト型Streamable HTTP接続に対応します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"n24q02m-wet": {
"command": "uvx",
"args": [
"wet-mcp"
],
"env": {
"OPENROUTER_API_KEY": "<OPENROUTER_API_KEY>",
"GITHUB_TOKEN": "<GITHUB_TOKEN>"
}
}
}
}
起動コマンドuvx wet-mcp
設定が必要な環境変数
OPENROUTER_API_KEYシークレットOpenRouter API key — the single default credential for the [models.embed|rerank|chat|jev_score] provider cells and the openrouter search backend. Per-task overrides live in ~/.wet/config.toml; keys may also be injected via HULL_EMBED_API_KEY / HULL_RERANK_API_KEY / HULL_CHAT_API_KEY / HULL_JEV_SCORE_API_KEY. Empty cells fall back to local ONNX models.
GITHUB_TOKENシークレットGitHub personal access token for higher rate limits on library discovery

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

パッケージ
pypiwet-mcp3.20.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

WET - Web Extended Toolkit MCP サーバー

名称変更(2026-09-13): リポジトリ名は wet になりました。コマンドラインを優先しており、コマンドは wet です。PyPI パッケージ名は wet のままです(PyPI のポリシーにより、新しいプロジェクト wet は作成できません)。MCP サーバーは副次的なインターフェースです。サブコマンドを付けずに wet を実行してください。

mcp-name: io.github.n24q02m/wet

名称変更: リポジトリ、CLI、Python モジュールの名前は wet になりました。PyPI の配布名は wet-mcp のままです(pip install wet-mcp または uvx wet-mcp でインストールします)。MCP サーバーも引き続き利用できます。サブコマンドを付けずに wet を実行してください(コマンドだけの場合は MCP にパススルーします)。従来の wet-mcp コンソールエイリアスも引き続き使えます。

AI エージェント向けのオープンソース MCP サーバー:ウェブ検索、コンテンツ抽出、ライブラリのドキュメントに対応しています。

フェーズステータス対象範囲
フェーズ 1リリース済みweb-core ScrapingAgent の移行、スマートチャンク出力、検索の改善、メディアの軽量化
フェーズ 2リリース済みContext7 レベルのドキュメント検索:ライブラリインデックス(Tier 1 + Tier 2)、トークン上限付きのバージョン対応クエリ、プロジェクトロック(Cabinets)
フェーズ 3リリース済みextract.agent による引用付き統合を伴う複数ステップの調査、patchright 経由の extract.interact によるクリック/入力/送信(セッションの永続化は任意)、docs_004_chunk_summaries の移行、media.analyze を削除(v2.0.0)

現在のリリース:v3.x。 media(action="analyze") は v2.0.0 の破壊的変更を伴うリリースで削除されました。視覚/音声/動画の分析には imagine-mcp の understand アクションを使用してください。アップグレード方法については docs/migration.md を参照してください。

Mode CI codecov PyPI License: Apache-2.0

Python SearXNG MCP semantic-release Renovate

n24q02m の姉妹プロジェクト(クリックして展開) | プロジェクト | キャッチコピー | タグ | |---|---|---| | [agent-chat-plugin](https://github.com/n24q02m/agent-chat-plugin) | AI エージェント同士が共有フォルダーでチャットします。人間による仲介も、オーケストレーターも不要です。... | Tooling | | [crg](https://github.com/n24q02m/crg) | トークン効率の高いコードレビューのためのナレッジグラフ。セマンティック検索と呼び出し... | MCP | | [better-drive](https://github.com/n24q02m/better-drive) | .driveignore フィルターによる双方向の Google Drive 同期。rclone エンジン、Windows トレイ | Tooling | | [better-email-mcp](https://github.com/n24q02m/better-email-mcp) | AI エージェント向けの IMAP/SMTP メール。メールの閲覧、送信、フォルダーの整理、添付ファイルの管理... | MCP | | [better-godot-mcp](https://github.com/n24q02m/better-godot-mcp) | Godot Engine 向けの複合 MCP サーバー。AI 支援によるゲーム開発のための複合ツール 17 種... | MCP | | [better-notion-mcp](https://github.com/n24q02m/better-notion-mcp) | AI エージェント向けの Markdown ファーストな Notion。ページ、データベース、ブロック、コメント... | MCP | | [better-semantic-release](https://github.com/n24q02m/better-semantic-release) | リリース安全性ガードを組み込んだ python-semantic-release のドロップインフォーク(オープ... | Tooling | | [better-telegram-mcp](https://github.com/n24q02m/better-telegram-mcp) | AI エージェント向けの Telegram。両方のボ...でメッセージ、チャット、メディア、連絡先を扱えます... | MCP | | [better-workspace-mcp](https://github.com/n24q02m/better-workspace-mcp) | Google Workspace MCP サーバー(Docs/Drive/Calendar/Gmail/Sheets/Slides/Tasks/Ch... | MCP | | [claude-plugins](https://github.com/n24q02m/claude-plugins) | n24q02m の MCP サーバー向け Claude Code プラグインマーケットプレイス。Web 検索をインストール... | Marketplace | | [imagine-mcp](https://github.com/n24q02m/imagine-mcp) | AI エージェント向けの画像・動画の理解と生成。Gemini、Op... などに対応... | MCP | | [jules-task-archiver](https://github.com/n24q02m/jules-task-archiver) | batchexecute API を使用して Jules タスクを一括操作する Chrome 拡張機能。... | Tooling | | [mcp-core](https://github.com/n24q02m/mcp-core) | MCP サーバー構築のための共通基盤。ストリーミング可能な HTTP トランスポート、OAuth... | MCP | | [mnemo](https://github.com/n24q02m/mnemo) | ハイブリッド検索と組み込み同期を備えた永続的な AI メモリー。オープン、無料、無制限... | MCP | | [fastretrieval](https://github.com/n24q02m/fastretrieval) | ONNX と GGUF によるマルチモデル埋め込み・リランキングのランタイム | Library | | [skret](https://github.com/n24q02m/skret) | サーバー不要のシークレット管理。 | CLI | | [tacet](https://github.com/n24q02m/tacet) | ナレッジ全体にわたって LLM のコストを分散償却する、自己蒸留型のニューロシンボリック・カスケード... | Tooling | | [web-core](https://github.com/n24q02m/web-core) | 検索、スクレイピング、HTTP セキュリティ、スト...のための共通 Web インフラストラクチャパッケージ | Library | | [wet](https://github.com/n24q02m/wet) | AI エージェント向けのオープンソース MCP サーバー:Web 検索、コンテンツ抽出、ライブラリ... | MCP |

目次

WET MCP サーバー ## 機能
  • ウェブ検索 -- SearXNG メタ検索を組み込み(Google、Bing、DuckDuckGo、Brave)。クエリ拡張、TTL キャッシュ(一般:1 時間/時間依存:5 分)、標準化された引用形式、スニペットの上限 200 トークンに対応。SEARCH_BACKENDS を使ったフォールバックチェーンとして、オプションでクラウド検索バックエンド(Tavily、Brave、Exa、Kagi、OpenRouter、Firecrawl)も利用できます。
  • 学術研究 -- Google Scholar、Semantic Scholar、arXiv、PubMed、CrossRef、BASE を検索します。
  • ライブラリドキュメント -- ドキュメントを自動検出してインデックス化します。FTS5 ハイブリッド検索、HyDE による検索強化、バージョン固有のドキュメントに対応しています。
  • コンテンツ抽出 -- n24q02m-web-core の ScrapingAgent による 5 段階のエスカレーションチェーン(basic_http -> tls_spoof -> BROWSER_BACKENDS のレンダリングバックエンド(native / browserless / cf-browser-rendering)-> オプションのキー認証付き captcha)に対応。低ティアの HTML/MD フォールバック向けの markitdown ブリッジ、スマートチャンクによる構造化出力(クリーンテキスト + Markdown + JSON-LD + コードブロック + メタデータ)、バッチ処理(最大 50 URL)、ディープクロール、サイトマッピングを利用できます。
  • ローカルファイル変換 -- PDF、DOCX、XLSX、CSV、HTML、EPUB、PPTX を Markdown に変換します。
  • メディア -- 画像/動画/音声ファイルの一覧表示とダウンロードに対応します。analyze は v2.0.0 で削除されました。画像/音声の推論には imagine-mcp.understand を使用してください。
  • ボット対策 -- ステルス戦略により、Cloudflare、Medium、LinkedIn、Twitter を回避します。
  • 設定不要 -- fastretrieval によるローカルの埋め込みと再ランキングを内蔵しており、API キーは不要です。タスクごとにオプションのクラウドモデルを ~/.wet/config.toml の [models.embed|rerank|chat|jev_score] セルで設定できます(デフォルトは OpenRouter。1 つの OPENROUTER_API_KEY ですべてのセルを利用できます)。
  • 同期 -- Google Drive を使って、インデックス化されたドキュメントを複数のマシン間で同期します(OAuth Device Code、ブラウザーへのリダイレクトなし)。

クイックインストール

# Method 1 (default): plugin install via Claude Code
/plugin marketplace add n24q02m/claude-plugins
/plugin install wet@n24q02m-plugins

# Method 2 (CLI): direct uvx invocation
claude mcp add wet -- uvx wet-mcp

# Method 3 (source-built container for HTTP / multi-device / OAuth)
docker build --target http -t wet:local .
docker run -d --name wet-http -p 8084:8080 \
  -v wet-data:/data -e PUBLIC_URL=https://wet.example.com \
  wet:local

# Method 4 (remote): point a client at an HTTP deployment
claude mcp add --transport http wet https://<your-host>/mcp

インストール一覧(特記がない限り stdio。詳しい手順はセットアップページを参照):

クライアントインストール
Claude Code(プラグイン)/plugin marketplace add n24q02m/claude-plugins の後に /plugin install wet@n24q02m-plugins
Claude Code(stdio)claude mcp add wet -- uvx wet-mcp
Codex~/.codex/config.toml の mcp_servers に stdio コマンド uvx wet-mcp を登録します
Gemini CLI下記の mcpServers JSON を ~/.gemini/settings.json に追加します
Cursor / Windsurfクライアントの MCP 設定(mcp.json)から、下記の mcpServers JSON を追加します
任意のクライアント(HTTP セルフホスト)クライアントの接続先を https://<your-host>/mcp に設定します(Streamable HTTP、OAuth 認証が必要)

パブリック OCI イメージの公開は終了しました。既存の過去のレジストリタグはそのまま維持されます。新しいコンテナのデプロイでは、ソースからビルドするか、Cloudflare 管理のレジストリを使用してください。

HTTP エンドポイントは Streamable HTTP に対応し、OAuth 認証が必要です。初回接続時に、クライアントからブラウザーでの認証を求められます(貼り付ける API キーは不要です)。Method 3 またはCloudflare へのデプロイのセクションで起動してください。

セットアップ一覧の全文は、正規ドキュメントサイトの mcp.n24q02m.com/servers/wet/setup/ で、エージェントに貼り付けるスニペットは claude-plugins/plugins/wet/setup-with-agent.md で確認できます(Spec F に従い、唯一の信頼できる情報源を使用)。

セルフホストでの利用

常時稼働する HTTP サーバーの起動方法は 2 つあります。どちらの場合も、MCP エンドポイントは http://127.0.0.1:8000/mcp(Streamable HTTP)、設定ルートは ~/.wet/(config.toml、docs.db、subs/)です。サーバーをクライアントの子プロセスとして起動しないでください。代わりに、クライアントにエンドポイントを登録してください。

開発環境(uv、認証なしのループバック)
git clone https://github.com/n24q02m/wet && cd wet
uv run wet config init            # writes ~/.wet/config.toml (default: auth = "no-auth")
uv run wet                        # serves http://127.0.0.1:8000/mcp

no-auth はループバック以外へのバインドを拒否するため、トークン認証に切り替えるまではサーバーは localhost のみで利用できます。

常時起動(docker)
# 1. Mint a token and its scrypt hash (hull-core canonical; the hash command
#    never echoes the token itself)
openssl rand -hex 32                 # the token — give it to clients, keep it secret
uv run wet token hash <token>        # paste the output as token_hash

# 2. Instance config from the example
cp docker-config/config.example.toml docker-config/config.toml
#    edit [server] token_hash and the [models.*] cells (see below)

# 3. Data continuity (optional): carry an existing instance over by copying
#    docs.db and subs/ into the wet-home named volume BEFORE first start:
docker volume create wet-wet-home && \
  docker cp ~/.wet/docs.db wet-wet-home:/docs.db && \
  docker cp ~/.wet/subs wet-wet-home:/subs  # adjust: files land as root, chown 999:999

docker compose up -d --build

Compose は 127.0.0.1:${WET_PORT:-8000} をコンテナーの 8000 に公開し(ループバックのみ)、docker-config/config.toml を /home/appuser/.wet/config.toml に読み取り専用でマウントします。永続データ(docs.db、subs/)は名前付きボリューム wet-home に保存され、ダウンロード/キャッシュディレクトリは wet-data に保存されます。設定を編集した場合は、docker compose restart で反映されます。

利用者
# CLI (same token, JSON-RPC over HTTP not needed — use the installed CLI):
uvx wet-mcp --help                  # or `wet <tool>` for direct tool calls

# MCP client (Claude Code):
claude mcp add --transport http wet http://127.0.0.1:8000/mcp \
  --header "Authorization: Bearer <token>"

# Raw probe:
curl -s -o /dev/null -w '%{http_code}\n' http://127.0.0.1:8000/mcp \
  -X POST -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}'            # 401
curl -s -o /dev/null -w '%{http_code}\n' http://127.0.0.1:8000/mcp \
  -X POST -H 'Authorization: Bearer <token>' -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"curl","version":"0"}}}'  # 200
設定:ローカルモデルとクラウドモデル

~/.wet/config.toml の [models.embed|rerank|chat|jev_score] セルはタスクごとに設定します(それぞれに固有の base_url、api_key、model があり、OpenAI 仕様に準拠します)。同梱の例では OpenRouter を使用しています。クラウドでも、Ollama などのローカルサーバーでも、OpenAI 互換のエンドポイントであれば利用できます(コンテナーからの base_url = "http://host.docker.internal:11434/v1")。ファイル内のキーはホスト上でのみ使用されます。代わりに api_key = "" のままにして、起動時に HULL_EMBED_API_KEY/HULL_RERANK_API_KEY/HULL_CHAT_API_KEY/HULL_JEV_SCORE_API_KEY から設定することもできます。

設定

wet は設定不要ですぐに動作します。ウェブ検索には組み込みのローカル SearXNG を使用し、クラウドキーが設定されていない場合、埋め込みと再ランキングは fastretrieval 経由で同梱のローカル ONNX モデルにフォールバックします。より高品質な結果を得るには、~/.wet/config.toml のタスクごとのプロバイダーセルを設定してください。運用設定は通常の環境変数(アプリのプレフィックスなし)で指定します。HTTP セルフホストモードでは、代わりにブラウザーのセットアップフォームから入力します。

プロバイダーセル — [models.embed|rerank|chat|jev_score] はそれぞれ固有の base_url、api_key、model を指定します(OpenAI 仕様に準拠)。すべてのセルには OpenRouter があらかじめデフォルトとして設定されています。OpenAI 互換のエンドポイントであれば利用できます。ファイル内のセルキーは空のままにして、起動時に HULL_EMBED_API_KEY/HULL_RERANK_API_KEY/HULL_CHAT_API_KEY/HULL_JEV_SCORE_API_KEY から設定できます。セルの base_url が OpenRouter のデフォルトのままの場合、環境変数の OPENROUTER_API_KEY が最後の手段の認証情報として使用されます。OpenRouter のキー1つですべてのタスクを実行できます。embed/rerank セルが空の場合はローカル ONNX モデルにフォールバックします。chat セルにキーが設定されていない場合、LLM 機能(例:extract(action="agent"))は無効になります。

FASTRETRIEVAL_CACHE_PATH はローカルモデルのキャッシュを制御します。

検索バックエンド — SEARCH_BACKENDS は実行時のフォールバックチェーンを順序付きで指定します。searxng(デフォルト。ローカルまたは SEARXNG_URL で外部指定)、キーが必要な tavily/brave/exa/kagi/openrouter、キーが任意の firecrawl、認証情報不要の duckduckgo/startpage を指定できます。キーが必要なプロバイダーでは、TAVILY_API_KEY、BRAVE_API_KEY、EXA_API_KEY、KAGI_API_KEY、または OPENROUTER_API_KEY を使用します(ローテーションする場合はカンマで区切ります)。openrouter バックエンドは、openrouter:web_search サーバーツールを使ったチャット補完でクエリーを実行し、返された url_citation アノテーションを共通の結果形式に対応付けます。OPENROUTER_MODEL(デフォルトは無料枠のモデル)、OPENROUTER_BASE_URL、OPENROUTER_SEARCH_ENGINE で動作を変更できます。FIRECRAWL_API_KEY がない場合、Firecrawl はキーなしでリクエストを試みます。拒否された場合、または DuckDuckGo/Startpage のボットチャレンジが発生した場合は、次のバックエンドに進みます。

結果の再ランキングには、設定された rerank セルを使用します([models.rerank] — デフォルトでは OpenRouter 経由のクラウド、またはキーがない場合はローカル ONNX)。同じチェーンが、ウェブ検索、リサーチ、類似ページ検索、エージェント検索、ドキュメントの検出/インデックス作成の各フォールバックで使われます。SearXNG はリサーチ時に科学カテゴリのフィルターを保持します。他のプロバイダーでは、それぞれの検索機能を使用します。ホスト型ユーザーは、自分のリレーのレコードでチェーンとキーを設定します。ホスト型の空のレコードが、運用者のプロバイダーキーやローカルの SearXNG URL を引き継ぐことはありません。単一ユーザーの stdio では引き続き環境変数/設定を使用し、公開されているローカルパスを維持します。 ブラウザーレンダリングのバックエンド -- BROWSER_BACKENDS(CSV形式、エスカレーションチェーン)で、extract のヘッドレスレンダリング段階を選択します。native(プロセス内の Chromium、設定不要のデフォルト)、browserless(セルフホストのレンダリングサービス。BROWSERLESS_URL と BROWSERLESS_TOKEN を設定)、cf-browser-rendering(Cloudflare Browser Rendering。CF_ACCOUNT_ID と CF_BROWSER_RENDERING_TOKEN を設定)があります。チェーンが空の場合は native にフォールバックします。CAPSOLVER_API_KEY を設定すると、キーが必要なオプションの CAPTCHA 段階が、最後のエスカレーション手順として追加されます。

Robots ポリシー -- RESPECT_ROBOTS_TXT=true を設定すると、extract のストラテジーチェーンと、Crawl4AI ベースの crawl、sitemap、list_media アクションの両方で robots.txt が適用されます。既存のデプロイ動作を維持するため、デフォルトは false です。運用者が robots の適用を必要とする場合は、このプロセスレベルのポリシーを明示的に設定してください。

不可視ティアとシード済み ID(オプトイン)-- BROWSER_BACKENDS に invisible を追加すると、ステルス Firefox エンジンのティアが最後のエスカレーション手順として追加されます(n24q02m-hull[invisible] エクストラ:pip install "wet-mcp[invisible]")。一貫したブラウザー ID がチェーン全体で使用されます。WET_IDENTITY_SEED でシードを指定するか、wet に一度だけ生成させて ~/.wet/subs/<sub>/identity.json に保存し、wet[identity] エクストラをインストールしてください。エクストラがない場合、チェーンは従来の動作を維持します(警告は一度のみ)。STEALTHFOX_BINARY は、エンジンのダウンロードを省略するためのパッチ適用済み Firefox ビルドを指定します。IDENTITY_PROFILE_DIR(デフォルトは ~/.wet/subs/<sub>/profiles)には、名前空間ごとの永続的なブラウザープロファイルが保存されます。

ローカルフォールバックの無効化 -- 機能ごとに負荷の大きいプロセス内ローカルフォールバックをオプトアウトできます(たとえば、クラウドバックエンドのみでレンダリング、検索、埋め込みを行う軽量コンテナの場合)。DISABLE_LOCAL_BROWSER、DISABLE_LOCAL_SEARCH、DISABLE_LOCAL_EMBED、DISABLE_LOCAL_RERANK を設定します。

ドキュメントの同期 -- SYNC_ENABLED(デフォルトは true)、GOOGLE_DRIVE_CLIENT_ID(同期に必須)、SYNC_FOLDER(デフォルトは wet)、SYNC_INTERVAL(デフォルトは 300秒)。同期では OAuth Device Code フローを使用して Google Drive に接続します(ブラウザーリダイレクトはありません)。 DOCS_DB_BACKEND=cf-d1 を設定すると、レガシーの同期設定が残っていても、自動起動、リレーウィザード、デバイスコード設定を含む GDrive/S3 ファイル同期が無効になります。CF 以外の SQLite デプロイでは GDrive 同期が維持されます。SYNC_S3_BUCKET を指定すると代わりに S3 が選択され、SYNC_ENABLED=false を設定すると両方が無効になります。

HTTP セルフホスト -- MCP_TRANSPORT=http、PUBLIC_URL=<your-domain>。セットアップフォームは MCP_RELAY_PASSWORD で保護されます。マルチユーザーデプロイでは、CREDENTIAL_SECRET(ユーザーごとの保管庫キー)、MCP_JWT_SIGNING_SECRET(ローテーション可能な OAuth JWT キー)、MCP_DCR_SERVER_SECRET が必要です。

stdio 設定の例(1つの OpenRouter キーですべてのプロバイダー欄を利用できます):

{
  "mcpServers": {
    "wet": {
      "command": "uvx",
      "args": ["wet-mcp"],
      "env": {
        "OPENROUTER_API_KEY": "sk-or-xxx"
      }
    }
  }
}

タスクごとに異なるエンドポイントやモデルを使用するには、~/.wet/config.toml の [models.*] 欄を編集するか、キーをファイルに保存する代わりに、起動時に HULL_EMBED_API_KEY / HULL_RERANK_API_KEY / HULL_CHAT_API_KEY / HULL_JEV_SCORE_API_KEY を渡してください。

ステータス

2つのトランスポート、stdio(デフォルト、ローカル)と HTTP(セルフホスト、OAuth で保護)を備えた安定したアーキテクチャです。デーモンブリッジ層はなく、stdio からの自動起動もありません。media.analyze アクションは v2.0.0 の BREAKING リリースで削除されました。アップグレード手順については docs/migration.md を参照してください。現在のリリース系列:v3.x。

ドキュメント

完全なドキュメントは mcp.n24q02m.com/servers/wet/setup/ にあります:

リポジトリ内の参照資料(Spec F の信頼できる唯一の情報源:セットアップドキュメントは claude-plugins/plugins/wet/ にあります):

  • docs/ARCHITECTURE.md -- web-core の ScrapingAgent 統合、戦略チェーン、ストレージ構成、LLM プロバイダーの振り分け
  • docs/BENCHMARKS.md -- v1.x のベースラインカバレッジ/レイテンシのプレースホルダーと Tier 1 フィクスチャのメトリクス

AI エージェントでインストール -- 次の内容を AI コーディングエージェントに貼り付けます:

MCP サーバー wet を、次の手順に従ってインストールしてください: https://raw.githubusercontent.com/n24q02m/claude-plugins/main/plugins/wet/setup-with-agent.md

ツール

MCP ツールは 6 個です(ドメインツール 3 個 + config + help + config__open_relay)。従来の setup ツールは config のアクション振り分けに統合されました。

ツール説明
searchWeb(SearXNG メタ検索)、ニュース、画像、学術研究(Scholar / arXiv / PubMed / CrossRef / Semantic Scholar / BASE)、ライブラリのドキュメント(HyDE + FTS5)、類似ページの検索。docs_resolve(ライブラリ名 -> ランク付けされた ID)、docs_query(バージョン対応 + トピック + 5000 トークン上限)、docs_lock_project(pyproject / package.json / go.mod / Cargo.toml のマニフェスト検出による Cabinets プロジェクトの固定)を含みます。
extractURL -> web-core の 5 段階戦略チェーンによるスマートチャンク辞書(clean_text + markdown + structured_data + code_blocks + metadata)。バッチ処理(最大 50 URL)、ディープクロール、サイトマッピング、ローカルファイル変換(PDF/DOCX/XLSX/PPTX/EPUB)、構造化抽出(JSON Schema)
medialist(ギャラリーページから URL を検出)、download(SSRF 対策済み)。analyze は v2.0.0 で削除されました。代わりに imagine-mcp.understand を使用してください
configstatus、set、cache_clear、docs_reindex、warmup、setup_sync、setup_status、setup_skip、setup_reset、setup_complete
helpツールごとのドキュメント:search、extract、media、config
config__open_relayゼロ設定のリレーセットアップフローを再実行します(ブラウザフォーム用の新しいリレー URL を出力します)。mcp-core の register_open_relay_tool 経由で登録されているため、LLM は手動で再起動せずにセットアップを再開できます。

メディアの範囲:画像キャプション生成、OCR、音声文字起こし、動画要約などの視覚/音声の理解には、 imagine-mcp を使用してください。media.analyze は wet v2.0.0 で削除されました。代わりに imagine-mcp.understand を使用してください。

CLI

このパッケージは 2 つのコンソールスクリプトをインストールします:wet(主要)と wet-mcp (既存の uvx wet-mcp 設定との互換性を保つ従来のエイリアス)。引数なしの呼び出し (または先頭がハイフンのフラグ)ではサーバーが起動し、先頭の位置引数はサブコマンドとして実行されます。

uvx --from wet-mcp wet warmup   # try a subcommand without a persistent install

wet                             # start the server over stdio (default transport)
wet --http                      # start the server over Streamable HTTP (self-host mode)

wet auth google                 # authorize the Google credential provider for Drive sync
wet logout                      # clear the local Google Drive sync token
wet warmup                      # pre-download local models + run auto-setup (SearXNG, browser) to avoid first-run delays
wet docs reindex <library>      # drop the cached docs index for <library>; the next docs search re-indexes it

auth google では、--client-id および --client-secret を指定して、任意の OAuth クライアントを持ち込めます (シングルユーザー/ローカルマシン専用。トークンはローカルストアに書き込まれます)。各サブコマンドは JSON の結果を出力して終了します。

機能wetBrave SearchTavilyFirecrawlContext7
Web 検索はい(SearXNG 集約)はいはいいいえいいえ
URL 抽出はい(5 段階戦略チェーン)いいえはい(基本機能)はいいいえ
メディアの一覧表示/ダウンロードはいいいえいいえいいえいいえ
ライブラリドキュメント検索はい(Tier 1 の厳選データ + Tier 2 のオンデマンド、バージョン対応、Cabinets)いいえいいえいいえはい
学術研究はい(6 プロバイダー)いいえいいえいいえいいえ
セルフホスト可能はいいいえいいえいいえはい
無料プランはい(オープンソース)制限あり制限あり制限ありはい

セキュリティ

  • SSRF の防止 -- クロール対象 URL の検証
  • フォールバック処理 -- クラウド → ローカルの埋め込み、多段階クロール
  • エラーのサニタイズ -- エラーメッセージに認証情報を含めません
  • ファイル変換のサンドボックス化 -- オプションの CONVERT_ALLOWED_DIRS 制限

ソースからビルド

git clone https://github.com/n24q02m/wet.git
cd wet
uv sync
uv run wet

Cloudflare にデプロイ

Cloudflare にデプロイ

Cloudflare 上で、サーバーレスのシングルユーザー向け wet インスタンスを実行できます(Containers + D1 + Vectorize + KV)。

前提条件: Containers、D1、Vectorize の利用に必要な Cloudflare の Workers Paid プランのアカウント(Cloudflare の無料プランにはこれらが含まれていません)と、wrangler CLI。

  1. git clone https://github.com/n24q02m/wet && cd wet
  2. wrangler login
  3. リソースをプロビジョニングし、D1 スキーマを適用します:
    wrangler d1 create wet-docs
    wrangler d1 execute wet-docs --file migrations/0001_init_wet.sql --remote
    wrangler d1 execute wet-docs --file migrations/0002_project_context.sql --remote
    wrangler d1 execute wet-docs --file migrations/0003_version_index_state.sql --remote
    wrangler vectorize create wet-docs-vectors --dimensions 768 --metric cosine
    wrangler kv namespace create wet-kv
    
    返された ID を wrangler.jsonc に貼り付けます。
  4. このチェックアウトからスリムな HTTP イメージをビルドし、Cloudflare のマネージドレジストリに直接プッシュします(CF Containers は外部レジストリからイメージをプルできません):
    docker build --target http --build-arg SLIM=1 -t wet:beta .
    wrangler containers push wet:beta   # prints registry.cloudflare.com/<ACCOUNT_ID>/wet:beta
    
  5. オペレーター認証/ストレージと Browser Run のシークレットを設定します:
    wrangler secret put CREDENTIAL_SECRET
    wrangler secret put MCP_JWT_SIGNING_SECRET
    wrangler secret put MCP_RELAY_PASSWORD
    wrangler secret put MCP_DCR_SERVER_SECRET
    wrangler secret put CF_BROWSER_RENDERING_TOKEN
    
  6. wrangler deploy を実行し、Worker のドメインにあるブラウザーリレーフォームでセットアップを完了します。

ストレージは、MCP_STORAGE_BACKEND=cf-kv(認証情報/トークン、暗号化)、DOCS_DB_BACKEND=cf-d1(ドキュメント + BM25 全文検索)、および Vectorize(埋め込み)を介して Cloudflare に接続されます。デフォルトのヘッドレスレンダラーは BROWSER_BACKENDS=cf-browser-rendering です。スリムイメージではローカル ONNX フォールバックは無効です。検索とクラウド検索は、認証された各サブジェクトのリレーレコードで設定してください。Worker 全体の検索/モデルチェーンとプロバイダーキーはコンテナに転送されません。

config.toml のタスクごとの [models.*] セルで、クラウドの埋め込み/再ランキング/チャットを設定します。各セルの base_url を任意の OpenAI 互換エンドポイントに設定してください。デフォルトは OpenRouter です。キーはセルの api_key または対応する HULL_<TASK>_API_KEY 環境変数で指定します。OpenRouter のデフォルトの base_url を使用するすべてのセルで、1 つの OPENROUTER_API_KEY を共有できます。検索プロバイダーのキー付き認証情報(TAVILY_API_KEY など)は、同じサブジェクトレコードに保存してください。Vectorize と EMBEDDING_DIMS には、選択した埋め込みモデルがサポートする次元数を設定してください。

デプロイ(メンテナンス対象のインスタンス)

タグ付きリリースはすべて自動でデプロイされます(下記の一時停止に関する注記のとおり、CF_DEPLOY_ENABLED ゲートが有効な場合のみ)。CD の deploy-cf ジョブはリリースタグをチェックアウトし、http-slim イメージをビルドして、変更不可の :<release-tag> として Cloudflare 管理のレジストリにプッシュし、Worker をデプロイした後、カナリアヘルスチェックで確認します。リリースはそのバージョンそのものとして稼働します。ベータ版のディスパッチではベータ版が再デプロイされ、安定版のディスパッチにはメンテナーの承認が必要です。メンテナンス対象のインスタンスに対する手動の wrangler deploy は許可されていません。リリースタグと稼働中のイメージの対応関係が崩れるためです。ご自身の Cloudflare アカウントでのセルフホスト(上のボタン)は影響を受けません。

2026-09-13 に一時停止: CF デプロイトークンはマニフェスト外での運用(プロセス違反)のため、アカウントから削除されました。そのため、deploy-cf は CF_DEPLOY_ENABLED リポジトリ変数によって何もしない状態になっています。文書化された手順でトークンが再設定され、変数が true に設定されるまで、メンテナンス対象のインスタンスは最後にデプロイされたリリースで凍結されます。

Smithery

wet には smithery.yaml が含まれているため、Smithery を通じてインストールして実行できます。このマニフェストでは、stdio の起動コマンド(uvx --python 3.13 wet-mcp)を宣言し、設定スキーマは空です。起動時に必要な設定はなく、プロバイダーと認証情報は実行時にサーバー独自の設定フローで構成します(設定を参照)。

信頼モデル

このプラグインは TC-Local(マシンに紐づく、単一の信頼主体)を実装しています。分類の詳細については、mcp-core の信頼モデルを参照してください。

モードストレージ暗号化データを読み取れるユーザー
stdio(デフォルト)~/.wet/config.jsonAES-GCM、マシンに紐づくキーOS のユーザーのみ(ファイル権限 0600)
HTTP セルフホストstdio と同じ同上あなただけ(管理者 = ユーザー)

ライセンス

Apache-2.0 -- LICENSE を参照してください。

コメント

MCP は初めてですか?

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

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