Installation
Login Required
To get your Streamable HTTP URL and configure MCP server, please login to your account first. If you don't have an account, you can quickly sign up.
Content
# 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](https://deepwiki.com/ppl-ai/modelcontextprotocol) for assistance with implementation.
# High-level System Architecture
*Credits: DeepWiki powered by Devin*


## 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:
```bash
git clone git@github.com:ppl-ai/modelcontextprotocol.git
```
Navigate to the `perplexity-ask` directory and install the necessary dependencies:
```bash
cd modelcontextprotocol/perplexity-ask && npm install
```
### Step 2: Get a Sonar API Key
1. Sign up for a [Sonar API account](https://docs.perplexity.ai/guides/getting-started).
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](https://claude.ai/download).
2. Add this to your `claude_desktop_config.json`:
```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
```json
{
"mcpServers": {
"perplexity-ask": {
"command": "npx",
"args": [
"-y",
"server-perplexity-ask"
],
"env": {
"PERPLEXITY_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
}
```
You can access the file using:
```bash
vim ~/Library/Application\ Support/Claude/claude_desktop_config.json
```
### Step 4: Build the Docker Image
Docker build:
```bash
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:

After clicking on the hammer icon, you should see the tools that come with the Filesystem MCP Server:

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](https://docs.perplexity.ai/api-reference/chat-completions).
### Troubleshooting
The Claude documentation provides an excellent [troubleshooting guide](https://modelcontextprotocol.io/docs/tools/debugging) you can refer to. However, you can still reach out to us at api@perplexity.ai for any additional support or [file a bug](https://github.com/ppl-ai/api-discussion/issues).
# 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:

### Step 2: Navigate to the MCP directory
And click on `Add new global MCP 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:

## 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.
Tool List
perplexity_ask
Description: Engages in a conversation using the Sonar API. Accepts an array of messages (each with a role and content) and returns a ask completion response from the Perplexity model.
Parameters
messages
Type:
array
Required:
Yes
Array of conversation messages
You Might Also Like
MarkItDown MCP
MarkItDown-MCP is a lightweight server for converting URIs to Markdown.
Github MCP
GitHub MCP Server enables automation and interaction with GitHub APIs.

apisix
Apache APISIX is an open-source API gateway for managing APIs and microservices.
mcp-obsidian
MCP server for Obsidian enables file management via Local REST API.
solana-agent-kit
Open-source toolkit for AI agents to interact with Solana protocols.
Unla
Unla transforms MCP Servers and APIs into MCP endpoints instantly.