Skip to main content

MCP Server for the Perplexity API.

Project description

Perplexity MCP Server

MCP Server for the Perplexity API.

smithery badge PyPI Publish

Components

Tools

  • ask_perplexity: Request expert programming assistance through Perplexity. Focuses on coding solutions, error debugging, and technical explanations. Returns responses with source citations and alternative suggestions.
  • chat_perplexity: Maintains ongoing conversations with Perplexity AI. Creates new chats or continues existing ones with full history context. Returns chat ID for future continuation.

Key Features

  • Model Configuration via Environment Variable: Allows you to specify the Perplexity model using the PERPLEXITY_MODEL environment variable for flexible model selection.

    You can also specify PERPLEXITY_MODEL_ASK and PERPLEXITY_MODEL_CHAT to use different models for the ask_perplexity and chat_perplexity tools, respectively.

    These will override PERPLEXITY_MODEL. You can check which models are available on the Perplexity documentation.

  • Persistent Chat History: The chat_perplexity tool maintains ongoing conversations with Perplexity AI. Creates new chats or continues existing ones with full history context. Returns chat ID for future continuation.

  • Streaming Responses with Progress Reporting: Uses progress reporting to prevent timeouts on slow responses.

Quickstart

Installation

Prerequisites

Automated Installation

We provide automated installation scripts that will:

  1. Install uvx if not present
  2. Download and install mcp-starter
  3. Guide you through creating the configuration file
Windows Installation
  1. Download the install.ps1 script
  2. Open PowerShell as Administrator
  3. Allow script execution and run:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
.\install.ps1

The script will:

  • Check for required dependencies (curl, PowerShell)
  • Install uvx if not present
  • Install mcp-starter to %USERPROFILE%\.local\bin
  • Create a configuration file at %USERPROFILE%\.config\mcp-starter\config.json
  • Prompt for your Perplexity API key and model preferences
Unix Installation (Linux/MacOS)
  1. Download the install.sh script
  2. Open Terminal
  3. Navigate to the directory containing the script
  4. Make the script executable and run it:
chmod +x install.sh  # Only needed if downloaded directly from browser
./install.sh

The script will:

  • Check for required dependencies (curl)
  • Install uvx if not present
  • Install mcp-starter to $HOME/.local/bin
  • Create a configuration file at $HOME/.config/mcp-starter/config.json
  • Prompt for your Perplexity API key and model preferences

Manual Installation

If you prefer to install manually, follow these steps:

Configure your MCP Client

To use this MCP server, you need to configure your MCP client to connect to it. The configuration method will vary depending on your specific client.

Below is an example configuration in JSON format:

"mcpServers": {
  "mcp-perplexity": {
    "command": "uvx",
    "args": [
      "mcp-perplexity"
    ],
    "env": {
      "PERPLEXITY_API_KEY": "your-perplexity-api-key",
      "PERPLEXITY_MODEL": "sonar-pro",
      "PERPLEXITY_MODEL_ASK": "sonar-pro",
      "PERPLEXITY_MODEL_CHAT": "sonar-reasoning-pro",
      "DB_PATH": "path/to/custom.db"
    }
  }
}

Important notes:

  • Replace "your-perplexity-api-key" with your actual Perplexity API key
  • Environment variables configuration:
    • PERPLEXITY_MODEL: Default model for both tools
    • PERPLEXITY_MODEL_ASK: Overrides default model for ask_perplexity tool
    • PERPLEXITY_MODEL_CHAT: Overrides default model for chat_perplexity tool
    • DB_PATH: Custom path for SQLite chat history database (default: chats.db)
  • Consult the Perplexity model docs for available models
  • Use the mcp-starter script to easily add this MCP server to Cursor IDE.

Using Smithery CLI

Smithery is a CLI tool that allows you to easily add MCP servers to your Cursor IDE.

Replace the values of the configuration object with your own values.

npx -y @smithery/cli@latest run @daniel-lxs/mcp-perplexity --config "{\"perplexityApiKey\":\"abc\",\"perplexityModel\":\"sonar-pro\", \"modelAsk\":\"sonar-pro\", \"modelChat\":\"sonar-reasoning-pro\", \"dbPath\":\"path/to/custom.db\"}"
  • perplexityApiKey: PERPLEXITY_API_KEY
  • perplexityModel: PERPLEXITY_MODEL
  • modelAsk: PERPLEXITY_MODEL_ASK
  • modelChat: PERPLEXITY_MODEL_CHAT
  • dbPath: DB_PATH

Usage

ask_perplexity

The ask_perplexity tool is used for specific questions, this tool doesn't maintain a chat history, every request is a new chat.

The tool will return a response from Perplexity AI using the PERPLEXITY_MODEL_ASK model if specified, otherwise it will use the PERPLEXITY_MODEL model.

chat_perplexity

The chat_perplexity tool is used for ongoing conversations, this tool maintains a chat history. A chat is identified by a chat ID, this ID is returned by the tool when a new chat is created. Chat IDs look like this: wild-horse-12.

This tool is useful for debugging, research, and any other task that requires a chat history.

The tool will return a response from Perplexity AI using the PERPLEXITY_MODEL_CHAT model if specified, otherwise it will use the PERPLEXITY_MODEL model.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_perplexity-0.3.3.tar.gz (18.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_perplexity-0.3.3-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

File details

Details for the file mcp_perplexity-0.3.3.tar.gz.

File metadata

  • Download URL: mcp_perplexity-0.3.3.tar.gz
  • Upload date:
  • Size: 18.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for mcp_perplexity-0.3.3.tar.gz
Algorithm Hash digest
SHA256 30a13c26738a41874fd7b6ad850cd037046fbb95e477b3bb3b1312af2fac3edd
MD5 5207bf7b6fd9f8ba1a1baa5c1ed3a304
BLAKE2b-256 17ad7806a6c40454d4b46858d195ecc29c9dc3221eb355d9d2b065d3c8b35f8d

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_perplexity-0.3.3.tar.gz:

Publisher: pypi-publish.yml on daniel-lxs/mcp-perplexity

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mcp_perplexity-0.3.3-py3-none-any.whl.

File metadata

  • Download URL: mcp_perplexity-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 8.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for mcp_perplexity-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 360de4f8e320ae63eb407ec52a997212abf79631078cd8a0eba2c9ee65ac6f47
MD5 28b5cc81717b310eb2dee2d51e7f4ced
BLAKE2b-256 3fb46a74fc2f900e301b5699e861d0e37d356c3ac69af9a73b709f8a6c414c0d

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_perplexity-0.3.3-py3-none-any.whl:

Publisher: pypi-publish.yml on daniel-lxs/mcp-perplexity

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page