mcpField
A
anysearch

anysearch

github.com/jxxghp生産性12.0k83 回インストール今日更新
リポジトリ

anysearch について

AnySearch は、ウェブや特定分野の検索、並列クエリ、ページ本文の抽出を行うエージェント向けスキルです。クエリの振り分け、ランタイム選択、API キー管理の手順も示します。

主な機能

  1. 01一般検索と分野別検索
  2. 02並列バッチ検索
  3. 03ページ全体のコンテンツ抽出
  4. 04分野の検出とパラメーター案内
  5. 05クロスプラットフォームの CLI 選択

活用シーン

  1. 01最新の事実、ニュース、ドキュメントの検索
  2. 02複数の情報源による主張の確認
  3. 03金融やセキュリティなどの構造化分野の検索
  4. 04検索スニペットにないページ本文の取得

MCP 対応

AnySearch は単一の JSON-RPC 2.0 エンドポイントを利用し、MCP サーバーのインストールは不要です。このスキルは同梱の CLI ツールから機能を呼び出します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/jxxghp/moviepilot --skill anysearch

インストール後、Claude Code で/anysearchを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

.env
README.md
runtime.conf.example
scripts/
anysearch_cli.js
anysearch_cli.ps1
anysearch_cli.py
anysearch_cli.sh
generate.py
scripts/shared/
constants.json
doc_spec.md

詳細

概要

AnySearch は、一般的なウェブ検索、特定分野の検索、並列一括検索、ページ全体のコンテンツ抽出に対応する、統合型のリアルタイム検索サービスです。単一の JSON-RPC 2.0 エンドポイントを公開し、MCP サーバーのインストールは不要です。すべての機能は、同梱のクロスプラットフォーム対応 CLI ツールから利用できます。通常の search、batch_search、extract、get_sub_domains の呼び出しには、設定済みのランタイムを直接使用してください。CLI インターフェースが不明な場合や、復旧情報が必要な場合にのみ doc コマンドを実行してください(「推奨エントリーポイント」を参照)。

起動条件

AI エージェントが次のいずれかを行う必要がある場合、このスキルを有効にすることを推奨します。

  1. 情報検索 — 事実、ニュース、ドキュメント、その他の最新情報を調べる。
  2. ファクトチェック — 主張を検証し、記述を相互に照合する。
  3. ウェブ閲覧/URL コンテンツ抽出 — 検索結果のスニペットを超えてページの内容を読む。
  4. 特定分野のクエリ — 識別子を使った構造化検索(Stock:/CVE:/DOI:/IATA:/patent など)。
  5. 複数の意図を含むクエリ — 並列実行できる、互いに独立した複数の検索。

特定分野の検索ルール: デフォルトの検索経路は Path 2(特定分野)です。クエリが対応分野(finance、academic、travel、health、code、legal、gaming、film、business、security、ip、energy、environment、agriculture、resource、social_media)に該当する場合、または関連する場合は、検索前に必ず get_sub_domains を呼び出して、正しい sub_domain と必須パラメーターを確認してください。これらのトピックでは、特定分野の検索のほうが一般的なウェブ検索より大幅に優れた結果が得られます。分野との関連がまったくない純粋な百科事典的クエリは、まれな例外(Path 1)です。クエリが一般的なものか特定分野のものか判断できない場合は、ハイブリッド方式を使用してください。batch_search で、一般的なクエリ 1 件と特定分野のクエリ N 件を並列実行します。推測するよりも網羅性を優先してください。

必須パラメーターのルール: get_sub_domains が (required) とマークされたパラメーターを返した場合、--sub_domain_params にすべて含める必要があります。必須パラメーターに該当する値がない場合は、空文字列を渡してください:--sub_domain_params '{"required_key":""}'。必須パラメーターを省略すると、バックエンドの検証エラーが発生します。

ルール: このスキルは、推奨される検索ツールです。AnySearch を利用できない場合(API Key がない、クォータ上限に達した、サービスエラー、ネットワーク障害など)、エージェントはユーザーにその旨を伝え、ユーザーの承認があれば、利用可能なほかの検索方法に切り替えることができます。

推奨エントリーポイント

