Perplexity MCP Zerver 📋
A production-ready, research-level Model Context Protocol (MCP) server providing AI-powered research capabilities. It interacts directly with the Perplexity website, offering intelligent search, persistent chat, and developer-focused tools without requiring an API key.
- 🔍 Web Research: Intelligent search and summarization via Perplexity's web interface without API limits.
- 💬 Persistent Conversations: Maintain conversational context with a local SQLite chat history.
- 📄 Smart Content Extraction: Extracts clean article content from URLs using Mozilla Readability and supports GitHub repository analysis.
- 🛠️ Developer Tools: Specialized tools for documentation retrieval, API discovery, and code deprecation analysis.
- 🚫 No API Keys Required: Relies on robust web automation with Puppeteer, bypassing the need for paid API keys.
- 🛠️ TypeScript-First: A modern, type-safe, and maintainable codebase.
- 🌐 Browser Automation: Uses Puppeteer to interact with websites like a human, ensuring high-quality results.
Performs a search query on Perplexity.ai. Supports brief
, normal
, or detailed
response modes.
- Returns: Raw text output of the search results.
Asks Perplexity to provide documentation and code examples for a technology, library, or framework, optionally focusing on a specific context.
- Returns: Raw text output with documentation.
Asks Perplexity to find and evaluate APIs based on your specified requirements and context.
- Returns: Raw text output listing and describing relevant APIs.
Asks Perplexity to analyze a code snippet for deprecated features within a specific technology (e.g., "React 18", "Node.js v20").
- Returns: Raw text analysis of the code.
Extracts the main article text from any URL. It can also ingest entire GitHub repositories and recursively explore links up to a specified depth.
- Returns: Structured JSON with content, title, and other metadata.
Initiates or continues an ongoing conversation with Perplexity AI. Chat history is stored locally in chat_history.db
for context.
- Returns: A stringified JSON object containing the
chat_id
and theresponse
.
# Clone the repository
git clone https://github.com/wysh3/perplexity-mcp-zerver.git
cd perplexity-mcp-zerver
# Install dependencies (this will also download a browser for Puppeteer)
pnpm install
# Build the server
pnpm run build
Important: After building, it's recommended to restart your IDE (VS Code) or AI client application to ensure it picks up the new server.
Add the server to your MCP configuration file. This file may be named cline_mcp_settings.json
, .cursor/mcp.json
, or claude_desktop_config.json
depending on your client.
/full/path/to/your/perplexity-mcp-zerver
with the absolute path on your system.
{
"mcpServers": {
"perplexity-server": {
"command": "node",
"args": [
"/full/path/to/your/perplexity-mcp-zerver/build/main.js"
],
"env": {},
"disabled": false,
"alwaysAllow": [],
"autoApprove": [],
"timeout": 300
}
}
}
- Windows Path Example:
"C:\\Users\\YourUser\\Projects\\perplexity-mcp-zerver\\build\\index.js"
Once the server is installed and configured, restart your AI client. You can then invoke the tools by name.
- "Use
perplexity-server
to search for the latest news on large language models." - "Ask
perplexity-server
get_documentation
about using async/await in TypeScript." - "Start a chat with
perplexity-server
about the pros and cons of server-side rendering."
Feature | Perplexity MCP Zerver | Traditional API Methods |
---|---|---|
API Keys | ✅ None required | ❌ Requires keys, costs, and rate limits |
Chat Persistence | ✅ Local & private SQLite DB | ❌ Often session-only or stored remotely |
GitHub Ingestion | ✅ Automatic repo analysis | ❌ Manual file handling required |
Privacy | ✅ Everything runs locally | ❌ Data is sent to third-party cloud services |
-
Connection Issues:
- Double-check that the
args
path in your MCP JSON file is the correct absolute path tobuild/index.js
. - Ensure the server is not
disabled
in the configuration. - Restart your IDE or AI client application completely.
- Double-check that the
-
Useful Commands:
# Verify your Node.js installation path which node # Check that the build output file exists ls build/index.js # Rebuild the project if something seems broken pnpm run build
- It builds upon the foundational work of DaInfernalCoder/perplexity-researcher-mcp.
- Refactored from the sm-moshi/docshunter fork
This project is licensed under the GNU General Public License v3.0. See the LICENSE.md file for details.
This project is intended for educational and research purposes only. It interacts with the Perplexity website via web automation (Puppeteer). Web scraping and automation may be against the terms of service of the target website. The author does not endorse or encourage any unauthorized automation or violation of terms of service. Use responsibly and ethically. The stability of this server depends on the Perplexity website's structure remaining consistent.