Perplexity Ask MCP Server

Perplexity Ask MCP Server

Integrates the Sonar API to provide Claude with real-time web-wide research capabilities. Enables conversational web searches through Perplexity's AI-powered search engine for up-to-date information retrieval.

Category
Visit Server

README

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

Demo

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 git@github.com:ppl-ai/modelcontextprotocol.git

Install the necessary dependencies:

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 api@perplexity.ai for any additional support or file a bug.

Cursor integration

You can also use our MCP with Cursor (or any other app that supports this). To use Sonar with Cursor, you can follow the following steps.

Step 1: Navigate to your Cursor settings:

Cursor Settings

Step 2: Navigate to the MCP directory

And click on Add new global MCP server

Add Server

Step 3: Insert the MCP Server Configuration from above

This is the same configuration you would use for any other application that supports MCP.

You should then see the application being part of your available tools like this:

Cursor MCP

License

This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured