Skip to main content
Glama
MIt9

perplexity-pro-mcp

by MIt9

perplexity-pro-mcp

MCP server for Perplexity AI Pro — deep web search, thread management, and export. Uses your browser session cookie, so it works with your existing Perplexity Pro subscription (no API key needed).

⚠️ This server uses Perplexity's unofficial internal API and a browser session cookie. It may break if Perplexity changes their API, and heavy automated use may violate Perplexity's Terms of Service. Use at your own risk.

Tools

Tool

Description

perplexity_search

Deep web search via Perplexity Pro (answer + sources + related queries)

perplexity_follow_up

Continue conversation in an existing thread

perplexity_threads

List recent search threads

perplexity_export

Export an answer as markdown or PDF

perplexity_collections

List saved collections

Related MCP server: PPX-MCP

Setup

Open https://www.perplexity.ai (logged in) → DevTools (F12) → Network tab → click any request to perplexity.ai → Headers → copy the full Cookie header value.

2. Configure your MCP client

Claude Code:

claude mcp add perplexity -e PERPLEXITY_COOKIE="<full cookie string>" -- npx -y perplexity-pro-mcp

Claude Desktop / other clients (claude_desktop_config.json or equivalent):

{
  "mcpServers": {
    "perplexity": {
      "command": "npx",
      "args": ["-y", "perplexity-pro-mcp"],
      "env": {
        "PERPLEXITY_COOKIE": "<full cookie string>"
      }
    }
  }
}

Parameters

  • query — search query

  • modecopilot (deep multi-step) or concise (quick)

  • modelpplx_pro or pplx_alpha

  • focusinternet, academic, writing, youtube, reddit

perplexity_follow_up

  • query — follow-up question

  • thread_uuid — UUID from a previous search result

perplexity_export

  • entry_uuid — entry UUID (from threads list)

  • formatmd or pdf

Cookies expire in ~30 days. If you get 403 errors, copy fresh cookies from the browser.

Note: perplexity_search works with just the session token. Other tools require full cookies (including cf_clearance).

Development

npm install
npm run build      # compile TypeScript → dist/
npm start          # run locally (requires PERPLEXITY_COOKIE)

License

MIT

Available Tools

5 tools
perplexity_collectionsB

List user's Perplexity collections (saved threads).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description should disclose behavioral traits. It only implies read-only (list) but lacks details on authentication, rate limits, pagination, or any side effects. Minimal disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise single sentence with no wasted words. Front-loaded with purpose. Appropriate for a tool with no parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description could explain return format or pagination. However, for a simple list with no parameters, it is minimally adequate but lacks completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters, and schema description coverage is 100%. With zero parameters, baseline is 4. The description adds no parameter info, which is acceptable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'list' and resource 'collections', and clarifies that collections are saved threads. It distinguishes from siblings like perplexity_threads, though not explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like perplexity_threads or perplexity_search. The description only states what it does without context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

perplexity_exportB

Export a Perplexity answer entry as markdown or PDF.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNoExport formatmd
entry_uuidYesEntry UUID (from perplexity_search result or thread)

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It fails to disclose behavioral traits such as whether the export is a file download or link, authentication requirements, or rate limits. The description is too minimal for a tool with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no wasted words, efficiently communicating the purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema, so the description should explain what the output is. It does not specify whether the export returns a file, a URL, or something else. Given simplicity, it is incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters. The description adds no meaning beyond the schema, giving a baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool exports a Perplexity answer entry as markdown or PDF, specifying the verb (Export) and resource (Perplexity answer entry). It distinguishes from siblings like perplexity_search (search) and perplexity_threads (list threads) through different actions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context (after obtaining an entry_uuid from search or thread), but does not explicitly state when to use vs alternatives, nor provides prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

perplexity_follow_upA

Continue a conversation in an existing Perplexity thread. Use thread_uuid from a previous search result.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNocopilot = deep search, concise = quickcopilot
focusNoSearch focusinternet
modelNoModel to usepplx_pro
queryYesFollow-up question
thread_uuidYesThread UUID from a previous perplexity_search result

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must disclose behaviors. It describes the action and required parameter but omits side effects, auth needs, or rate limits. Adequate but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single, front-loaded sentence with zero waste. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters, all described in schema, and no output schema, description is sufficiently complete. Does not cover return values or errors, but acceptable for a continuation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. Description adds value by explaining thread_uuid's purpose ('from a previous search result') and query as 'Follow-up question', enhancing clarity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description explicitly states verb 'continue' and resource 'conversation in an existing Perplexity thread'. It clearly distinguishes from sibling tools like perplexity_search (for new searches).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description says 'Use thread_uuid from a previous search result', indicating when to use. Lacks explicit when-not-to-use or alternatives, but context is clear given sibling names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

perplexity_threadsB

List recent Perplexity search threads.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of threads to return

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations and minimal description, the tool fails to disclose behavioral traits such as ordering, pagination, or scope of 'recent.' As a list operation, it implicitly suggests read-only behavior, but explicit disclosure is absent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no extraneous information. It is appropriately sized for a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one optional parameter, no output schema), the description is mostly adequate but lacks context on what 'recent' means and whether there is any default ordering. It could be slightly more complete without being verbose.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers the only parameter 'limit' with a description. The tool description adds no extra semantic value beyond what the schema already provides, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and the resource 'recent Perplexity search threads,' making the tool's purpose unambiguous. It distinguishes itself from sibling tools like perplexity_search and perplexity_collections, which serve different resources or actions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like perplexity_search or perplexity_follow_up. The description lacks context about its appropriate use case or limitations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 5 tool updatesv1.0.0
    • First observedperplexity_collections
    • First observedperplexity_export
    • First observedperplexity_follow_up
    • First observedperplexity_search
    • First observedperplexity_threads

TDQS

A3.8/5.0
Disambiguation5/5

Each tool serves a unique purpose: searching, listing threads/collections, following up, and exporting. No overlapping functionality.

Naming Consistency5/5

All tools follow the 'perplexity_' prefix with snake_case, mixing verb and noun patterns consistently (e.g., search, threads, export). Predictable and clear.

Tool Count5/5

Five tools is well-scoped for a search assistant: core search, thread management, follow-up, export, and collections. Not excessive nor sparse.

Completeness4/5

Covers essential operations: search, view threads, follow-up, export, and list collections. Minor gap: no tool to delete or modify threads/collections, but core workflow is complete.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A comprehensive MCP server that provides intelligent access to Perplexity AI's search and reasoning models with automatic model selection, conversation management, and project-aware storage. Supports real-time search, deep research, chat sessions, and async operations for complex queries.
    29
    3
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    An unofficial MCP server for Perplexity AI that leverages Pro subscriptions and browser cookies to enable real-time web searches and model selection without an API key. It provides tools for performing queries, listing available models, and automating the login process to manage authentication.
    4
    25
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that enables AI agents to perform search-augmented queries and deep multi-source research using the Perplexity API.
    75
    25
    Apache 2.0

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/MIt9/perplexity-pro-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server