PE

Perplexity

Created 6 months ago

An MCP server implementation that integrates the Sonar API for real-time web-wide research.

development documentation public

What is Perplexity?

An MCP server that connects to Perplexity's Sonar API, enabling real-time web-wide research in conversational AI.

Documentation

Perplexity Ask MCP Server

An MCP server implementation that integrates the Sonar API to provide Claude with unparalleled real-time, web-wide research. Please refer to the official DeepWiki page for assistance with implementation.

High-level System Architecture

Credits: DeepWiki powered by Devin

System Architecture

Tools

  • perplexity_ask - Engage in a conversation with the Sonar API for live web searches.
  • Inputs:
  • messages (array): An array of conversation messages.
  • Each message must include:
  • role (string): The role of the message (e.g., system, user, assistant).
  • content (string): The content of the message.

Configuration# Step 1: Clone this repository:

git clone [email protected]:ppl-ai/modelcontextprotocol.git

Navigate to the perplexity-ask directory and install the necessary dependencies:

cd modelcontextprotocol/perplexity-ask && npm install

Step 2: Get a Sonar API Key

  1. Sign up for a Sonar API account.
  2. Follow the account setup instructions and generate your API key from the developer dashboard.
  3. Set the API key in your environment as PERPLEXITY_API_KEY.

Step 3: Configure Claude Desktop

  1. Download Claude desktop here.
  2. Add this to your 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"
      }
    }
  }
}

NPX

{
  "mcpServers": {
    "perplexity-ask": {
      "command": "npx",
      "args": [
        "-y",
        "server-perplexity-ask"
      ],
      "env": {
        "PERPLEXITY_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}

You can access the file using:

vim ~/Library/Application\ Support/Claude/claude_desktop_config.json

Step 4: Build the Docker Image

Docker build:

docker build -t mcp/perplexity-ask:latest -f Dockerfile .

Step 5: Testing

Let's make sure Claude for Desktop is picking up the two tools we've exposed in our perplexity-ask server. You can do this by looking for the hammer icon: Claude Visual Tools After clicking on the hammer icon, you should see the tools that come with the Filesystem MCP Server: Available Integration If you see both of these this means that the integration is active. Congratulations! This means Claude can now ask Perplexity. You can then simply use it as you would use the Perplexity web app.

Step 6: Advanced parameters

Currently, the search parameters used are the default ones. You can modify any search parameter in the API call directly in the index.ts script. For this, please refer to the official API documentation.

Troubleshooting

The Claude documentation provides an excellent troubleshooting guide you can refer to. However, you can still reach out to us at [email protected] for any additional support or file a bug.

Server Config

{
  "mcpServers": {
    "perplexity-server": {
      "command": "npx",
      "args": [
        "perplexity"
      ]
    }
  }
}

Links & Status

Repository: github.com
Hosted: Yes
Global: Yes
Official: Yes

Project Info

Hosted Featured
Created At: May 23, 2025
Updated At: Aug 07, 2025
Author: ppl-ai
Category: official
License: MIT License
Tags:
development documentation public