mcpField
B
brave-search-mcp-server

brave-search-mcp-server

ローカル
github.com/brave検索1.5k2 日前に更新

brave-search-mcp-server について

brave-search-mcp-server は Brave Search API の MCP サーバー実装で、Web 結果、画像、動画、AI 要約を提供します。MCP 経由で Web 検索を利用したいクライアントやエージェントに向いています。

主な機能

  1. 01Web、画像、動画検索ツール
  2. 02ニュースとローカル施設の検索ツール
  3. 03summary キーを使ったAI要約
  4. 04RAG と grounding 向けの LLM コンテキストツール
  5. 05STDIO と HTTP のトランスポート対応

活用シーン

  1. 01MCP クライアントにリアルタイムのWeb検索を追加する
  2. 02AI エージェントに画像と動画の検索結果を提供する
  3. 03RAG や grounding のパイプラインにWebコンテキストを供給する

MCP 対応

本プロジェクトは MCP サーバーであり、brave_web_search、brave_image_search、brave_llm_context などのツールを MCP クライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"brave-brave-search": {
"command": "npx",
"args": [
"-y",
"@brave/brave-search-mcp-server"
],
"env": {
"BRAVE_API_KEY": "<BRAVE_API_KEY>"
}
}
}
}
起動コマンドnpx -y @brave/brave-search-mcp-server
設定が必要な環境変数
BRAVE_API_KEYシークレットYour API key for the service

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@brave/brave-search-mcp-server2.1.3

ツール

