Skip to main content
Glama
jaacob

Perplexity MCP Server

by jaacob
README.md
# Perplexity MCP Server

[![smithery badge](https://smithery.ai/badge/@jaacob/perplexity-mcp)](https://smithery.ai/server/@jaacob/perplexity-mcp)

An MCP server that provides web search capabilities using Perplexity's API.

<a href="https://glama.ai/mcp/servers/97nsl3drhq"><img width="380" height="200" src="https://glama.ai/mcp/servers/97nsl3drhq/badge" alt="Perplexity Server MCP server" /></a>

## Prerequisites

- Node.js (v14 or higher)
- A Perplexity API key (get one at <https://www.perplexity.ai/settings/api>)
- Claude Desktop App

## Installation

### Installing via Smithery

To install Perplexity Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@jaacob/perplexity-mcp):

```bash
npx -y @smithery/cli install @jaacob/perplexity-mcp --client claude
```

### Manual Installation
1. Clone this repository:

    ```bash
    git clone https://github.com/jaacob/perplexity-mcp
    cd perplexity-mcp
    ```

2. Install dependencies:

    ```bash
    npm install
    ```

3. Build the server:

    ```bash
    npm run build
    ```

## Configuration

1. Get your Perplexity API key from <https://www.perplexity.ai/settings/api>

2. Add the server to Claude's config file at `~/Library/Application Support/Claude/claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "perplexity-server": {
      "command": "node",
      "args": [
        "/absolute/path/to/perplexity-mcp/build/index.js"
      ],
      "env": {
        "PERPLEXITY_API_KEY": "your-api-key-here",
        "PERPLEXITY_MODEL": "sonar"
      }
    }
  }
}
```

Replace `/absolute/path/to` with the actual path to where you cloned the repository.

### Available Models

You can specify which model to use by setting the `PERPLEXITY_MODEL` environment variable. Available options:

- `sonar-reasoning-pro` - Most capable model with enhanced reasoning
- `sonar-reasoning` - Enhanced reasoning capabilities
- `sonar-pro` - Faster response times
- `sonar` - Default model (used if no model is specified)

For up-to-date model pricing and availability, visit: <https://docs.perplexity.ai/guides/pricing>

## Usage

After configuring the server and restarting Claude, you can simply ask Claude to search for information. For example:

- "What's the latest news about SpaceX?"
- "Search for the best restaurants in Chicago"
- "Find information about the history of jazz music"

Claude will automatically use the Perplexity search tool to find and return relevant information.

If for whatever reason it decides not to, you can force the issue by prepending your prompt with "Search the web".

## Development

To modify the server:

1. Edit `src/index.ts`
2. Rebuild with `npm run build`
3. Restart Claude to load the changes

## License

MIT

TDQS

B3.1/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of confusion or overlap between tools, making disambiguation perfect. The tool's purpose is clearly defined as web search using Perplexity AI, leaving no room for misselection.

Naming Consistency5/5

A single tool named 'search' follows a consistent and straightforward verb-based naming pattern. There are no other tools to compare against, so no inconsistency can exist in the naming scheme.

Tool Count2/5

One tool is too few for a server named 'Perplexity MCP Server', which implies broader capabilities beyond just search. A single tool feels thin and under-scoped for what might be expected from a Perplexity AI integration, such as additional operations like summarization or follow-up queries.

Completeness2/5

The tool surface is severely incomplete for a web search domain; it only offers a basic search function without any complementary tools for refining results, getting summaries, or handling related queries. This creates significant gaps that could lead to agent failures in complex tasks.

Maintenance

ActivityInactive
ResponsivenessNo issues