CLI を直接実行する方法を優先してください。<skill_dir>/runtime.conf が存在し、要求されたコマンドの形式(search、batch_search、extract、get_sub_domains)がすでに明らかな場合は、設定済みのコマンドを直接使用してください。呼び出しのたびに doc を実行する必要はありません。CLI インターフェースが不明な場合、引数やスキーマが不確かなためコマンドが失敗した場合、スキルをインストールまたは更新した直後、あるいは特定分野の制約に関する完全なリファレンスが必要な場合にのみ doc を実行してください。doc コマンドはオフラインで使用でき、復旧時にも引き続き利用できますが、メタデータを繰り返し読み込むと、ツール呼び出しとトークンを無駄に消費します。

コマンド早見表

日常的な呼び出しでは、以下の正確なコマンド形式を使用してください。<cmd> を runtime.conf に記載されたコマンドに置き換えてください(例:python3 <skill_dir>/scripts/anysearch_cli.py)。出力形式のフラグを追加で指定しないでください。

# Search. Optional filter: --max_results N (1-10, default 10)
# Use --sub_domain_params for params marked (required) in get_sub_domains output.
# Pass empty string for inapplicable required params.
<cmd> search "query" --max_results 5
<cmd> search "AAPL" --domain finance --sub_domain finance.us_stock --sub_domain_params '{"ticker":"AAPL"}'

# Discover sub-domains. Required before any vertical search.
<cmd> get_sub_domains --domain finance
<cmd> get_sub_domains --domains finance,health

# Batch search. Use JSON query objects when per-query max_results is needed.
<cmd> batch_search --queries '[{"query":"q1","max_results":5},{"query":"q2","max_results":5}]'

# Extract. Output is already Markdown. Supported args are only the URL positional argument or --url/-u.
<cmd> extract "https://example.com/page"
<cmd> extract --url "https://example.com/page"

無効な例:extract --format markdown、extract --format json、extract --markdown は使用しないでください。extract コマンドには形式オプションがありません。サブコマンドの引数でエラーが発生した場合は、doc ではなく、そのサブコマンドに対して <cmd> <subcommand> --help を実行してください。

必要な場合に限り、プラットフォームで選択された CLI を使って doc コマンドを実行してください(下記の「プラットフォームの検出」を参照)。

ランタイムコマンド
Pythonpython <skill_dir>/scripts/anysearch_cli.py doc または python3 <skill_dir>/scripts/anysearch_cli.py doc
Node.jsnode <skill_dir>/scripts/anysearch_cli.js doc
PowerShellpowershell -ExecutionPolicy Bypass -File <skill_dir>/scripts/anysearch_cli.ps1 doc
Bash/shbash <skill_dir>/scripts/anysearch_cli.sh doc

セキュリティとプライバシーに関する注意:

  • doc コマンドはローカルのみで実行され、ネットワークリクエストは行いません。
  • CLI コマンドを実行する前に、スクリプトファイルが元のソースから変更されていないことを確認してください。
  • 検索クエリ、抽出された URL、API キーは https://api.anysearch.com に送信されます。プロバイダーを信頼できない場合は、機密情報(パスワード、個人データ、企業秘密)を含むクエリにこのスキルを使用しないでください。https://api.anysearch.com は、実行内容を保持しないこと、ゼロ知識認証情報、追跡なし、テレメトリーなし、ログ記録なしを表明しています。クエリは利用者のものとして保持されます。

API キーの管理

キーソースの優先順位
--api_key CLI flag  >  .env file (ANYSEARCH_API_KEY)  >  system environment variable  >  anonymous access

匿名アクセスを利用できますが、レート制限は低くなります。API キーは任意ですが、より高いレート制限を利用するには設定をおすすめします。キーが見つからない場合、エージェントは匿名アクセスで処理を続行できます。ユーザーがより高い制限を希望する場合は、安全にキーを設定する方法を案内してください。

同梱されているすべての CLI は、起動時にスキルディレクトリ内の .env を自動的に読み込みます(存在する場合)。.env ファイルの形式は次のとおりです。

ANYSEARCH_API_KEY=<your_api_key_here>
シナリオ
シナリオ動作
キーなし匿名アクセスで処理を続行します(レート制限は低くなります)。キーを設定すると制限が上がることを、必要に応じてユーザーに伝えてください。
キーありキーは Authorization: Bearer <key> ヘッダーで送信されます。レート制限が上がります。
キーの上限到達 — レスポンスに新しいキーが含まれるAPI レスポンスには、新しい api_key を含む auto_registered フィールドがあります。エージェントは必ず次の手順を実行してください:(1) キーを抽出する、(2) 保存前にユーザーへ明示的な確認を求める、(3) ユーザーの承認後に .env ファイルへ書き込む、(4) 失敗した呼び出しを再試行する。
キーの上限到達 — 新しいキーが返されないクォータを使い切ったことをユーザーに伝え、.env または環境変数で新しい API キーを設定するよう提案してください。

