perplexity-pro-mcp
Provides deep web search via Perplexity Pro, thread management, and export capabilities using a browser session cookie.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@perplexity-pro-mcpsearch for latest breakthroughs in quantum computing"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 |
| Deep web search via Perplexity Pro (answer + sources + related queries) |
| Continue conversation in an existing thread |
| List recent search threads |
| Export an answer as markdown or PDF |
| List saved collections |
Related MCP server: PPX-MCP
Setup
1. Get your cookie
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-mcpClaude 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
perplexity_search
query— search querymode—copilot(deep multi-step) orconcise(quick)model—pplx_proorpplx_alphafocus—internet,academic,writing,youtube,reddit
perplexity_follow_up
query— follow-up questionthread_uuid— UUID from a previous search result
perplexity_export
entry_uuid— entry UUID (from threads list)format—mdorpdf
Cookie refresh
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 toolsperplexity_collectionsB
List user's Perplexity collections (saved threads).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Export format | md |
| entry_uuid | Yes | Entry UUID (from perplexity_search result or thread) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | copilot = deep search, concise = quick | copilot |
| focus | No | Search focus | internet |
| model | No | Model to use | pplx_pro |
| query | Yes | Follow-up question | |
| thread_uuid | Yes | Thread UUID from a previous perplexity_search result |
TDQS
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.
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.
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.
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.
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.
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_searchB
Search the web using Perplexity AI Pro. Returns a detailed answer with citations and sources.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | copilot = deep multi-step search, concise = quick answer | copilot |
| focus | No | Search focus | internet |
| model | No | Model to use | pplx_pro |
| query | Yes | Search query |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It only states 'returns a detailed answer with citations and sources,' omitting critical traits such as authentication needs, rate limits, cost implications, or what happens in error cases. This leaves significant gaps for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core action, and contains no extraneous information. Every word earns its place, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 should provide more behavioral and return-value context. It briefly mentions 'detailed answer with citations and sources' but lacks structure details, error handling, or usage boundaries. The rich schema helps, but completeness remains average.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter having a description and enums clearly labeled. The top-level description adds no additional parameter context beyond the schema, meeting the baseline for full coverage but not surpassing it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Search the web using Perplexity AI Pro. Returns a detailed answer with citations and sources.' It specifies the verb (search), resource (web using Perplexity), and distinguishes it from sibling tools that deal with collections, export, follow-up, or threads.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like follow-up or threads. It does not mention prerequisites, limitations, or preferred contexts. The schema's enum hints at usage (copilot vs concise) but the description itself lacks explicit usage guidelines.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of threads to return |
TDQS
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.
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.
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.
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.
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.
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.
5 tool updates
v1.0.0- First observed
perplexity_collections - First observed
perplexity_export - First observed
perplexity_follow_up - First observed
perplexity_search - First observed
perplexity_threads
TDQS
Each tool serves a unique purpose: searching, listing threads/collections, following up, and exporting. No overlapping functionality.
All tools follow the 'perplexity_' prefix with snake_case, mixing verb and noun patterns consistently (e.g., search, threads, export). Predictable and clear.
Five tools is well-scoped for a search assistant: core search, thread management, follow-up, export, and collections. Not excessive nor sparse.
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
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
MCP server for Pentest-Tools.com: run scans, manage findings and reports via your preffered LLM.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
MCP server for AI dialogue using various LLM models via AceDataCloud
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA 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.293MIT
- AlicenseAqualityDmaintenanceAn 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.425MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables AI agents to perform search-augmented queries and deep multi-source research using the Perplexity API.7525Apache 2.0
- AlicenseNot gradedqualityCmaintenanceMCP server that queries Perplexity Pro via WebUI session token, providing model-specific tools for search and deep research.345MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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