WebSearch - Advanced Web Search and Content Extraction Tool について
WebSearch は Firecrawl API を使ってウェブ検索やページ処理を行う Python 製 MCP サーバーです。検索、情報抽出、サイトのクロール、ページのスクレイピングを提供し、一部の拡張機能では OpenAI API キーを任意で利用します。
主な機能
- 01パラメーターを設定してウェブ検索
- 02自然言語のプロンプトで情報を抽出
- 03深度とページ数を指定してサイトをクロール
- 04複数の形式でページをスクレイピング
活用シーン
- 01クエリに関連するウェブ検索結果の取得
- 02複数の URL から指定情報を抽出
- 03サイト内のページ内容を収集
- 04ページのコンテンツやスクリーンショットを取得
MCP 対応
Search、Extract、Crawl、Scrape を MCP ツールとして公開し、Claude for Desktop などのクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
WebSearch - 高度な Web 検索とコンテンツ抽出ツール
Firecrawl API を活用し、高度な Web スクレイピング、検索、コンテンツ分析機能を実現する、Python 製の強力な Web 検索・コンテンツ抽出ツールです。
🚀 機能
- 高度な Web 検索:カスタマイズ可能なパラメーターを使用して、インテリジェントな Web 検索を実行します
- コンテンツ抽出:自然言語のプロンプトを使用して、Web ページから特定の情報を抽出します
- Web クロール:深度と上限を設定して Web サイトをクロールします
- Web スクレイピング:さまざまな出力形式に対応し、Web ページをスクレイピングします
- MCP 統合:シームレスに統合できるよう、Model Context Protocol(MCP)サーバーとして構築されています
📋 前提条件
- Python 3.8 以上
- uv パッケージマネージャー
- Firecrawl API キー
- OpenAI API キー(任意。拡張機能を利用する場合)
- Tavily API キー(任意。追加の検索機能を利用する場合)
🛠️ インストール
- uv をインストールします。
# On Windows (using pip)
pip install uv
# On Unix/MacOS
curl -LsSf https://astral.sh/uv/install.sh | sh
# Add uv to PATH (Unix/MacOS)
export PATH="$HOME/.local/bin:$PATH"
# Add uv to PATH (Windows - add to Environment Variables)
# Add: %USERPROFILE%\.local\bin
- リポジトリをクローンします。
git clone https://github.com/yourusername/websearch.git
cd websearch
- uv で仮想環境を作成して有効化します。
# Create virtual environment
uv venv
# Activate on Windows
.\.venv\Scripts\activate.ps1
# Activate on Unix/MacOS
source .venv/bin/activate
- uv で依存関係をインストールします。
# Install from requirements.txt
uv sync
- 環境変数を設定します。
# Create .env file
touch .env
# Add your API keys
FIRECRAWL_API_KEY=your_firecrawl_api_key
OPENAI_API_KEY=your_openai_api_key
🎯 使い方
Claude for Desktop の設定
サーバーを直接起動する代わりに、Claude for Desktop から WebSearch ツールにアクセスできるよう設定できます。
-
Claude for Desktop の設定ファイルを探すか、新規作成します。
- Windows:
%env:AppData%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
-
mcpServersセクションに WebSearch サーバーの設定を追加します。
{
"mcpServers": {
"websearch": {
"command": "uv",
"args": [
"--directory",
"D:\\ABSOLUTE\\PATH\\TO\\WebSearch",
"run",
"main.py"
]
}
}
}
-
ディレクトリのパスを、WebSearch プロジェクトフォルダーの絶対パスに置き換えてください。
-
設定ファイルを保存し、Claude for Desktop を再起動します。
-
設定が完了すると、Claude for Desktop のツールメニュー(ハンマーアイコン)に WebSearch ツールが表示されます。
利用可能なツール
-
検索
-
情報の抽出
-
Web サイトのクロール
-
コンテンツのスクレイピング
📚 API リファレンス
検索
query(str):検索クエリ- 戻り値:JSON 形式の検索結果
抽出
urls(List[str]):情報を抽出する URL のリストprompt(str):抽出の指示enableWebSearch(bool):補助的な Web 検索を有効にするかどうかshowSources(bool):出典を含めるかどうか- 戻り値:指定された形式で抽出された情報
クロール
url(str):開始 URLmaxDepth(int):クロールの最大深度limit(int):クロールするページの最大数- 戻り値:Markdown/HTML 形式のクロール済みコンテンツ
スクレイピング
url(str):対象 URL- 戻り値:オプションのスクリーンショットを含む、スクレイピング済みコンテンツ
🔧 設定
環境変数
このツールを使用するには、特定の API キーが必要です。テンプレートとして使用できる .env.example ファイルを用意しています。
- サンプルファイルをコピーします。
# On Unix/MacOS
cp .env.example .env
# On Windows
copy .env.example .env
.envファイルを編集し、API キーを設定します。
# OpenAI API key - Required for AI-powered features
OPENAI_API_KEY=your_openai_api_key_here
# Firecrawl API key - Required for web scraping and searching
FIRECRAWL_API_KEY=your_firecrawl_api_key_here
API キーの取得方法
-
OpenAI API キー:
- OpenAI のプラットフォームにアクセスします
- アカウントを作成するか、ログインします
- API キーのセクションに移動します
- 新しいシークレットキーを作成します
-
Firecrawl API キー:
- Firecrawl の Web サイトにアクセスします
- アカウントを作成します
- ダッシュボードに移動します
- 新しい API キーを生成します
正しく設定されていれば、検索結果を含む JSON レスポンスが返されます。
トラブルシューティング
エラーが発生した場合は、次の点を確認してください。
- 必要な API キーがすべて
.envファイルに設定されていることを確認します - API キーが有効で、有効期限が切れていないことを確認します
.envファイルがプロジェクトのルートディレクトリにあることを確認します- 環境変数が正しく読み込まれていることを確認します
🤝 コントリビューション
- リポジトリをフォークします
- フィーチャーブランチを作成します(
git checkout -b feature/AmazingFeature) - 変更をコミットします(
git commit -m 'Add some AmazingFeature') - ブランチにプッシュします(
git push origin feature/AmazingFeature) - プルリクエストを作成します
📝 ライセンス
このプロジェクトは MIT License のもとでライセンスされています。詳細は LICENSE ファイルをご覧ください。
🙏 謝辞
📬 お問い合わせ
José Martín Rodriguez Mortaloni - @m4s1t425 - [email protected]
Python と Firecrawl を使用して ❤️ を込めて作成
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。