perplexity mcp
This TypeScript-based server implements a simple notes system using MCP concepts, enabling users to create, list, and summarize text notes through natural language prompts.
This TypeScript-based server implements a simple notes system using MCP concepts, enabling users to create, list, and summarize text notes through natural language prompts.
We got an article about perplexity mcp! https://cline.bot/blog/supercharge-cline-3-ways-to-build-better-with-perplexity-mcp
Your own research assistant inside of Cline! Utilizes Perplexity's new Sonar Pro API to get docs, create up-to-date api routes, and check deprecated code while you create features with Cline.
Includes Chain of Thought Reasoning and local chat history through SQLite thanks to Lix for the idea :)
Performs general search queries to get comprehensive information on any topic. The example shows how to use different detail levels (brief, normal, detailed) to get tailored responses.
Retrieves documentation and usage examples for specific technologies, libraries, or APIs. The example demonstrates getting comprehensive documentation for React hooks, including best practices and common pitfalls.
Discovers and evaluates APIs that could be integrated into a project. The example shows finding payment processing APIs with detailed analysis of features, pricing, and integration complexity.
Analyzes code for deprecated features or patterns, providing migration guidance. The example demonstrates checking React class components and lifecycle methods for modern alternatives.
To install MCP-researcher Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @DaInfernalCoder/perplexity-mcp --client claude
First install Node.js if not already installed (from nodejs.org)
Clone the repo
git clone https://github.com/DaInfernalCoder/researcher-mcp perplexity-server
cd perplexity-server
Install dependencies and build: npm install
Get a Perplexity API key from https://www.perplexity.ai/settings/api
Create the MCP settings file in the appropriate location for your OS: macOS: ~/Library/Application Support/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json Windows: %APPDATA%CursorUserglobalStoragesaoudrizwan.claude-devsettingscline_mcp_settings.json Linux: ~/.config/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
To use with Claude Desktop, add the server config:
On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"perplexity-server": {
"command": "node",
"args": [
"[path/to/researcher-mcp/index.js]"
],
"env": {
"PERPLEXITY_API_KEY": ""
},
"disabled": false,
"autoApprove": [
"search",
"get_documentation",
"find_apis",
"check_deprecated_code"
]
}
}
}
Make sure to: - Replace /absolute/path/to with the actual path where you cloned the repository - Replace your-api-key-here with your Perplexity API key - Keep the same autoApprove settings for consistent behavior
[
{
"description": "Maintains ongoing conversations with Perplexity AI. Creates new chats or continues existing ones with full history context.",
"inputSchema": {
"properties": {
"chat_id": {
"description": "Optional: ID of an existing chat to continue. If not provided, a new chat will be created.",
"type": "string"
},
"message": {
"description": "The message to send to Perplexity AI",
"type": "string"
}
},
"required": [
"message"
],
"type": "object"
},
"name": "chat_perplexity"
},
{
"description": "Perform a general search query to get comprehensive information on any topic",
"inputSchema": {
"properties": {
"detail_level": {
"description": "Optional: Desired level of detail (brief, normal, detailed)",
"enum": [
"brief",
"normal",
"detailed"
],
"type": "string"
},
"query": {
"description": "The search query or question",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "search"
},
{
"description": "Get documentation and usage examples for a specific technology, library, or API",
"inputSchema": {
"properties": {
"context": {
"description": "Additional context or specific aspects to focus on",
"type": "string"
},
"query": {
"description": "The technology, library, or API to get documentation for",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "get_documentation"
},
{
"description": "Find and evaluate APIs that could be integrated into a project",
"inputSchema": {
"properties": {
"context": {
"description": "Additional context about the project or specific needs",
"type": "string"
},
"requirement": {
"description": "The functionality or requirement you're looking to fulfill",
"type": "string"
}
},
"required": [
"requirement"
],
"type": "object"
},
"name": "find_apis"
},
{
"description": "Check if code or dependencies might be using deprecated features",
"inputSchema": {
"properties": {
"code": {
"description": "The code snippet or dependency to check",
"type": "string"
},
"technology": {
"description": "The technology or framework context (e.g., 'React', 'Node.js')",
"type": "string"
}
},
"required": [
"code"
],
"type": "object"
},
"name": "check_deprecated_code"
}
]