The Perplexity MCP Server is a Node.js implementation of Anthropic's Model Context Protocol (MCP) that enables Claude to interact with Perplexity's language models. This server provides a secure bridge between Claude and Perplexity AI's capabilities, allowing for enhanced AI interactions through tool use.
The server currently implements two main tools:
Advanced chat completion tool with full message history support.
{
"name": "perplexity_chat",
"description": "Generate a chat completion using Perplexity AI",
"parameters": {
"model": "string (optional) - One of: llama-3.1-sonar-small-128k-online, llama-3.1-sonar-large-128k-online, llama-3.1-sonar-huge-128k-online",
"messages": "array of {role, content} objects - The conversation history",
"temperature": "number (optional) - Sampling temperature between 0-2"
}
}
Simplified single-query interface for quick questions.
{
"name": "perplexity_ask",
"description": "Send a simple query to Perplexity AI",
"parameters": {
"query": "string - The question or prompt to send",
"model": "string (optional) - One of: llama-3.1-sonar-small-128k-online, llama-3.1-sonar-large-128k-online, llama-3.1-sonar-huge-128k-online"
}
}
Clone the repository:
git clone https://github.com/yourusername/perplexity-mcp-server.git
cd perplexity-mcp-server
Install dependencies:
npm install
Create .env
file:
PERPLEXITY_API_KEY=your-api-key-here
Build the project:
npm run build
To add this server to Claude Desktop, update your claude_desktop_config.json
:
{
"mcpServers": {
//more servers...
"perplexity": {
"command": "node",
"args": ["path\\to\\perplexity-mcp-server\\dist\\index.js"],
"env": {
"PERPLEXITY_API_KEY": "YOUR_PERPLEXITY_API_KEY"
}
}
//more servers...
}
}
The configuration file is typically located at:
%APPDATA%/Claude/config/claude_desktop_config.json
~/Library/Application Support/Claude/config/claude_desktop_config.json
~/.config/Claude/config/claude_desktop_config.json
Start the development server with automatic recompilation:
npm run dev
The server uses TypeScript and implements the MCP protocol using the @modelcontextprotocol/sdk
package.
PerplexityServer Class
Tools System
@modelcontextprotocol/sdk
for MCP implementationThe server implements comprehensive error handling:
@modelcontextprotocol/sdk
: ^1.0.3dotenv
: ^16.4.7isomorphic-fetch
: ^3.0.0git checkout -b feature/amazing-feature
)git commit -m 'Add some amazing feature'
)git push origin feature/amazing-feature
)This project is licensed under the ISC License.
Common issues and solutions:
Server Not Found
claude_desktop_config.json
is correctnpm run build
)Authentication Errors
Tool Execution Errors
Seamless access to top MCP servers powering the future of AI integration.