🚀 Exa MCP Server 🔍
Model Context Protocol (MCP)サーバーは、ClaudeなどのAIアシスタントがExa AI Search APIを使用してウェブ検索を行えるようにします。この設定により、AIモデルは安全かつコントロールされた方法でリアルタイムのウェブ情報を取得できます。


🚀 クイックスタート
🌐 リモートExa MCP
ExaがホストするMCPサーバーに直接接続できます(ローカルで実行するのではなく)。
リモートExa MCP URL
https://mcp.exa.ai/mcp?exaApiKey=your-exa-api-key
your-api-key-here を dashboard.exa.ai/api-keys から取得した実際のExa APIキーに置き換えてください。
リモートMCP用のClaude Desktop設定
Claude Desktopの設定ファイルに以下を追加します。
{
"mcpServers": {
"exa": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.exa.ai/mcp?exaApiKey=your-exa-api-key"
]
}
}
}
NPMインストール
npm install -g exa-mcp-server
Claude Codeを使用する場合
claude mcp add exa -e EXA_API_KEY=YOUR_API_KEY -- npx -y exa-mcp-server
Smitheryを使用する場合
Smithery を介してClaude Desktop用のExa MCPサーバーを自動的にインストールするには、以下を実行します。
npx -y @smithery/cli install exa --client claude
⚙️ 設定
1. Claude DesktopがExa MCPサーバーを認識するように設定する
Claude Desktopアプリの設定内にある claude_desktop_config.json を見つけることができます。
Claude Desktopアプリを開き、左上のメニューバーから開発者モードを有効にします。有効になったら、同じく左上のメニューバーから設定を開き、開発者オプションに移動して、設定を編集するボタンをクリックします。これをクリックすると claude_desktop_config.json ファイルが開き、必要な編集を行うことができます。
または(ターミナルから claude_desktop_config.json を開きたい場合)
macOSの場合
- Claude Desktopの設定を開きます。
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
Windowsの場合
- Claude Desktopの設定を開きます。
code %APPDATA%\Claude\claude_desktop_config.json
2. Exaサーバーの設定を追加する
{
"mcpServers": {
"exa": {
"command": "npx",
"args": ["-y", "exa-mcp-server"],
"env": {
"EXA_API_KEY": "your-api-key-here"
}
}
}
}
your-api-key-here を dashboard.exa.ai/api-keys から取得した実際のExa APIキーに置き換えてください。
3. 利用可能なツールとツールの選択
Exa MCPサーバーには以下のツールが含まれており、--tools を追加することで有効にできます。
- web_search_exa:最適化された結果とコンテンツ抽出を伴うリアルタイムウェブ検索を実行します。
- company_research:企業のウェブサイトをクロールして、企業に関する詳細情報を収集する包括的な企業調査ツールです。
- crawling:特定のURLからコンテンツを抽出します。正確なURLがある場合に記事、PDF、または任意のウェブページを読むのに便利です。
- linkedin_search:Exa AIを使用してLinkedIn上の企業や人物を検索します。クエリに企業名、人物名、または特定のLinkedIn URLを含めるだけです。
- deep_researcher_start:複雑な質問に対してスマートなAI調査員を起動します。AIはウェブを検索し、多数の情報源を読み、質問について深く考えて詳細な調査レポートを作成します。
- deep_researcher_check:調査が完了したかどうかを確認し、結果を取得します。調査タスクを開始した後、これを使用して完了したかどうかを確認し、包括的なレポートを取得します。
Claude Desktopの設定に --tools パラメーターを追加することで、有効にするツールを選択できます。
有効にするツールを指定する
{
"mcpServers": {
"exa": {
"command": "npx",
"args": [
"-y",
"exa-mcp-server",
"--tools=web_search_exa,company_research,crawling,linkedin_search,deep_researcher_start,deep_researcher_check"
],
"env": {
"EXA_API_KEY": "your-api-key-here"
}
}
}
}
複数のツールを有効にする場合は、カンマ区切りのリストを使用します。
{
"mcpServers": {
"exa": {
"command": "npx",
"args": [
"-y",
"exa-mcp-server",
"--tools=web_search_exa,company_research,crawling,linkedin_search,deep_researcher_start,deep_researcher_check"
],
"env": {
"EXA_API_KEY": "your-api-key-here"
}
}
}
}
ツールを指定しない場合、デフォルトで有効になっているすべてのツールが使用されます。
4. Claude Desktopを再起動する
変更を有効にするには:
- Claude Desktopを完全に終了します(ウィンドウを閉じるだけではなく)。
- Claude Desktopを再度起動します。
- アイコンを確認して、Exaサーバーが接続されていることを確認します。
💻 使用例
基本的な使用法
NPXを使用してサーバーを直接実行することもできます。
npx exa-mcp-server
npx exa-mcp-server --tools=web_search_exa
npx exa-mcp-server --tools=web_search_exa,company_research
npx exa-mcp-server --list-tools
🔧 トラブルシューティング
一般的な問題
- サーバーが見つからない
- npmリンクが正しく設定されていることを確認してください。
- Claude Desktopの設定構文(JSONファイル)を確認してください。
- APIキーの問題
- EXA_API_KEYが有効であることを確認してください。
- EXA_API_KEYがClaude Desktopの設定に正しく設定されていることを確認してください。
- APIキーの周りにスペースや引用符がないことを確認してください。
- 接続の問題
- Claude Desktopを完全に再起動してください。
- Claude Desktopのログを確認してください。
🚀 Herokuへのデプロイ
Herokuボタンを使用して、このMCPサーバーを1クリックでHerokuにデプロイできます。

