Skip to main content
Glama
jschuller

Perplexity MCP Server

by jschuller

What This Does

This MCP server connects AI assistants to Perplexity AI's search API. Ask questions in natural language and get grounded, cited answers from the live web — directly inside Claude or any MCP-compatible client.

One tool, full control: perplexity_search_web exposes the complete Perplexity API — recency filtering, model selection, temperature, top_k/top_p, citation/image toggles, and streaming.

Related MCP server: Perplexity Web MCP

Getting Started

1. Get a Perplexity API Key

Sign up at perplexity.ai and generate an API key from your account settings.

2. Install & Configure

claude mcp add perplexity -- npx -y @jschuller/perplexity-mcp

Then set your API key:

export PERPLEXITY_API_KEY=pplx-your-key-here

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "perplexity": {
      "command": "npx",
      "args": ["-y", "@jschuller/perplexity-mcp"],
      "env": {
        "PERPLEXITY_API_KEY": "pplx-your-key-here"
      }
    }
  }
}

Config location:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

From Source

git clone https://github.com/jschuller/perplexity-mcp.git
cd perplexity-mcp
npm install && npm run build

3. Verify

Ask Claude: "Search the web for the latest developments in quantum computing from the last week"

Tool Reference

perplexity_search_web

Parameter

Type

Default

Description

query

string

(required)

Search query

recency

day | week | month | year

month

Filter results by time period

model

string

sonar

Perplexity model (model cards)

temperature

number

Randomness (0 = deterministic, 2 = creative)

max_tokens

integer

Maximum tokens to generate

top_k

integer

Limit high-probability token pool (0 = disable)

top_p

number

Nucleus sampling threshold

frequency_penalty

number

Penalize repeated tokens

presence_penalty

number

Encourage topic variety

return_citations

boolean

true

Include source citations

return_images

boolean

false

Include relevant images

stream

boolean

false

Stream response incrementally

Environment Variables

Variable

Required

Default

Description

PERPLEXITY_API_KEY

Yes

Your Perplexity API key

PERPLEXITY_MODEL

No

sonar

Default model for all queries

Available Models

Security

  • API key stays in your local environment — never sent anywhere except the Perplexity API

  • The server communicates only with api.perplexity.ai over HTTPS

  • No data is stored or logged beyond the API request lifecycle

  • See SECURITY.md for vulnerability reporting

Troubleshooting

Issue

Fix

PERPLEXITY_API_KEY is required

Set the env var in your MCP client config or shell

400 invalid_request_error

Update to v2.1.0+ (fixes JSON Schema validation with Claude Code)

Server not found

Verify npx @jschuller/perplexity-mcp runs without error

Connection timeout

Check internet connectivity and Perplexity API status

Contributing

Contributions welcome — see CONTRIBUTING.md.

License

MIT

Available Tools

1 tool
perplexity_search_webB

Search the web using Perplexity AI with recency filtering

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoThe name of the model to use for generating completions. Options include sonar, sonar-pro, and other models listed at https://docs.perplexity.ai/guides/model-cards
queryYesSearch query
top_kNoLimits the number of high-probability tokens to consider for generation. Set to 0 to disable.
top_pNoNucleus sampling threshold, controlling the token selection pool based on cumulative probability.
streamNoWhether to stream the response incrementally using server-sent events.
recencyNoFilter results by recencymonth
max_tokensNoThe maximum number of tokens to generate. Sum of max_tokens and prompt tokens should not exceed the model's context window limit.
temperatureNoControls generation randomness, with 0 being deterministic and values approaching 2 being more random.
return_imagesNoWhether to include images in the model's response.
presence_penaltyNoPenalty for new tokens based on their current presence in the text, encouraging topic variety. Mutually exclusive with the frequency_penalty parameter.
return_citationsNoWhether to include citations in the model's response.
frequency_penaltyNoMultiplicative penalty for new tokens based on their frequency in the text to avoid repetition. Mutually exclusive with the presence_penalty parameter.

TDQS

B3.1/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 the full behavioral burden, and it discloses almost nothing beyond purpose. It does not state authentication requirements, rate limits, cost, latency, or the shape of the response (citations, images, streaming), and 'recency filtering' merely restates a schema parameter.

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

Conciseness4/5

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

A single front-loaded sentence with zero filler, which is efficient. However, given a 12-parameter tool with no annotations, the extreme brevity leaves too much unsaid rather than being appropriately sized.

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?

For a 12-parameter tool with no annotations and no output schema, the definition does very little work. It never explains output format (citations, images), streaming behavior, or credential requirements that an agent would need to invoke it confidently.

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 all 12 parameters are already documented in the schema, making 3 the baseline. The description adds no parameter-level meaning beyond what the schema already provides.

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?

States a specific verb (Search) and resource (the web) and adds the mechanism (Perplexity AI) plus a modifier (recency filtering). It is clear but there are no sibling tools to differentiate from, so it lands just below the top tier.

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?

Usage is implied by 'Search the web' but there is no explicit when-to-use, when-not-to-use, or alternative tool guidance. Nothing tells the agent when this is preferable to other retrieval approaches.

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.

  1. 1 tool updatev2.1.1
    • First observedperplexity_search_web

TDQS

B3.2/5.0

Scored across 1 tool

Disambiguation5/5

There is only one tool, so there is no possibility of confusing it with another. Its purpose—web search via Perplexity with recency filtering—is unambiguous.

Naming Consistency4/5

The single name perplexity_search_web follows a clear namespace_verb_noun pattern that would scale predictably. With only one tool no convention is actually demonstrated, so it cannot be a perfect 5.

Tool Count2/5

A single tool is thin for a search server; the apparent scope (recency filtering, query modes, content retrieval) suggests more than one operation could earn a place. One tool feels underspecified rather than deliberately minimal.

Completeness3/5

Core capability (web search) is present, but there is no way to fetch full page content, retrieve citations/sources, or run structured/multi-query searches. Notable gaps an agent would hit when it needs more than a summary result.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    A
    maintenance
    Enables AI agents and users to query Perplexity AI's premium models (GPT-5.4, Claude 4.6 Opus, Gemini 3.1 Pro, etc.) via MCP tools, CLI, or API, with support for deep research, model council, and multi-turn conversations.
    30
    161 PyPI
    187
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Enables web search using Perplexity AI's API, allowing users to search the web with optional recency filters and integration with Claude, Cursor, and other MCP clients.
    1
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to perform web searches and retrieve real-time information using Perplexity AI's Sonar models, with support for multiple search modes and easy integration with MCP clients.
    5
    1
    MIT