Web MCP Server について
Web MCP Serverは、AIアシスタント向けにウェブ検索とページ本文の取得を提供します。DuckDuckGoの検索結果URL、ページ取得、Mozilla Readabilityによる任意の本文抽出を組み合わせています。
主な機能
- 01DuckDuckGoウェブ検索
- 02件数を指定できる検索結果URL
- 03URLからテキストを取得
- 04Readabilityによる本文抽出
- 05コンテンツ長の指定
活用シーン
- 01検索語に合うページを探す
- 02URLから読みやすいテキストを取得
- 03コンテキストに合わせてページ内容を制限
MCP 対応
DuckDuckGo検索とURL読み取りのツールをMCPクライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Web MCP Server
AI アシスタント向けに、ウェブ検索とコンテンツ取得機能を提供する Model Context Protocol(MCP)サーバーです。
Features
このサーバーは、主に次の 2 つのツールを提供します。
- search_duckduckgo:DuckDuckGo を使ってウェブ検索を行い、検索結果の URL を返します
- read_url:URL からコンテンツを取得して処理し、読みやすくするために HTML マークアップを取り除きます
Setup
# Install dependencies
npm install
# Development (with auto-reload)
npm run dev
# Production build
npm run build
npm start
Running locally
次のコマンドを使用します。
npx https://zgagnon.com/webmcp
または
nix run github:zgagnon.com/webmcp
API
search_duckduckgo
DuckDuckGo を使ってウェブ検索を行い、検索結果の URL のみを返します。
入力:
query(string、必須):実行する検索クエリlimit(number、任意):返す結果の最大数(デフォルト:10)
出力:
- 検索クエリに一致する URL のリスト
read_url
指定された URL からテキストコンテンツを取得して返します。HTML マークアップは取り除かれます。意味のあるコンテンツを抽出するため、Mozilla の Readability を使用します。
入力:
url(string、必須):コンテンツを取得する URLuseReadabilityMode(boolean、任意):メインコンテンツの抽出に Mozilla の Readability を使用するかどうか(デフォルト:true)maxLength(number、任意):返すコンテンツの最大文字数(デフォルト:10000)
出力:
- URL のプレーンテキストコンテンツ。コンテキストウィンドウに収めるために切り詰められる場合があります
Error Handling
サーバーは、次の場合にエラーを返します。
- いずれかのツールに無効な引数が指定された場合
- URL の取得に失敗した場合
- 検索の実行に失敗した場合
Implementation Details
サーバーでは、次のものを使用します。
- HTML の処理とコンテンツの抽出に JSDOM と Mozilla の Readability
- HTTP リクエストに Node-fetch
- スキーマ検証に Zod
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。