Herokuへの手動デプロイ
手動でデプロイしたい場合は:
- このリポジトリをクローンします。
git clone https://github.com/dsouza-anush/exa-mcp-server-heroku.git
cd exa-mcp-server-heroku
- 新しいHerokuアプリを作成します。
heroku create
- Exa APIキーを構成変数として設定します。
heroku config:set EXA_API_KEY=your-api-key-here
- 必要に応じて、有効にするツールを指定します。
heroku config:set ENABLED_TOOLS=web_search_exa,company_research_exa,crawling_exa
- Herokuにデプロイします。
git push heroku main
🤖 Heroku InferenceとAgentsでの使用
このMCPサーバーは、Heroku Managed InferenceとAgentsと完全に互換性があります。使用するには:
- 上記の手順を使用してMCPサーバーをHerokuにデプロイします。
- MCPサーバーをHeroku Managed InferenceとAgentsのチャットモデルにアタッチします。
heroku ai:models:create MODEL_NAME -a APP_NAME --as INFERENCE
- あなたのMCPサーバーは自動的にHeroku Inferenceに登録され、そのツールは
/v1/agents/heroku エンドポイントを介して利用可能になります。
MCPサーバーの設定
このサーバーは、Heroku Inference用に以下のProcfile設定を使用しています。
web: npm run serve
mcp-search-exa: node ./stdio-server.js
mcp-search-exa プロセスは、Herokuによって必要とされる命名規則(プロセス名は "mcp" で始まる必要があります)に従って、Heroku Inferenceに登録されています。直接のNode.js実行により、MCPプロトコルの適切なstdio処理が保証されます。
web と mcp-search-exa の両方のダイノは、app.jsonでデフォルトで0にスケールするように構成されており、これはHerokuによるMCPサーバーの推奨設定に従っています。このアプリをHeroku Inferenceモデルにアタッチすると、Herokuはツールの実行に必要に応じてMCPプロセスを自動的にスケールします。
Claude Desktopでの使用
HerokuにデプロイしたMCPサーバーをClaude Desktopで使用するには:
- Claude Desktopの設定ファイルに以下を追加します。
{
"mcpServers": {
"exa_heroku": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://your-app-name.herokuapp.com/mcp"
],
"env": {
"EXA_API_KEY": "your-api-key-here"
}
}
}
}
your-app-name をあなたのHerokuアプリ名に、your-api-key-here をあなたのExa APIキーに置き換えてください。
Claude Code CLIでの使用
claude mcp add exa_heroku -e EXA_API_KEY=YOUR_API_KEY -- npx -y mcp-remote https://your-app-name.herokuapp.com/mcp
your-app-name をあなたのHerokuアプリ名に、YOUR_API_KEY をあなたのExa APIキーに置き換えてください。
🔄 上流リポジトリの更新の追跡
このリポジトリは、元の exa-mcp-server リポジトリから毎日自動的に更新され、すべてのHeroku固有のカスタマイズが保持されます。更新はGitHub Actionsを通じて処理されます。
自動更新
GitHub Actionsのワークフローが毎日実行されて:
- 元の
exa-mcp-server リポジトリから最新の変更を取得します。
- すべてのHeroku固有のカスタマイズ(app.json、Procfileなど)を保持します。
- 更新されたコードをコミットしてプッシュします。
また、手動で更新をトリガーすることもできます。
- GitHubリポジトリの "Actions" タブに移動します。
- "Auto Update from Upstream" ワークフローを選択します。
- "Run workflow" をクリックします。
手動更新
手動で更新したい場合は、含まれている更新スクリプトを使用できます。
- あなたのフォークしたリポジトリをクローンします。
git clone https://github.com/your-username/exa-mcp-server-heroku.git
cd exa-mcp-server-heroku
- 更新スクリプトを実行します。
./update-from-upstream.sh
- 変更をレビューした後、コミットしてあなたのリポジトリにプッシュします。
git commit -am "Updated from upstream with Heroku customizations"
git push origin main
- すでにHerokuにデプロイしている場合は、あなたのHerokuアプリを更新します。
git push heroku main
更新プロセスでは、以下を含むすべてのHeroku固有のカスタマイズが保持されます。
- Herokuボタンの設定(app.json)
- プロセス定義(Procfile)
- 環境変数の処理
- Heroku固有のスクリプト
- デプロイ手順
Built with ❤️ by team Exa