perplexity-mcp-zerver

perplexity-mcp-zerver

3.5

If you are the rightful owner of perplexity-mcp-zerver and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

Perplexity MCP Zerver is a research-level Model Context Protocol server that provides AI-powered research capabilities by interacting with the Perplexity website without requiring an API key.

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.

✨ Features

  • 🔍 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.

🛠️ Tools Available

1. Search (search)

Performs a search query on Perplexity.ai. Supports brief, normal, or detailed response modes.

  • Returns: Raw text output of the search results.

2. Get Documentation (get_documentation)

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.

3. Find APIs (find_apis)

Asks Perplexity to find and evaluate APIs based on your specified requirements and context.

  • Returns: Raw text output listing and describing relevant APIs.

4. Check Deprecated Code (check_deprecated_code)

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.

5. Extract URL Content (extract_url_content)

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.

6. Chat (chat_perplexity)

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 the response.

🚀 Quick Start

1. Installation

Prerequisites: Ensure you have Node.js and pnpm installed.

# 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.

2. Configuration

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.

⚠️ You must replace /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"

3. Usage

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."

🤔 Why Use This Approach?

FeaturePerplexity MCP ZerverTraditional API Methods
API KeysNone 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
PrivacyEverything runs locally❌ Data is sent to third-party cloud services

🔧 Troubleshooting

  • Connection Issues:

    1. Double-check that the args path in your MCP JSON file is the correct absolute path to build/index.js.
    2. Ensure the server is not disabled in the configuration.
    3. Restart your IDE or AI client application completely.
  • 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
    

Credits

License

This project is licensed under the GNU General Public License v3.0. See the file for details.

Disclaimer

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.