Mcp Perplexity
@daniel-lxs
MCP Server for the Perplexity API.
Overview
What is Mcp Perplexity?
Mcp Perplexity is a Python-based MCP server that provides a programmatic interface to the Perplexity API. It offers tools for querying responses, maintaining chat history, and managing conversations, mimicking the browser-based Perplexity Chat experience. Designed for developers, it integrates with MCP-compatible clients and stores chat data locally.
How to use Mcp Perplexity?
Configure your MCP client with the command uvx mcp-perplexity and set the required environment variable PERPLEXITY_API_KEY. Optionally set PERPLEXITY_MODEL, DB_PATH, and other variables. You can also use Smithery CLI: npx -y @smithery/cli@latest run @daniel-lxs/mcp-perplexity --config "{\"perplexityApiKey\":\"pplx-abc\",\"perplexityModel\":\"sonar-pro\"}".
Key features of Mcp Perplexity
- Model selection via
PERPLEXITY_MODELenvironment variable. - Separate models for ask and chat tools.
- Persistent chat history with local database storage.
- Streaming responses with progress reporting to prevent timeouts.
- Paginated chat listing (50 chats per page, relative timestamps).
- Optional web UI for interactive chat management.
Use cases of Mcp Perplexity
- Ask specific programming questions and receive source citations.
- Maintain ongoing, context-aware conversations with Perplexity AI.
- List and review all previous chat conversations.
- Debug and research using full chat history retrieval.
- Integrate Perplexity’s capabilities into development workflows.
FAQ from Mcp Perplexity
What Python version is required?
Python 3.10 or higher is required.
How do I set my Perplexity API key?
Set the environment variable PERPLEXITY_API_KEY in your MCP client configuration. It is required.
Can I use different models for ask and chat tools?
Yes, set PERPLEXITY_MODEL_ASK for ask_perplexity and PERPLEXITY_MODEL_CHAT for chat_perplexity. These override the default PERPLEXITY_MODEL.
Where is chat history stored?
Chat history is stored locally in a SQLite database at the path specified by DB_PATH (default: chats.db). The read_chat_perplexity tool reads from this local storage without making API calls.
Is there a web interface?
Yes, when WEB_UI_ENABLED is set to true, a web UI is available at http://WEB_UI_HOST:WEB_UI_PORT (default http://127.0.0.1:8050).