Skip to content

perplexityai/modelcontextprotocol

Repository files navigation

Perplexity API Platform MCP Server

Install in Cursor   Install in VS Code   npm version

The official MCP server implementation for the Perplexity API Platform, providing AI assistants with real-time web search, reasoning, and research capabilities through Sonar models and the Search API.

Available Tools

perplexity_search

Direct web search using the Perplexity Search API. Returns ranked search results with metadata, perfect for finding current information.

perplexity_ask

General-purpose conversational AI with real-time web search using the sonar-pro model. Great for quick questions and everyday searches.

perplexity_research

Deep, comprehensive research using the sonar-deep-research model. Ideal for thorough analysis and detailed reports.

perplexity_reason

Advanced reasoning and problem-solving using the sonar-reasoning-pro model. Perfect for complex analytical tasks.

Tip

Available as an optional parameter for perplexity_reason and perplexity_research: strip_thinking

Set to true to remove <think>...</think> tags from the response, saving context tokens. Default: false

Configuration

Get Your API Key

  1. Get your Perplexity API Key from the API Portal
  2. Replace your_key_here in the configurations below with your API key
  3. (Optional) Set timeout: PERPLEXITY_TIMEOUT_MS=600000 (default: 5 minutes)
  4. (Optional) Set log level: PERPLEXITY_LOG_LEVEL=DEBUG|INFO|WARN|ERROR (default: ERROR)

Claude Code

claude mcp add perplexity --env PERPLEXITY_API_KEY="your_key_here" -- npx -y @perplexity-ai/mcp-server

Or install via plugin:

export PERPLEXITY_API_KEY="your_key_here"
claude
# Then run: /plugin marketplace add perplexityai/modelcontextprotocol
# Then run: /plugin install perplexity

Cursor, Claude Desktop & Windsurf

We recommend using the one-click install badge at the top of this README for Cursor.

For manual setup, all these clients use the same mcpServers format:

Client Config File
Cursor ~/.cursor/mcp.json
Claude Desktop claude_desktop_config.json
Windsurf ~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "perplexity": {
      "command": "npx",
      "args": ["-y", "@perplexity-ai/mcp-server"],
      "env": {
        "PERPLEXITY_API_KEY": "your_key_here"
      }
    }
  }
}

VS Code

We recommend using the one-click install badge at the top of this README for VS Code, or for manual setup, add to .vscode/mcp.json:

{
  "servers": {
    "perplexity": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@perplexity-ai/mcp-server"],
      "env": {
        "PERPLEXITY_API_KEY": "your_key_here"
      }
    }
  }
}

Codex

codex mcp add perplexity --env PERPLEXITY_API_KEY="your_key_here" -- npx -y @perplexity-ai/mcp-server

Other MCP Clients

Most clients can be manually configured to use the mcpServers wrapper in their configuration file (like Cursor). If your client doesn't work, check its documentation for the correct wrapper format.

Proxy Setup (For Corporate Networks)

If you are running this server at work—especially behind a company firewall or proxy—you may need to tell the program how to send its internet traffic through your network's proxy. Follow these steps:

1. Get your proxy details

  • Ask your IT department for your HTTPS proxy address and port.
  • You may also need a username and password.

2. Set the proxy environment variable

The easiest and most reliable way for Perplexity MCP is to use PERPLEXITY_PROXY. For example:

export PERPLEXITY_PROXY=https://your-proxy-host:8080

If your proxy needs a username and password, use:

export PERPLEXITY_PROXY=https://username:password@your-proxy-host:8080

3. Alternate: Standard environment variables

If you'd rather use the standard variables, we support HTTPS_PROXY and HTTP_PROXY.

Note

The server checks proxy settings in this order: PERPLEXITY_PROXYHTTPS_PROXYHTTP_PROXY. If none are set, it connects directly to the internet. URLs must include https://. Typical ports are 8080, 3128, and 80.

HTTP Server Deployment

For cloud or shared deployments, you can run the server in HTTP mode:

Environment Variables

The HTTP server supports these configuration options:

  • PORT - HTTP server port (default: 8080)
  • BIND_ADDRESS - Network interface to bind to (default: 127.0.0.1 for local, use 0.0.0.0 for hosted)
  • ALLOWED_ORIGINS - Comma-separated list of allowed CORS origins (default: http://localhost:3000,http://127.0.0.1:3000, use * for public service)
  • PERPLEXITY_API_KEY - Your Perplexity API key (required)

Using Docker

docker build -t perplexity-mcp-server .
docker run -p 8080:8080 -e PERPLEXITY_API_KEY=your_key_here perplexity-mcp-server

The server will be accessible at http://localhost:8080/mcp

Using Node.js Directly

npm install
npm run build
npm run start:http

Connect your MCP client to: http://localhost:8080/mcp

Troubleshooting

  • API Key Issues: Ensure PERPLEXITY_API_KEY is set correctly
  • Connection Errors: Check your internet connection and API key validity
  • Tool Not Found: Make sure the package is installed and the command path is correct
  • Timeout Errors: For very long research queries, set PERPLEXITY_TIMEOUT_MS to a higher value
  • Proxy Issues: Verify your PERPLEXITY_PROXY or HTTPS_PROXY setup and ensure api.perplexity.ai isn't blocked by your firewall.
  • EOF / Initialize Errors: Some strict MCP clients fail because npx writes installation messages to stdout. Use npx -yq instead of npx -y to suppress this output.

For support, visit community.perplexity.ai or file an issue.


About

The official MCP server implementation for the Perplexity API Platform

Resources

License

Stars

Watchers

Forks

Contributors 11