Perplexity MCP Server
# Perplexity MCP Zerver
A minimalist research server implementing the Model Context Protocol (MCP) to deliver AI-powered research capabilities through Perplexity's web interface.
[]()
[]()
[]()
[]()
## Research Capabilities
- **Intelligent Web Research**: Search and summarize content without API limits
- **Persistent Conversations**: Maintain context with local SQLite chat storage
- **Content Extraction**: Clean article extraction with GitHub repository parsing
- **Developer Tooling**: Documentation retrieval, API discovery, code analysis
- **Keyless Operation**: Browser automation replaces API key requirements
---
## Available Tools
### Search (`search`)
Perform research queries with configurable depth
*Returns raw text results*
### Get Documentation (`get_documentation`)
Retrieve technical documentation with examples
*Returns structured documentation*
### Find APIs (`find_apis`)
Discover relevant APIs for development needs
*Returns API listings and descriptions*
### Check Deprecated Code (`check_deprecated_code`)
Analyze code snippets for outdated patterns
*Returns analysis report*
### Extract URL Content (`extract_url_content`)
Parse web content with automatic GitHub handling
*Returns structured content metadata*
### Chat (`chat_perplexity`)
Persistent conversations with context history
*Returns conversation state in JSON format*
---
## Getting Started
### Prerequisites
- Bun runtime
- Node.js 18+ (for TypeScript compilation)
### Installation
```bash
git clone https://github.com/wysh3/perplexity-mcp-zerver.git
cd perplexity-mcp-zerver
bun install
bun run build
```
### Configuration
Add to your MCP configuration file:
```json
{
"mcpServers": {
"perplexity-server": {
"command": "bun",
"args": ["/absolute/path/to/build/main.js"],
"timeout": 300
}
}
}
```
### Usage
Initiate commands through your MCP client:
- "Use perplexity to research quantum computing advancements"
- "Ask perplexity-server for React 18 documentation"
- "Begin conversation with perplexity about neural networks"
---
## 🔐 Pro Account Support (Optional)
Use your Perplexity Pro subscription for access to better models (GPT-5.1, Claude Sonnet 4.5) and higher limits.
### One-Time Setup
```bash
bun run build
bun run login
```
A browser window will open. **Log in using email** (recommended for best compatibility), then close the browser. Your session is now saved!
> **Note**: Google/SSO login may work but email login is more reliable with the browser automation.
### Environment Variables
| Variable | Default | Description |
|----------|---------|-------------|
| `PERPLEXITY_BROWSER_DATA_DIR` | `~/.perplexity-mcp` | Browser profile directory |
| `PERPLEXITY_PERSISTENT_PROFILE` | `true` | Set to `false` for anonymous mode |
---
## Technical Comparison
| Feature | This Implementation | Traditional APIs |
|----------------------|---------------------|------------------|
| Authentication | None required | API keys |
| Cost | Free | Usage-based |
| Data Privacy | Local processing | Remote servers |
| GitHub Integration | Native support | Limited |
| History Persistence | SQLite storage | Session-based |
---
## Troubleshooting
**Server Connection Issues**
1. Verify absolute path in configuration
2. Confirm Node.js installation with `node -v`
3. Ensure build completed successfully
**Content Extraction**
- GitHub paths must use full repository URLs
- Adjust link recursion depth in source configuration
---
## Origins & License
based on - [DaInfernalCoder/perplexity-researcher-mcp](https://github.com/DaInfernalCoder/perplexity-researcher-mcp)
refactored from - [sm-moshi/docshunter](https://github.com/sm-moshi/docshunter)
Licensed under **GNU GPL v3.0** - [View License](LICENSE)
---
> This project interfaces with Perplexity via browser automation. Use responsibly and ethically. Stability depends on Perplexity's website consistency. Educational use only.
TDQS
Scored across 6 tools
The tools have distinct primary purposes (e.g., chat, code review, content extraction, API discovery, documentation lookup, general search), but there is some functional overlap. For instance, 'chat_perplexity' and 'search' both perform web searches, and 'find_apis' and 'get_documentation' both relate to API information, which could cause confusion for an agent in selecting the most appropriate tool for a given task.
Most tool names follow a consistent verb_noun pattern (e.g., 'extract_url_content', 'find_apis', 'get_documentation', 'check_deprecated_code'), which aids readability. However, 'chat_perplexity' deviates slightly by using a noun_verb structure, and 'search' is a standalone verb without a noun, creating minor inconsistencies in the naming convention.
With 6 tools, the count is well-scoped for a server focused on web-based information retrieval and code assistance. Each tool appears to serve a specific function within this domain, avoiding bloat while covering key areas like conversation, search, content extraction, and technical support, making the set manageable and purposeful.
The tool set covers a broad range of web interaction and code-related tasks, including conversational search, content extraction, API discovery, documentation access, and code review. A minor gap exists in lacking explicit tools for updating or managing retrieved information (e.g., saving or organizing results), but agents can likely work around this using the provided tools effectively for most workflows.