modelcontextprotocol

MCP.Pizza Chef: ppl-ai

The modelcontextprotocol MCP server integrates the Perplexity (Sonar) API to provide real-time, web-wide research capabilities within the MCP ecosystem. It allows LLMs like Claude to perform live web searches seamlessly without leaving their environment, enhancing context awareness and information retrieval. This server supports conversational interactions with the Sonar API, enabling dynamic, up-to-date data access for AI workflows.

Use This MCP server To

Enable live web search within MCP-enabled LLM workflows Provide real-time research data to AI assistants Integrate web-wide knowledge into conversational AI Support dynamic context updates from the internet Facilitate multi-turn conversations with live web data Enhance AI responses with current web information

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

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 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.

modelcontextprotocol FAQ

How do I set up the modelcontextprotocol MCP server?
Clone the GitHub repository, configure the Sonar API credentials, and run the server as per the README instructions.
What input format does the perplexity_ask tool require?
It requires an array of messages, each with a 'role' (system, user, assistant) and 'content' string for conversation context.
Can this MCP server be used with multiple LLM providers?
Yes, it is designed to work with various LLMs like Claude, OpenAI GPT, and Anthropic's Claude by providing real-time web search context.
Is the web search data updated in real-time?
Yes, the server queries the Sonar API live, ensuring up-to-date web information during interactions.
How does this server enhance AI model capabilities?
By integrating live web search results, it enriches model context with current, relevant information beyond static training data.
Are there any security considerations when using this server?
Yes, ensure API keys are securely stored and access is scoped appropriately to prevent misuse.