perplexity mcp

Local 2025-08-31 23:25:30 0

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

smithery badge

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 :)

MCP-researcher Server MCP server

Tools

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.

2. Get Documentation

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.

3. Find APIs

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.

4. Check Deprecated Code

Analyzes code for deprecated features or patterns, providing migration guidance. The example demonstrates checking React class components and lifecycle methods for modern alternatives.

Installation

Installing via Smithery

To install MCP-researcher Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @DaInfernalCoder/perplexity-mcp --client claude

paste this part into claude directly if you want to, the ai can install it for you

  1. First install Node.js if not already installed (from nodejs.org)

  2. Clone the repo

  3. git clone https://github.com/DaInfernalCoder/researcher-mcp perplexity-server

  4. cd perplexity-server

  5. Install dependencies and build: npm install

  6. Get a Perplexity API key from https://www.perplexity.ai/settings/api

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

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

  1. To use with Cline, add into mcpServers:
{
  "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"
      ]
    }
  }
}
  1. Build the server: npm run build

Star History

Star History Chart

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"
  }
]