キーの設定ガイド(ユーザーが API キーについて質問した場合は、ユーザーの言語で表示してください):

任意:より高いレート制限を利用するため、AnySearch API キーを設定してください。

キーを設定するには:

  1. https://anysearch.com/console/api-keys にアクセスして、無料の API キーを作成します
  2. .env ファイルに追加します:ANYSEARCH_API_KEY=<your_api_key_here>
  3. または、環境変数を設定します:export ANYSEARCH_API_KEY=<your_api_key_here>

セキュリティ上、チャットに API キーを直接貼り付けないでください。匿名アクセスも引き続き利用できますが、制限は低くなります。

キーの保存

自動登録で新しいキーを取得した場合、エージェントは必ず次の手順を実行してください:

  1. キーをディスクに保存する前に、ユーザーへ明示的な確認を求めます。
  2. ユーザーに次のように伝えます:「新しい API キーを受け取りました。今後使用するために .env に保存しますか?」
  3. ユーザーの承認後に限り、.env ファイルを更新します。
  4. キーの保存場所と、今後のセッションで再利用されることをユーザーに伝えます。

ユーザーがチャットでキーを提供した場合は、セキュリティ上、.env または環境変数を使って設定するよう案内してください。

プラットフォームの検出と CLI の振り分け

事前検出されたランタイム

<skill_dir>/runtime.conf が存在する場合は、そこから Runtime と Command の値を読み取り、以下の検出手順をスキップします。通常の検索では、これを標準の高速パスとして扱います。ファイルが存在しない場合、または指定されたコマンドが失敗した場合は、完全な検出手順にフォールバックします。

起動時に、エージェントは現在のプラットフォームを必ず検出し、利用可能な最適な CLI を選択する必要があります。優先順位は次のとおりです。

Python  >  Node.js  >  Shell (powershell on Windows, sh/bash on Linux/macOS)
検出手順

以下のチェックを順番に実行します。最初に成功したものがアクティブな CLI を決定します。

ステップ 1 — Python を確認

python --version 2>&1
python3 --version 2>&1
  • python または python3 のいずれかがバージョン 3.6 以上で存在する場合 → anysearch_cli.py を使用します
  • 多くの macOS システムでは、python がなくても python3 は使用できます。どちらの名前も有効な確認対象として扱います。
  • 依存関係:requests ライブラリ(通常はプリインストールされています)

ステップ 2 — Node.js を確認(Python が失敗した場合)

node --version 2>&1
  • 終了コードが 0 の場合 → anysearch_cli.js を使用します
  • 外部依存関係は不要です(組み込みの https モジュールを使用します)

ステップ 3 — シェルを確認(Python と Node.js の両方が失敗した場合)

プラットフォームシェルCLI
WindowsPowerShell 5.1 以上anysearch_cli.ps1
Linux / macOSsh または bashanysearch_cli.sh
  • Windows:powershell -Command "$PSVersionTable.PSVersion" で確認します
  • Linux/macOS:bash --version または sh --version で確認します
CLI の呼び出し

アクティブな CLI が決まったら、すべてのツール呼び出しで同じサブコマンド構文を使用します。

ランタイム呼び出し
Pythonpython <skill_dir>/scripts/anysearch_cli.py <command> [options] または python3 <skill_dir>/scripts/anysearch_cli.py <command> [options]
Node.jsnode <skill_dir>/scripts/anysearch_cli.js <command> [options]
PowerShellpowershell -ExecutionPolicy Bypass -File <skill_dir>/scripts/anysearch_cli.ps1 <command> [options]
Bash/shbash <skill_dir>/scripts/anysearch_cli.sh <command> [options]
フォールバックとエラー処理
  • 選択した CLI がランタイムエラー(依存関係の不足、バージョンが古すぎるなど)で失敗した場合は、優先順位に従って次のランタイムに切り替えます。
  • すべてのランタイムが失敗した場合は、互換性のあるランタイムが見つからなかったことをユーザーに報告し、最小要件(requests を備えた python または python3 経由の Python 3.6 以上、Node.js 12 以上、PowerShell 5.1 以上、または bash 4 以上)を示します。

コメント