MCP Web Search Pro
MCP Web Search Pro
拡張されたセルフホスト型のWebリサーチサーバーで、MCP互換クライアント向けです。AIアシスタントに、Webページの発見、読みやすいコンテンツの抽出、JavaScriptアプリケーションのレンダリング、ページが利用できない場合のInternet Archiveの活用、YouTubeのキャプション読み取りといったツールを提供します。
このサービスはローカルまたは信頼できるネットワークでの使用を想定しています。ステートレスで、APIキーは不要で、MCP Streamable HTTPトランスポートをポート8082で公開します。別のポートで動作する軽量なWeb検索MCPサーバーと並べて実行できます。
軽量なmcp-web-search(ポート8081)とともに別のコンテナとしてポート8082で動作します。タスクに応じてクライアントをどちらかに向けてください — Proが遅く感じられたとしても、軽量版はそのまま手つかずで存在しています。
機能
DuckDuckGoによるWeb検索、結果数の制限とリージョン選択に対応。
ナビゲーションや定型文を除去した、読みやすいHTMLのMarkdown抽出。
PDFの自動検出とテキスト抽出。
React、Vue、SPAなどJavaScriptを多用するページ向けのヘッドレスChromiumレンダリング。
利用不可または変更されたページのWayback Machineスナップショット。
URLまたは動画IDからのYouTubeトランスクリプト、タイムスタンプのオプション付き。
コンテナとプロセスの確認用
/healthエンドポイント。ステートレスなStreamable HTTPおよびstdio MCPトランスポート。
Related MCP server: Basic MCP Tools
MCPツール
ツール | 説明 |
| DuckDuckGo (ddgs) でWeb検索。引数: |
| URLを取得 → Markdown。PDFを自動検出しテキスト抽出。trafilaturaを使用してクリーンな記事抽出(ナビ/広告/定型文を除去)。引数: |
| ヘッドレスChromiumでJavaScript多用/SPAページをレンダリングし、テキスト抽出。 |
| Wayback MachineからURLの最新(またはタイムスタンプ指定)のアーカイブスナップショットを取得。一時的な503でリトライ。引数: |
| YouTube動画のトランスクリプトを取得。完全なYouTube URLまたは11文字の動画IDを受け付け。引数: |
通常のページにはweb_fetchを使用してください(高速)。web_fetchが空のシェルや不完全なコンテンツを返す場合、サイトがクライアントサイドJavaScriptに依存しているためweb_fetch_jsを使用します。
Dockerで実行
docker compose up -d --build確認:
curl http://localhost:8082/health # → {"status":"ok"}ログ / 再起動 / 停止:
docker compose logs -f
docker compose restart
docker compose down初回ビルドはChromiumをPlaywright用にダウンロードするため大きい(約400MB)。以降のビルドはキャッシュされたレイヤーを再利用します。
クライアントの接続
任意のMCP互換クライアントを以下に向けてください:
http://<server-host>:8082/mcpヘッダーやAPIキーは不要です。サーバーはステートレスモードで動作します。
Dockerなしでローカル実行
Python 3.12を推奨:
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
playwright install --with-deps chromium
python server.pyHTTPトランスポートを直接実行:
python server.py --sse --host 127.0.0.1 --port 8082歴史的な--sseオプション名ですが、HTTP実装はステートレスなMCP Streamable HTTPトランスポートを使用しています。
パフォーマンスに関する注意
実行時に重いのは
web_fetch_jsのみ — 呼び出しごとにChromiumを起動します(約5–15秒)。他の4つのツールは軽量なPure Pythonで、応答性は良好です。docker-compose.yml内のshm_size: 1gbにより、コンテナ内でのChromiumサンドボックスクラッシュを防止します。通常の非JSページには
web_fetch(高速)を使用し、web_fetch_jsはJavaScriptでコンテンツをレンダリングするReact/Vue/SPAサイトのために確保してください。
設定
ポートを変更するには、docker-compose.yml内のports:マッピングとcommand:の両方を編集します。デバッグ用に生のリクエスト/レスポンスログを有効にするには、コメントアウトされた--verboseのcommand:行に切り替えてください。
検証
このリポジトリはソースコードとDockerビルド設定としてプッシュされることを意図しています。現在、自動テストスイートはありません。推奨されるプロジェクトチェック:
git diff --check
docker compose config
docker compose up -d --build
curl http://localhost:8082/health
docker compose logs --tail=100
docker compose down認証を追加したり、信頼できるリバースプロキシの背後に配置したりせずに、このサービスを直接パブリックインターネットに公開しないでください。HTTPモードは0.0.0.0にバインドし、APIキーなしでリクエストを許可し、すべてのオリジンを許可します。これはローカルのMCPクライアントには便利ですが、アクセス制御層ではありません。
セキュリティと運用上の注意
web_fetchとweb_fetch_jsは任意のHTTP(S) URLをリクエストできます。信頼できないユーザーがサービスを呼び出せる場合は、ネットワークアクセスを制限するか、URL/DNSの保護を追加してください。--verboseはリクエストとレスポンスのボディをログに記録するため、短いローカルデバッグセッション以外では無効にしておいてください。依存関係は最小バージョン制約を使用しています。再現可能なプロダクションビルドに依存する前に、バージョンを固定またはロックしてください。
ファイル
server.py— MCPサーバー(5ツール)requirements.txt—mcp,httpx,beautifulsoup4,markdownify,ddgs,trafilatura,pypdf,youtube-transcript-api,playwrightDockerfile— Python 3.12-slim + Playwright Chromiumdocker-compose.yml— ポート8082のサービス、shm_size: 1gb
ライセンス
現在ライセンスファイルは含まれていません。外部からのコントリビューションを受け入れたり、プロジェクトを再配布したりする前にライセンスを追加してください。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityAmaintenanceZero-auth multi-source research MCP server that enables web search, reading URLs, PDFs, GitHub repos, and querying Hacker News, Stack Overflow, Semantic Scholar, and YouTube transcripts without API keys.10Apache 2.0
- Flicense-qualityBmaintenanceA self-hosted MCP server providing private web search, web page fetching, and current date/time tools, powered by a bundled SearXNG instance for API-key-free local search.2
- Alicense-qualityCmaintenanceA fully local MCP server that provides web search via self-hosted SearXNG and page-to-markdown conversion (static and JS-rendered), all aggregated behind a single endpoint for use with AI assistants.MIT
- Alicense-qualityBmaintenanceMCP server enabling local-first web search, fetch, extract, and caching with citeable excerpts, no API key required. Supports research workflows for agents and apps.323MIT
Related MCP Connectors
An MCP server for deep research or task groups
Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only
An MCP server that gives your AI access to the source code and docs of all public github repos
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/AngelN-Halo/mcp-web-search-pro'
If you have feedback or need assistance with the MCP directory API, please join our Discord server