Claude Desktop から Perplexity Ask MCP Server を使って最新の情報を取得する

## はじめに

前回の[記事](https://qiita.com/revsystem/items/1c0a2a0aa8fd6b169c5d)では、Claude Desktop から Docker 上の MCP サーバーを使って GitHub のリポジトリを参照し Issue を作成する方法を紹介しました。

https://qiita.com/revsystem/items/1c0a2a0aa8fd6b169c5d

今回は、Claude Desktop から [Perplexity Ask MCP Server](https://github.com/ppl-ai/modelcontextprotocol/tree/main) に接続する方法を紹介します。

## 参考情報

https://github.com/ppl-ai/modelcontextprotocol/tree/main

## Perplexity Ask MCP Server とは

[公式リポジトリ](https://github.com/ppl-ai/modelcontextprotocol/tree/main)の説明によると、Perplexity Ask MCP Server は、Sonar API を統合し Claude に比類のないリアルタイムの Web 全体の調査を提供する MCP サーバー実装と書かれています。

> An MCP server implementation that integrates the Sonar API to provide Claude with unparalleled real-time, web-wide research.

## 前提条件

- Docker Desktop がインストールされていること
  - Perplexity Ask MCP Server を Docker で起動するために必要です
- Claude Desktop 0.9.0 以降（この記事では Windows 版 0.9.0 を使用）

## Claude Desktop のセットアップ

### インストール

[Claude.ai 公式サイト](https://claude.ai/download)からインストーラーをダウンロードしてインストールします。

![Claude Desktop](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61809/bd73d7ca-f26f-402d-8cc4-46abb02a0998.png)

### Sonar API キーの取得

Perplexity にアカウントを作成し、マイアカウント画面にある[API 設定ページ](https://www.perplexity.ai/account/api)から Sonar API キーを取得します。
手順は、[Initial Setup](https://docs.perplexity.ai/guides/getting-started#registration)が参考になります。

https://docs.perplexity.ai/guides/getting-started#registration

1. クレジットカードを登録
1. API を利用するためのクレジットを購入(最低 $3)
1. クレジット購入が完了後、APIキーの生成ボタンをクリック
1. 生成されたAPIキーをコピー

### MCP サーバーの設定

1. Claude Desktop を起動し、左上のハンバーガーメニューから「ファイル」→「設定」を選択
1. 設定ウィンドウから「開発者」を選択
1. 「構成を編集」をクリックしてエクスプローラーを開く
1. `claude_desktop_config.json` を編集（場所: `C:\Users\{ユーザー名}\AppData\Roaming\Claude\claude_desktop_config.json`）

以下の設定を追加します（`<YOUR_API_KEY_HERE>` を実際のトークンに置き換えてください）：

```json:claude_desktop_config.json
{
  "mcpServers": {
    "perplexity-ask": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "PERPLEXITY_API_KEY",
        "mcp/perplexity-ask"
      ],
      "env": {
        "PERPLEXITY_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}
```

前回の記事で GitHub の MCP サーバーを設定している場合、今回の設定を追加し以下のように設定します。

```json:claude_desktop_config.json
{
  "mcpServers": {
    "github": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN",
        "mcp/github"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
      }
    },
    "perplexity-ask": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "PERPLEXITY_API_KEY",
        "mcp/perplexity-ask"
      ],
      "env": {
        "PERPLEXITY_API_KEY": "<YOUR_API_KEY_HERE>"
      }
    }
  }
}
```

設定後、Claude Desktop を再起動します。メニューから「終了」を選択して閉じ、再度起動します。ウィンドウを閉じただけでは設定が反映されないため注意してください。

![Claude Desktopを終了する](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61809/7c71e84a-60c1-4a6e-8040-5e80a233b681.png)

### Docker Desktop の起動

MCP サーバーのコンテナを実行するため、Docker Desktop を起動します。

![Docker Desktop](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61809/f514c604-4b8b-44be-b2fc-028dd5158b6b.png)

## 動作確認

Claude Desktop を起動すると、チャット画面にハンマーのアイコンが表示され、設定した権限に応じて利用可能な MCP ツールが表示されます。前回の記事で GitHub の MCP サーバーを設定している場合、17 個のツールに今回のツールが加わり 18 個のツールが表示されます。

![ハンマーのアイコン](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61809/2ffff2d0-5452-46c4-9d8a-26fb156cbaf7.png)

ハンマーのアイコンをクリックすると、利用可能なMCPツールが表示されます。その中にPerplexity Ask MCP Serverが表示されていることを確認できます。
![利用可能なMCPツール](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61809/2c7a6b91-7f24-4a96-9cdd-1e2b3ab50418.png)

### 使用例：Perplexity Ask MCP Serverの利用

Perplexity Ask MCP Serverを使うには、プロンプトに「Perplexityを使って」のようにPerplexityを利用することを明示的に指定します。指定しなかった場合、通常のClaudeの動作となります。

以下のような質問を試してみましょう：

> Perplexityを使って、昨日のプロ野球の結果を調べて。

![プロンプト実行](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61809/eb539603-5b00-4df1-88c2-c1fe774e9a02.png)

Claude は最初に Perplexity Ask MCP Server の実行許可を求めます。

![ツール実行の許可](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61809/a3636656-8b24-4a1a-8e68-38c38267bf30.png)

許可を与えると、Perplexity Ask MCP Server が昨日のプロ野球の結果を調べて、Claude に回答を返します。Claude は「昨日の」という指定から日付を理解し、Perplexity の API を使って昨日のプロ野球の結果を調べています。

![昨日のプロ野球の結果を聞いてみる](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61809/3a53b388-48d8-4ad5-bc1c-2407a958b2c4.png)

今日(2025/04/03)行われた、F1日本グランプリの木曜日記者会見について質問してみます。最新のニュースも問題なく取得し、リスト形式にしてくれました。

![F1日本グランプリの記者会見](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61809/58dbf5d9-b65c-47e5-89b6-8c8c8d221f5f.png)

### Dockerコンテナの確認

このようにPerplexity Ask MCP ServerのDockerコンテナが起動していることを確認できます。
![Dockerコンテナの確認](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61809/1799f00c-56a5-4e04-bb37-6ec2b3ece240.png)

## Sonar APIキーの料金体系

Sonar APIキーの料金体系は以下の通りです。

| Model | Input Tokens (Per Million) | Output Tokens (Per Million) |Price per 1,000 Requests|
| :----: | :----: | :----: | :----: |
| Sonar | $1 | $1 | $5 |

現在どの程度の料金が発生しているかは、Perplexity の API キーの設定画面から確認できます。

![利用可能なクレジット](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61809/9e7a27c9-174d-4c70-be5c-0bc6b8077fdc.png)

## GitHubのMCPサーバーとPerplexity Ask MCP Serverの連携

[前回の記事](https://qiita.com/revsystem/items/1c0a2a0aa8fd6b169c5d)で紹介した GitHub の MCP サーバーと、今回の Perplexity Ask MCP Server の連携を試してみます。

以下のようなクエリを試してみます：

> revsystem/{自分のリポジトリ名}のリポジトリに古いライブラリがないか確認し、アップデートするにはどのような方法があるかをPerplexityで調べて。

すると、リポジトリ内の状況を確認したあと、Perplexity で調べていることがわかります。このように複数の MCP サーバーを連携することで、より高度な自動化も可能です。

![GitHubのMCPサーバーとPerplexity Ask MCP Serverの連携](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61809/f221a6d9-bb7f-4ff4-a86d-2b1d52db476e.png)

## まとめ

Perplexity Ask MCP Server を使うことで、Perplexity の API を使って最新の情報を取得することができました。前回の記事で紹介した GitHub の MCP サーバーと同様に、`claude_desktop_config.json` に設定を追加するのみで MCP サーバーを利用できました。このように、Claude Desktop を利用した MCP サーバーの連携は手軽に試すことができます。

また、複数の MCP サーバーを連携することで、より高度な自動化も可能です。特定のワークフローを実現するための MCP サーバーを組み合わせて、自分だけの生成 AI 環境を構築するのも面白そうです。