which npx
cd ~/Library/Application\ Support/Claude/
code claude_desktop_config.json
以下のように入力
{
"mcpServers": {
"brave-search": {
"command": "/PATH/TO/YOUR/NPX/npx",
"args": [
"-y",
"@modelcontextprotocol/server-brave-search"
],
"env": {
"BRAVE_API_KEY": "YOUR_API_KEY"
}
}
}
}
/PATH/TO/YOUR/NPX/npx と YOUR_API_KEY は適宜書き換えます。
設定の確認方法
Claudeアプリを起動し「Claude」→「Settings」→「Developer」を選択します。 以下のように表示されていれば成功です。
次の2つの検索が使えるようになります。
brave_web_search: ウェブ上の一般的な情報を検索
brave_local_search: 実店舗やビジネスなどの地域情報を検索
「could not connect MCP brave server」のようなエラーになる場合はパスがうまく通ってないかもしれないので確認しましょう。
試しに以下のようなプロンプトを実行して検証します。
ネットで生成AIの最新ニュースを検索して5件面白いトピックを教えて
web検索してくれてます。
アクセス可能なフォルダ作成して指定します。
"filesystem": {
"command": "/PATH/TO/YOUR/NPX/npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/YOUR-USER-NAME/mcp_folder"
]
},
このあたりにあります
https://github.com/modelcontextprotocol/servers/blob/main/src/brave-search/index.ts#L182
各API にそれぞれ「こんにちは」のメッセージを投げた時の戻り値です
{
"candidates": [
{
"content": {
"parts": [
{
"text": "こんにちは! 何かお手伝いできることはありますか? \n"
}
],
"role": "model"
},
"finishReason": "STOP",
"index": 0,
"safetyRatings": [
{
"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
"probability": "NEGLIGIBLE"
},
{
"category": "HARM_CATEGORY_HATE_SPEECH",
"probability": "NEGLIGIBLE"
},
{
"category": "HARM_CATEGORY_HARASSMENT",
"probability": "NEGLIGIBLE"
},
{
"category": "HARM_CATEGORY_DANGEROUS_CONTENT",
"probability": "NEGLIGIBLE"
}
]
}
],
"usageMetadata": {
"promptTokenCount": 2,
"candidatesTokenCount": 11,
"totalTokenCount": 13
},
"modelVersion": "gemini-1.5-flash-001"
}
{
"id": "chatcmpl-ATdccrP607V8JZQgryBdx72k0FD85",
"object": "chat.completion",
"created": 1731627182,
"model": "gpt-4o-mini-2024-07-18",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "こんにちは!今日はどんなことをお話ししましょうか?",
"refusal": null
},
"logprobs": null,
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 8,
"completion_tokens": 14,
"total_tokens": 22,
"prompt_tokens_details": {
"cached_tokens": 0,
"audio_tokens": 0
},
"completion_tokens_details": {
"reasoning_tokens": 0,
"audio_tokens": 0,
"accepted_prediction_tokens": 0,
"rejected_prediction_tokens": 0
}
},
"system_fingerprint": "fp_0ba0d124f1"
}
{
"id": "msg_01BfFT8n2WeqqB47em3zig7x",
"type": "message",
"role": "assistant",
"model": "claude-3-haiku-20240307",
"content": [
{
"type": "text",
"text": "はい、こんにちは。どのようなことでお手伝いできますでしょうか?"
}
],
"stop_reason": "end_turn",
"stop_sequence": null,
"usage": {
"input_tokens": 12,
"output_tokens": 31
}
}