8

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
countintegerいいえ結果数(1~20、デフォルトは 10)。ウェブ検索結果のみに適用されます(場所、ニュース、動画などには影響しません)。
querystringはい検索クエリ(最大 400 文字、50 語)
unitsanyいいえ測定単位。指定されていない場合は、検索対象の国に基づいて決定されます。
offsetintegerいいえページネーションのオフセット(最大 9、デフォルト 0)
countryenumいいえ検索結果の取得元となる国。国名文字列には、対応する国の 2 文字の国コードのみ指定できます。ALL | AR | AU | AT | BE | BR | CA | CL | DK | FI | FR | DE | HK | IN | ID | IT | JP | KR | MY | MX | NL | NZ | NO | CN | PL | PT | PH | RU | SA | ZA | ES | SE | CH | TW | TR | GB | US
gogglesanyいいえGoggles は、Brave の検索インデックスを独自に再ランキングします。このパラメーターには、Goggle のホスト先 URL または Goggle の定義を指定できます。配列で複数の Goggle URL や定義を指定できます。詳しくは Goggles リポジトリ(https://github.com/brave/goggles-quickstart)を参照してください。
summarybooleanいいえこのパラメーターを使うと、ウェブ検索結果で summary キーの生成が有効になります。summarizer を有効にするには、このパラメーターが必要です。
ui_langenumいいえUI の言語。検索結果の言語を指定する 2 文字以上の言語コードです。es-AR | en-AU | de-AT | nl-BE | fr-BE | pt-BR | en-CA | fr-CA | es-CL | da-DK | fi-FI | fr-FR | de-DE | zh-HK | en-IN | en-ID | it-IT | ja-JP | ko-KR | en-MY | es-MX | nl-NL | en-NZ | no-NO | zh-CN | pl-PL | en-PH | ru-RU | en-ZA | es-ES | sv-SE | fr-CH | de-CH | zh-TW | tr-TR | en-GB | en-US | es-US
freshnessanyいいえ検索結果を発見時期で絞り込みます。使用できる値:'pd' - 過去 24 時間以内、'pw' - 過去 7 日以内、'pm' - 過去 31 日以内、'py' - 過去 365 日以内に発見された結果。'YYYY-MM-DDtoYYYY-MM-DD' のように日付範囲を指定して期間を設定することもできます。
safesearchenumいいえ成人向けコンテンツを検索結果から除外します。使用できる値:'off' - 除外しない。'moderate' - 露骨なコンテンツ(画像や動画など)を除外しますが、成人向けドメインは検索結果に含めます。'strict' - 成人向けコンテンツをすべて検索結果から除外します。デフォルト値は 'moderate' です。off | moderate | strict
spellcheckbooleanいいえ指定したクエリのスペルチェックを行うかどうか。
search_langenumいいえ検索言語の設定。検索結果の言語を指定する 2 文字以上の言語コードです。ar | eu | bn | bg | ca | zh-hans | zh-hant | hr | cs | da | nl | en | en-gb | et | fi | fr | gl | de | gu | he | hi | hu | is | it | jp | kn | ko | lv | lt | ms | ml | mr | nb | pl | pt-br | pt-pt | pa | ro | ru | sr | sk | sl | es | sv | ta | te | th | tr | uk | vi
result_filterarrayいいえ結果フィルター(デフォルトは ['web', 'query'])
extra_snippetsbooleanいいえスニペットはクエリ結果のページから抜粋したもので、extra_snippets を使うと最大 5 件の追加の代替抜粋を取得できます。Free AI、Base AI、Pro AI、Base Data、Pro Data、Custom プランでのみ利用できます。
text_decorationsbooleanいいえ表示文字列(検索結果のスニペットなど)に装飾マーカー(ハイライト文字など)を含めるかどうか。

詳細

Brave Search MCP サーバー

Brave Search API と統合する MCP サーバーの実装です。ウェブ検索、ローカルビジネス検索、場所検索、画像検索、動画検索、ニュース検索、LLM コンテキスト、AI による要約など、幅広い検索機能を提供します。このプロジェクトは STDIO と HTTP の両方のトランスポートに対応しており、デフォルトでは STDIO モードで動作します。

Ask DeepWiki

移行

1.x から 2.x へ
デフォルトのトランスポートが STDIO に変更されました

確立された MCP の慣例に従い、サーバーのデフォルトのトランスポートが STDIO になりました。引き続き HTTP を使用する場合は、BRAVE_MCP_TRANSPORT 環境変数に http を設定するか、サーバーの起動時に実行時引数 --transport http を指定してください。

brave_image_search のレスポンス構造

MCP サーバーのバージョン 1.x では、画像 URL とともに Base64 エンコードされた画像データを返していました。これによりレスポンスが大幅に遅くなり、セッションのコンテキストも不必要に消費していました。バージョン 2.x では Base64 エンコードされたデータを削除し、元の Brave Search API のレスポンスにより近いレスポンスオブジェクトを返します。更新後の出力スキーマは src/tools/images/schemas/output.ts で定義されています。

ツール

ウェブ検索(brave_web_search)

豊富な結果タイプと高度なフィルタリングオプションを使って、幅広いウェブ検索を実行します。

パラメーター:

  • query(string、必須):検索語(最大 400 文字、50 語)
  • country(string、任意):国コード(デフォルト:"US")
  • search_lang(string、任意):検索言語(デフォルト:"en")
  • ui_lang(string、任意):UI 言語(デフォルト:"en-US")
  • count(number、任意):ページあたりの結果数(1~20、デフォルト:10)
  • offset(number、任意):ページネーションのオフセット(最大 9、デフォルト:0)
  • safesearch(string、任意):コンテンツのフィルタリング("off"、"moderate"、"strict"、デフォルト:"moderate")
  • freshness(string、任意):期間フィルター("pd"、"pw"、"pm"、"py"、または日付範囲)
  • text_decorations(boolean、任意):ハイライトマーカーを含める(デフォルト:true)
  • spellcheck(boolean、任意):スペルチェックを有効にする(デフォルト:true)
  • result_filter(array、任意):結果タイプをフィルタリングする(デフォルト:["web", "query"])
  • goggles(array、任意):カスタムの再ランキング定義
  • units(string、任意):測定単位("metric" または "imperial")
  • extra_snippets(boolean、任意):追加の抜粋を取得する(Pro プランのみ)
  • summary(boolean、任意):AI による要約用のサマリーキー生成を有効にする
ローカル検索(brave_local_search)

評価、営業時間、AI が生成した説明など、詳しい情報とともにローカルビジネスや場所を検索します。

パラメーター:

  • 自動的な場所フィルタリングを行う brave_web_search と同じ
  • result_filter に "web" と "locations" を自動的に含める

注: ローカル検索の全機能を利用するには Pro プランが必要です。それ以外の場合はウェブ検索にフォールバックします。

動画検索(brave_video_search)

詳しいメタデータとサムネイル情報を含めて動画を検索します。

パラメーター:

  • query(string、必須):検索語(最大 400 文字、50 語)
  • country(string、任意):国コード(デフォルト:"US")
  • search_lang(string、任意):検索言語(デフォルト:"en")
  • ui_lang(string、任意):UI 言語(デフォルト:"en-US")
  • count(number、任意):ページあたりの結果数(1~50、デフォルト:20)
  • offset(number、任意):ページネーションのオフセット(最大 9、デフォルト:0)
  • spellcheck(boolean、任意):スペルチェックを有効にする(デフォルト:true)
  • safesearch(string、任意):コンテンツのフィルタリング("off"、"moderate"、"strict"、デフォルト:"moderate")
  • freshness(string、任意):期間フィルター("pd"、"pw"、"pm"、"py"、または日付範囲)
画像検索(brave_image_search)

URL、寸法、信頼度スコアなどのメタデータを含む画像を検索します。

パラメーター:

  • query(string、必須):検索語(最大400文字、50語)
  • country(string、任意):国コード(デフォルト:"US")
  • search_lang(string、任意):検索言語(デフォルト:"en")
  • count(number、任意):ページあたりの検索結果数(1~200、デフォルト:50)
  • safesearch(string、任意):コンテンツフィルタリング("off"、"strict"、デフォルト:"strict")
  • spellcheck(boolean、任意):スペルチェックを有効にするかどうか(デフォルト:true)
ニュース検索(brave_news_search)

最新ニュース記事を、鮮度の調整や速報ニュースのインジケーターとともに検索します。

パラメーター:

  • query(string、必須):検索語(最大400文字、50語)
  • country(string、任意):国コード(デフォルト:"US")
  • search_lang(string、任意):検索言語(デフォルト:"en")
  • ui_lang(string、任意):UI 言語(デフォルト:"en-US")
  • count(number、任意):ページあたりの検索結果数(1~50、デフォルト:20)
  • offset(number、任意):ページネーションのオフセット(最大9、デフォルト:0)
  • spellcheck(boolean、任意):スペルチェックを有効にするかどうか(デフォルト:true)
  • safesearch(string、任意):コンテンツフィルタリング("off"、"moderate"、"strict"、デフォルト:"moderate")
  • freshness(string、任意):期間フィルター(デフォルト:"pd" は過去24時間)
  • extra_snippets(boolean、任意):追加の抜粋を取得するかどうか(Pro プラン限定)
  • goggles(array、任意):カスタムの再ランキング定義
要約検索(brave_summarizer)

Brave の要約 API を使用して、ウェブ検索結果から AI による要約を生成します。

パラメーター:

  • key(string、必須):ウェブ検索結果の要約キー(ウェブ検索で summary: true を使用)
  • entity_info(boolean、任意):エンティティ情報を含めるかどうか(デフォルト:false)
  • inline_references(boolean、任意):ソース URL の参照を追加するかどうか(デフォルト:false)

使用方法: まず summary: true を指定してウェブ検索を実行し、その後、返された要約キーをこのツールで使用します。

場所検索(brave_place_search)

Brave の Place Search API を使用して、指定した地理的エリア内のスポット(POI)を検索します。名称、住所、営業時間、連絡先情報、評価、写真、カテゴリ、タイムゾーンなど、詳細で構造化された場所データを返します。

パラメーター:

  • query(string、任意):POI 検索を絞り込むためのクエリ文字列です(最大 400 文字、50 語)。省略すると、指定されたエリア内の一般的なスポットが返されます。
  • latitude(number、任意):検索中心の緯度(-90 ~ 90)です。通常は longitude と組み合わせて指定します。
  • longitude(number、任意):検索中心の経度(-180 ~ 180)です。通常は latitude と組み合わせて指定します。
  • location(string、任意):latitude/longitude の代わりに使用する場所を示す文字列です。米国内の場所では <city> <state> <country name> の形式(例:san francisco ca united states)、米国外の場所では <city> <country name> の形式(例:tokyo japan)を推奨します。
  • radius(number、任意):指定した座標を中心とする検索半径(メートル単位)です。省略すると、検索は全世界を対象に実行されます。
  • count(number、任意):返す結果の件数です(1~50、デフォルトは 20)。
  • country(string、任意):2 文字の国コードです(デフォルトは US)。
  • search_lang(string、任意):検索言語です(デフォルトは en)。
  • ui_lang(string、任意):UI の言語です(デフォルトは en-US)。
  • units(string、任意):距離の単位です(metric または imperial、デフォルトは metric)。
  • safesearch(string、任意):セーフサーチのレベルです(off、moderate、strict、デフォルトは strict)。
  • spellcheck(boolean、任意):クエリのスペルチェックを行うかどうかです(デフォルトは true)。
  • geoloc(string、任意):結果を絞り込むために使用する任意のジオロケーション トークンです。

任意のリクエストヘッダー:

  • api-version(string、任意):Brave API のバージョンです(YYYY-MM-DD)。
  • accept(string、任意):レスポンスのメディアタイプです(application/json または */*)。
  • cache-control(string、任意):最新のコンテンツを要求するには no-cache を指定します。
  • user-agent(string、任意):リクエスト元のユーザーエージェントです。
LLM コンテキスト(brave_llm_context)

AI エージェント、LLM のグラウンディング、RAG パイプライン向けに最適化された、抽出済みのウェブコンテンツを取得します。

パラメーター:

  • query(string、必須):検索クエリ(最大400文字、50語)
  • country(string、任意):検索対象の国コード
  • search_lang(string、任意):検索言語コード
  • count(number、任意):対象とする検索結果の最大数(1~50)
  • spellcheck(boolean、任意):スペルチェックを有効にします
  • maximum_number_of_urls(number、任意):含めるURLの最大数(1~50)
  • maximum_number_of_tokens(number、任意):コンテキストトークンのおおよその最大数(1024~32768)
  • maximum_number_of_snippets(number、任意):含めるスニペットの最大数(1~256)
  • context_threshold_mode(string、任意):しきい値モード(「disabled」、「strict」、「lenient」、「balanced」)
  • maximum_number_of_tokens_per_url(number、任意):URLごとの最大トークン数(512~8192)
  • maximum_number_of_snippets_per_url(number、任意):URLごとの最大スニペット数(1~100)
  • goggles(string または array、任意):カスタムの再ランキングに使用するGoggleのURLまたは定義
  • freshness(string、任意):期間フィルター(「pd」、「pw」、「pm」、「py」、または日付範囲)
  • enable_local(boolean、任意):ローカルリコールを有効にします
  • enable_source_metadata(boolean、任意):ソースメタデータの補完を含めます

任意のリクエストヘッダー:

  • x-loc-lat(number、任意):クライアントの緯度(-90~90)
  • x-loc-long(number、任意):クライアントの経度(-180~180)
  • x-loc-city(string、任意):クライアントの市区町村名
  • x-loc-state(string、任意):クライアントの州または地域コード
  • x-loc-state-name(string、任意):クライアントの州または地域名
  • x-loc-country(string、任意):クライアントの国コード
  • x-loc-postal-code(string、任意):クライアントの郵便番号
  • api-version(string、任意):Brave API のバージョン(YYYY-MM-DD)
  • accept(string、任意):レスポンスのメディアタイプ(「application/json」または「/」)
  • cache-control(string、任意):最新のコンテンツをリクエストするには、no-cacheを指定します
  • user-agent(string、任意):リクエスト元のユーザーエージェント

設定

API キーの取得
  1. Brave Search API アカウントに登録します
  2. プランを選択します:
    • Search:チャットボットやエージェントが回答を生成するために必要なリアルタイム検索データです。完全な検索結果(URL、テキスト、ニュース、画像など)に加え、AI 向けに最適化された LLM コンテキストが含まれます。
    • Answers:あらゆる質問に対する、要約済みの回答です。単一または複数の検索結果に基づいて回答を生成することで、精度を高め、ハルシネーションを抑制します。
  3. 開発者ダッシュボードからAPIキーを生成します
環境変数

サーバーでは、次の環境変数をサポートしています。

  • BRAVE_API_KEY:Brave Search API キー(BRAVE_API_KEY_FILE が設定されていない場合は必須)
  • BRAVE_API_KEY_FILE:Brave Search API キーを含むファイルへのパス。設定すると、BRAVE_API_KEY よりも優先されます。Docker のシークレットなど、マウントされたシークレットを使う構成で便利です。
  • BRAVE_MCP_TRANSPORT:トランスポートモード(「http」または「stdio」、デフォルト:「stdio」)
  • BRAVE_MCP_PORT:HTTP サーバーのポート(デフォルト:8080)
  • BRAVE_MCP_HOST:HTTP サーバーのホスト(デフォルト:「127.0.0.1」)。デフォルトではループバックのみにバインドされます。サーバーをすべてのインターフェースで公開するには「0.0.0.0」に設定してください(コンテナ内および Amazon Bedrock AgentCore では必須です)。HTTP エンドポイントには認証がないため、信頼できるネットワークでのみ設定してください。
  • BRAVE_MCP_ALLOWED_ORIGINS:HTTP トランスポートで許可する追加の Origin ヘッダー値を、スペースまたはカンマで区切ったリスト。ループバックのオリジンは常に許可されます。DNS リバインディングを防ぐため、それ以外の Origin を含むブラウザーリクエストは HTTP 403 で拒否されます。実際のドメイン上のブラウザーベースのクライアントからアクセスする必要がある場合に設定してください。
  • BRAVE_MCP_ALLOWED_HOSTS:HTTP トランスポートの Host ヘッダーで許可するホスト名を、スペースまたはカンマで区切ったリスト。照合対象はホスト名のみで、大文字と小文字は区別されません。エントリに数値のポート(例:mcp.example.com:8080)を含めることもできますが、照合では無視されます。これは任意で有効にする多層防御の設定です。未設定(デフォルト)の場合、Host ヘッダーは検証されないため、リバースプロキシやカスタムドメインを使ったデプロイには影響しません。設定すると、ループバックホストとリストに含まれるホスト名のみが許可され、それ以外の Host(不正なポートや数値でないポートを含む)は HTTP 403 で拒否されます。
  • BRAVE_MCP_LOG_LEVEL:希望するログレベル(「debug」、「info」、「notice」、「warning」、「error」、「critical」、「alert」、「emergency」のいずれか。デフォルト:「info」)
  • BRAVE_MCP_ENABLED_TOOLS:指定すると、サポート対象のツールの許可リストをスペース区切りで指定します
  • BRAVE_MCP_DISABLED_TOOLS:指定すると、サポート対象のツールの拒否リストをスペース区切りで指定します
  • BRAVE_MCP_STATELESS:HTTP ステートレスモード(デフォルト:「true」)。Amazon Bedrock Agentcore で実行する場合は「true」に設定してください。
コマンドラインオプション
node dist/index.js [options]

Options:
  --brave-api-key <string>        Brave API key
  --brave-api-key-file <string>   Path to file containing Brave API key
  --transport <stdio|http>    Transport type (default: stdio)
  --port <number>             HTTP server port (default: 8080)
  --host <string>             HTTP server host (default: 127.0.0.1)
  --allowed-origins <origins...>  Allowed Origin header values for HTTP transport (DNS rebinding protection)
  --allowed-hosts <hosts...>  Allowed Host header values for HTTP transport (opt-in DNS rebinding protection)
  --logging-level <string>    Desired logging level (one of _debug_, _info_, _notice_, _warning_, _error_, _critical_, _alert_, or _emergency_)
  --enabled-tools             Tools whitelist (only the specified tools will be enabled)
  --disabled-tools            Tools blacklist (included tools will be disabled)
  --stateless  <boolean>      HTTP Stateless flag

インストール

Claude Desktop での使用

claude_desktop_config.json に次の設定を追加してください。

Docker
{
  "mcpServers": {
    "brave-search": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "BRAVE_API_KEY", "docker.io/mcp/brave-search"],
      "env": {
        "BRAVE_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}
NPX
{
  "mcpServers": {
    "brave-search": {
      "command": "npx",
      "args": ["-y", "@brave/brave-search-mcp-server", "--transport", "http"],
      "env": {
        "BRAVE_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}
VS Code での使用

すばやくインストールするには、以下のワンクリックインストールボタンを使用してください。

Install with NPX in VS Code Install with NPX in VS Code Insiders
Install with Docker in VS Code Install with Docker in VS Code Insiders

手動でインストールするには、ユーザー設定(JSON)または .vscode/mcp.json に以下を追加してください。

Docker
{
  "inputs": [
    {
      "password": true,
      "id": "brave-api-key",
      "type": "promptString",
      "description": "Brave Search API Key",
    }
  ],
  "servers": {
    "brave-search": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "BRAVE_API_KEY", "mcp/brave-search"],
      "env": {
        "BRAVE_API_KEY": "${input:brave-api-key}"
      }
    }
  }
}
NPX
{
  "inputs": [
    {
      "password": true,
      "id": "brave-api-key",
      "type": "promptString",
      "description": "Brave Search API Key",
    }
  ],
  "servers": {
    "brave-search-mcp-server": {
      "command": "npx",
      "args": ["-y", "@brave/brave-search-mcp-server", "--transport", "stdio"],
      "env": {
        "BRAVE_API_KEY": "${input:brave-api-key}"
      }
    }
  }
}
fx での使用

ファイルが存在しない場合は作成し、~/.fx/mcp.json に以下を追加してください。

Docker
{
  "mcp": {
    "brave-search": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "BRAVE_API_KEY", "docker.io/mcp/brave-search"],
      "env": {
        "BRAVE_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}
NPX
{
  "mcp": {
    "brave-search": {
      "command": "npx",
      "args": ["-y", "@brave/brave-search-mcp-server", "--transport", "stdio"],
      "env": {
        "BRAVE_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}

fx を起動するか、すでに起動している場合は /mcp reload と入力してください。接続を確認するには、/mcp list と入力します。

ビルド

Docker
docker build -t mcp/brave-search:latest .
ローカルビルド
npm install
npm run build

開発

前提条件
  • Node.js 22.x 以降
  • npm
  • Brave Search API キー
セットアップ
  1. リポジトリをクローンします:
git clone https://github.com/brave/brave-search-mcp-server.git
cd brave-search-mcp-server
  1. 依存関係をインストールします:
npm install
  1. プロジェクトをビルドします:
npm run build
Claude Desktop によるテスト

ローカルビルドへの参照を claude_desktop_config.json に追加します:

{
  "mcpServers": {
    "brave-search-dev": {
      "command": "node",
      "args": ["C:\\GitHub\\brave-search-mcp-server\\dist\\index.js"], // Verify your path
      "env": {
        "BRAVE_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}
MCP Inspector によるテスト

Inspector の実行には Node 22.19 以降が必要です。

STDIO — Inspector がサーバーを起動するため、ターミナルは 1 つで十分です:

npm run build
npx @modelcontextprotocol/inspector node dist/index.js

HTTP — Inspector は URL に接続するため、サーバーはあらかじめリッスンしている必要があります:

# terminal 1
npm run serve:http

# terminal 2
npm run inspector:http

serve:http はビルドを行い、127.0.0.1:8080 にバインドして、.env から BRAVE_API_KEY を読み込みます。

利用可能なスクリプト
  • npm run build:TypeScript プロジェクトをビルドします

  • npm run watch:変更を監視して再ビルドします

  • npm test:テストスイートを実行します

  • npm run format:Prettier でコードをフォーマットします

  • npm run format:check:コードのフォーマットをチェックします

  • npm run prepare:フォーマットとビルドを実行します(npm install の実行時に自動的に実行されます)

  • npm run serve:http:ビルドしてから、HTTP 経由で http://127.0.0.1:8080/mcp でサーバーを起動します

  • npm run inspector:MCP Inspector のインスタンスを起動します

  • npm run inspector:http:http://127.0.0.1:8080/mcp に対して MCP Inspector を起動します

Docker Compose

Docker を使ったローカル開発の場合:

docker-compose up --build

スタックを起動する前に、シェルまたは .env ファイルで BRAVE_API_KEY(または BRAVE_API_KEY_FILE)を設定します。デフォルトの docker-compose.yml では、コンテナ内で有効なパス(バインドマウントや Docker シークレットなど)を指定した場合、BRAVE_API_KEY_FILE も使用できます。

Docker Compose シークレット(任意)

API キーを環境変数に設定せずに使うには、Docker Compose シークレットを利用できます。サーバーは BRAVE_API_KEY_FILE に指定されたパスからキーを読み取ります。このパスはコンテナ内に存在している必要があります。

  1. サンプルのシークレットファイルをコピーし、キーを追加します。
cp secrets/brave_api_key.txt.example secrets/brave_api_key.txt
  1. 任意のシークレット設定を上書きしてスタックを起動します。
docker compose -f docker-compose.yml -f docker-compose.secrets.example.yml up --build

この設定では、シークレットを /run/secrets/brave_api_key にマウントし、それに応じて BRAVE_API_KEY_FILE を設定します。設定の全容については、docker-compose.secrets.example.yml を参照してください。

ライセンス

この MCP サーバーは MIT License の下でライセンスされています。これは、MIT License の利用規約に従うことを条件に、ソフトウェアを自由に使用、変更、配布できることを意味します。詳細については、プロジェクトリポジトリ内の LICENSE ファイルを参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。