既存AgentにParallel Search MCPを追加:検索キー不要のWeb検索・原文取得・料金境界
既存のコーディングAgentやリサーチAgentに、ホスト型Web検索とページ本文取得を追加するための検証可能な手順です。検索API Keyなしの匿名エンドポイントから始め、接続状態、web_search/web_fetchの実際のツール呼び出し、出典URLを確認します。そのうえで匿名制限、Bearer/OAuth、Parallelの課金、クライアント契約、モデルAPIのToken費用を別々に判断します。
目次

Parallel Search MCPは、検索サービスを自前運用したり、検索用API Keyを申請したりせずに既存Agentへ追加できます。ホスト型のStreamable HTTPエンドポイントはhttps://search.parallel.ai/mcpで、Agentにはweb_searchとweb_fetchの2つのツールが公開されます。
ただし、設定を書き込めただけでは導入成功とは言えません。接続状態、ツール一覧、会話内の実際のtool call、開ける出典URLまで確認する必要があります。以下は2026年10月11日に開いた公式ドキュメントを基にした再現可能な確認手順です。最終的な動作と請求は、自分のクライアントログとアカウント画面で確定してください。
最初にエンドポイントと認証方式を選ぶ
| 目的 | Endpoint | 認証 | 向いている用途 |
|---|---|---|---|
| 検索と本文取得をまず試す | https://search.parallel.ai/mcp | なし | 匿名・低いrate limitでの軽い検証 |
| アカウントcreditsと高いlimitを使う | https://search.parallel.ai/mcp | Bearer API Key | 継続利用やproduction workload |
| ブラウザ認証をクライアントに任せる | https://search.parallel.ai/mcp-oauth | OAuthまたはBearer API Key | 固定キーを共有設定に置きたくない場合 |
標準の/mcpはOAuthを広告しないため、OAuth対応クライアントでもブラウザを開かず匿名接続することがあります。/mcp-oauthは認証必須で、匿名リクエストには401を返します。したがって、/mcpでログイン画面が出ないこと自体は失敗ではありません。/mcp-oauthの401は、認証が完了していない可能性を示します。
クライアント、Webツール、モデルProviderを分けて考える
1回の回答には、独立した3つの経路が含まれます。
- Agentクライアントが会話、権限、ツール選択、UIを管理する。
- Parallel Search MCPが
web_searchとweb_fetchを実行する。 - モデルProviderが推論し、入力・出力・tool resultのコンテキストTokenを計上する。
MCPを追加してもモデルのBase URLは変わりません。モデルAPIを切り替えてもWeb検索は自動追加されません。問題を切り分けるときは、「MCPへ接続できたか」「本当にツールを呼んだか」「モデル呼び出しをどのProviderが課金したか」を別々に確認します。
Claude Code:匿名エンドポイントから始める
Claude Codeを使うプロジェクトで実行します。
claude mcp add --transport http "Parallel-Search-MCP" https://search.parallel.ai/mcp
claude mcp get "Parallel-Search-MCP"
claude mcp list
デフォルトはlocal scopeです。全プロジェクトで使う場合だけ--scope userを追加します。チーム共有の.mcp.jsonはcommit前に確認し、固定Bearer tokenを入れないでください。
Claude Code内では次を開きます。
/mcp
Addedは設定が保存されたことを示すだけです。現在のクライアントが到達できる証拠はConnectedです。OAuthを使う場合は、URLを次へ変更します。
https://search.parallel.ai/mcp-oauth
その後、/mcpから認証を完了します。/mcpと/mcp-oauthの問題を混同しないことが重要です。
Codex CLI:匿名、環境変数Bearer、OAuth
匿名接続:
codex mcp add parallel-search --url https://search.parallel.ai/mcp
codex mcp list
アカウントに紐づくlimitを使う場合は、PARALLEL_API_KEYをOSまたはsecret managerに安全に保存し、実値ではなく環境変数名をCodexへ渡します。キーをshell historyや共有設定へ残さないでください。
codex mcp add parallel-search --url https://search.parallel.ai/mcp \
--bearer-token-env-var PARALLEL_API_KEY
codex mcp list
OAuth接続:
codex mcp add parallel-search --url https://search.parallel.ai/mcp-oauth
codex mcp list
追加後は新しいCodexセッションを開始します。他のMCPクライアントも同じendpointを使えますが、設定形式は同じではありません。VS Codeはトップレベルのservers、Cursorは一般にmcpServersを使い、type: "streamable-http"が必要なクライアントもあります。別製品のJSONをそのまま貼り付けないでください。
実際にどのツールが呼ばれたかを証明する
接続状態は到達性しか証明しません。特定の回答でParallelを使ったことを確認するには、観測できる証拠を残すテストを実行します。
この確認では必ずParallel-Search-MCPを使い、記憶だけで回答しないでください。
1. web_searchを呼び出し、Parallel Search MCPの公式ドキュメントと現在の料金ページを探す。
2. web_searchが返した出典URLを表示する。
3. 公式URLを2つ選び、web_fetchで原文を読む。
4. 各出典について、ツール名、URL、短い根拠文を示す。
ツール呼び出しが失敗した場合は停止し、ツール名、endpoint、HTTP statusを報告する。
確認するのは次の4点です。
- tool traceに
web_searchがある。 - その後に別の
web_fetchがあり、検索snippetの要約だけではない。 - tool resultに実在し開けるURLがある。
- 最終回答の主張がfetchしたページ本文に見つかる。
「Webで検索しました」という文章は証拠ではありません。クライアントで組み込みWeb Searchを一時無効化できるなら、この検証中だけ止めると、似た機能の取り違えを防げます。
検索してから、選んだ原文を取得する
公式の役割分担は明確です。
web_searchは最新情報と複数の出典を探し、objectiveとsearch_queriesが必須です。web_fetchは既知URLまたは選択した検索結果を読み、1回に最大20 URLを受け取れます。
ツール引数へ影響できる場合は、次の形にします。
objectiveは「匿名認証と料金境界を公式情報で確認する」のように1つの判断へ絞る。search_queriesは短く補完的な2〜3個にし、長いprompt全体を入れない。- 同じ会話では同じ
session_idを再利用し、新しい会話では新しい値にする。 - 最初は
full_content: falseを保つ。ページ全文は数万Tokenになることがあり、クライアントの出力上限も超え得る。 - 公式ドキュメント、仕様、一次発表を優先する。コミュニティ投稿はユーザー報告として扱い、一般仕様へ拡大しない。
検索 → URL選択 → 原文取得 → 引用照合という流れなら、Agentがツールを迂回した場合や二次情報を誤引用した場合も見つけやすくなります。
料金境界:少なくとも4つの勘定に分ける
以下の単価は2026年10月11日にParallel公式料金ページで確認しました。料金の境界を説明するものであり、常にどれかが安いという比較ではありません。
| 費用層 | Subscription / membership | Minimum top-up | First-month allowance | Usage basis |
|---|---|---|---|---|
| 匿名Search MCP | 公式の匿名設定ではアカウントsubscription不要 | 匿名開始にtop-up不要 | 固定call数は公開されていない | 軽い探索はfree、ただしrate limitは低いと説明される |
| 認証済みParallel Search/Extract | 公開価格ページに別途membership feeの記載なし | 記載なし | 固定初回creditの記載なし | Searchの基本料金(1 requestあたり10 resultsを含む)は、fast/turboが1,000 requestsあたりUS$1、basic/advancedがUS$5。追加のpage resultsとexcerptsは1,000 resultsあたりUS$1、Extractは1,000 URLsあたりUS$1 |
| Agentクライアント | Claude Code、Codexなどの契約による | Client-specific | Client-specific | クライアントの権利はParallel creditsではない |
| モデルAPI | Provider-specific | Provider-specific | Provider-specific | 入力、出力、cache、tool result contextはSearch MCPと別課金 |
Search MCPページは匿名モードの固定回数を公開していません。「lower rate limits」を独自に「1日N回無料」と読み替えないでください。一般のSearch API rate-limit表も、匿名MCPの保証ではありません。
認証接続で402が返る場合、Parallelの説明はcredits不足です。繰り返しretryする前に残高と接続モードを確認します。
BetterTokenをモデルProviderにしている場合も設定は別
Claude CodeまたはCodexのモデル呼び出しをBetterTokenへ接続済みでも、クライアントはそのまま使い、ParallelだけをWebツール層として追加できます。
- Claude CodeのモデルBase URLは
https://bettertoken.aiで、クライアントが/v1/messagesを追加します。自分で/v1を付けません。 - CodexのモデルBase URLは
https://www.bettertoken.ai/v1で、wire_api = "responses"を使います。 - ParallelのツールURLは
https://search.parallel.ai/mcpまたはhttps://search.parallel.ai/mcp-oauthです。
これらは交換できません。BetterTokenはモデルリクエストとToken使用量、ParallelはWebツールを担当します。匿名可用性、credits、privacy、limitは外部サービス側の条件です。Claude Codeガイド、Codexガイド、Parallel Search MCP公式ドキュメントを別々に確認してください。
よくある失敗と最小の再確認
| 症状 | 最初に確認 | 修正後の確認 |
|---|---|---|
| Serverは追加済みだがtoolsがない | クライアントを完全再起動、構文と正確なURL、MCP logs | web_searchとweb_fetchが表示される |
401 | /mcp-oauthか、OAuth完了、Bearer有効性 | 再接続後に認証要求が消える |
402 | 認証アカウントのcredits | 入金または匿名/mcpへ戻して狭い検索を行う |
| Connectedだが呼び出しがない | 組み込み検索または記憶回答を選んでいる | 強制テストpromptを実行しtraceを見る |
| Fetchが巨大・途中で切れる | full_content、URL数、広すぎるobjective | 全文を切り、重要なページだけ取得する |
| プロジェクトごとに違う | Claude Code scope、project approval、古いCodex session | 対象projectで一覧と強制callを再実行する |
長期利用を決める条件
自前の検索基盤を運用せず、ホスト型検索と本文取得が必要で、クライアントからtool callと出典を確認でき、匿名枠で軽い用途をまかなえるか認証利用を予算化できるなら、長期利用に向いています。
固定無料回数の公開保証が必要、匿名のまま組織単位の帰属やZero Data Retentionが必要、実tool callを確認できない、またはindex・crawler・data residencyを完全制御したい場合は、そのままproductionへ入れない方が安全です。
採用順序は、匿名/mcpで代表的なタスクを動かし、tool traceと出典URLを保存し、rate limitとモデルToken増加を測り、匿名側が実際のボトルネックになった時だけBearerまたは/mcp-oauthへ移る、です。接続、検索品質、外部費用、モデル費用を混ぜずに判断できます。