Skip to main content
Glama
Hanato238

Perplexity API MCP Server

by Hanato238

Perplexity API 平台 MCP 服务器

Install in Cursor

Install in VS Code

Add to Kiro

npm version

这是 Perplexity API 平台的官方 MCP 服务器实现,通过 Sonar 模型和搜索 API 为 AI 助手提供实时网络搜索、推理和研究能力。

可用工具

perplexity_search

使用 Perplexity 搜索 API 进行直接网络搜索。返回带有元数据的排名搜索结果,非常适合查找最新信息。

perplexity_ask

使用 sonar-pro 模型进行实时网络搜索的通用对话式 AI。非常适合快速提问和日常搜索。

perplexity_research

使用 sonar-deep-research 模型进行深入、全面的研究。非常适合彻底的分析和详细的报告。

perplexity_reason

使用 sonar-reasoning-pro 模型进行高级推理和问题解决。非常适合复杂的分析任务。

[!TIP] perplexity_reason 和 perplexity_research 的可选参数:strip_thinking

设置为 true 可从响应中删除 <think>...</think> 标签,从而节省上下文 token。默认值:false

配置

获取您的 API 密钥

  1. 从 API 门户 获取您的 Perplexity API 密钥

  2. 将下方配置中的 your_key_here 替换为您的 API 密钥

  3. (可选) 设置超时:PERPLEXITY_TIMEOUT_MS=600000 (默认:5 分钟)

  4. (可选) 设置自定义基础 URL:PERPLEXITY_BASE_URL=https://your-custom-url.com (默认:https://api.perplexity.ai)

  5. (可选) 设置日志级别:PERPLEXITY_LOG_LEVEL=DEBUG|INFO|WARN|ERROR (默认:ERROR)

Claude Code

claude mcp add perplexity --env PERPLEXITY_API_KEY="your_key_here" -- npx -y @perplexity-ai/mcp-server

或者通过插件安装:

export PERPLEXITY_API_KEY="your_key_here"
claude
# Then run: /plugin marketplace add perplexityai/modelcontextprotocol
# Then run: /plugin install perplexity

Codex

codex mcp add perplexity --env PERPLEXITY_API_KEY="your_key_here" -- npx -y @perplexity-ai/mcp-server

Cursor, Claude Desktop, Kiro, Windsurf 和 VS Code

大多数客户端可以使用其客户端配置中相同的 mcpServers 包装器进行手动配置(如 Cursor 所示)。如果客户端使用不同的架构,请查看其文档以获取确切的包装器格式。

对于手动设置,这些客户端都使用相同的 mcpServers 结构:

客户端

配置文件

Cursor

~/.cursor/mcp.json

Claude Desktop

claude_desktop_config.json

Kiro

.kiro/settings/mcp.json

Windsurf

~/.codeium/windsurf/mcp_config.json

VS Code

.vscode/mcp.json

{
  "mcpServers": {
    "perplexity": {
      "command": "npx",
      "args": ["-y", "@perplexity-ai/mcp-server"],
      "env": {
        "PERPLEXITY_API_KEY": "your_key_here"
      }
    }
  }
}

代理设置(针对企业网络)

如果您在工作环境中运行此服务器(特别是在公司防火墙或代理之后),您可能需要告知程序如何通过网络代理发送其互联网流量。请按照以下步骤操作:

1. 获取您的代理详细信息

  • 向您的 IT 部门询问您的 HTTPS 代理地址和端口。

  • 您可能还需要用户名和密码。

2. 设置代理环境变量

对于 Perplexity MCP,最简单且最可靠的方法是使用 PERPLEXITY_PROXY。例如:

export PERPLEXITY_PROXY=https://your-proxy-host:8080

如果您的代理需要用户名和密码,请使用:

export PERPLEXITY_PROXY=https://username:password@your-proxy-host:8080

3. 替代方案:标准环境变量

如果您更喜欢使用标准变量,我们支持 HTTPS_PROXY 和 HTTP_PROXY。

[!NOTE] 服务器按以下顺序检查代理设置:PERPLEXITY_PROXY → HTTPS_PROXY → HTTP_PROXY。如果未设置任何内容,它将直接连接到互联网。 URL 必须包含 https://。典型端口为 8080、3128 和 80。

HTTP 服务器部署

对于云端或共享部署,请以 HTTP 模式运行服务器。

环境变量

变量

描述

默认值

PERPLEXITY_API_KEY

您的 Perplexity API 密钥

必需

PERPLEXITY_BASE_URL

API 请求的自定义基础 URL

https://api.perplexity.ai

PORT

HTTP 服务器端口

8080

BIND_ADDRESS

要绑定的网络接口

0.0.0.0

ALLOWED_ORIGINS

CORS 来源(逗号分隔)

*

Docker

docker build -t perplexity-mcp-server .
docker run -p 8080:8080 -e PERPLEXITY_API_KEY=your_key_here perplexity-mcp-server

Node.js

export PERPLEXITY_API_KEY=your_key_here
npm install && npm run build && npm run start:http

服务器将可以通过 http://localhost:8080/mcp 访问

故障排除

  • API 密钥问题:确保 PERPLEXITY_API_KEY 设置正确

  • 连接错误:检查您的互联网连接和 API 密钥的有效性

  • 找不到工具:确保已安装该包且命令路径正确

  • 超时错误:对于非常长的研究查询,请将 PERPLEXITY_TIMEOUT_MS 设置为更高的值

  • 代理问题:验证您的 PERPLEXITY_PROXY 或 HTTPS_PROXY 设置,并确保 api.perplexity.ai 未被您的防火墙阻止。

  • EOF / 初始化错误:一些严格的 MCP 客户端会失败,因为 npx 会将安装消息写入 stdout。使用 npx -yq 代替 npx -y 来抑制此输出。

如需支持,请访问 community.perplexity.ai 或 提交问题。


Available Tools

4 tools
perplexity_askAsk PerplexityA
Read-only

Answer a question using web-grounded AI (Sonar Pro model). Best for: quick factual questions, summaries, explanations, and general Q&A. Returns a text response with numbered citations. Fastest and cheapest option. Supports filtering by recency (hour/day/week/month/year), domain restrictions, and search context size. For in-depth multi-source research, use perplexity_research instead. For step-by-step reasoning and analysis, use perplexity_reason instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
messagesYesArray of conversation messages
search_recency_filterNoFilter search results by recency. Use 'hour' for very recent news, 'day' for today's updates, 'week' for this week, etc.
search_domain_filterNoRestrict search results to specific domains (e.g., ['wikipedia.org', 'arxiv.org']). Use '-' prefix for exclusion (e.g., ['-reddit.com']).
search_context_sizeNoControls how much web context is retrieved. 'low' (default) is fastest, 'high' provides more comprehensive results.

Output Schema

ParametersJSON Schema
NameRequiredDescription
responseYesAI-generated text response with numbered citation references

TDQS

A4.5/5.0
Behavior4/5

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

Annotations indicate read-only, open-world, non-destructive behavior. The description adds context beyond annotations: returns numbered citations, supports specific filter types, and notes speed/cost trade-offs. It does not contradict annotations, and the added behavioral details are valuable for expectation-setting.

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?

Every sentence earns its place: purpose, use cases, output format, performance, filters, and alternatives. It is front-loaded and clearly structured, with no wasted words despite covering multiple facets.

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

Completeness5/5

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

Given the tool's moderate complexity, the presence of an output schema, and rich annotations, the description covers all essential aspects: operation, output, configuration, and tool differentiation. It is fully sufficient for an agent to select and invoke the tool correctly.

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 parameter semantics are already documented. The description restates filter types (recency, domain, context size) but does not meaningfully enrich beyond the schema's own descriptions. Baseline 3 is appropriate because the schema carries the burden.

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 opens with a specific verb and resource: 'Answer a question using web-grounded AI (Sonar Pro model).' It clearly contrasts with sibling tools by naming perplexity_research and perplexity_reason, making the tool's specific role unmistakable.

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

Usage Guidelines5/5

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

Provides explicit 'Best for' scenarios (quick factual questions, summaries, explanations, general Q&A), performance expectations ('Fastest and cheapest'), and direct alternatives ('For in-depth multi-source research, use perplexity_research instead'). This gives agents clear when-to-use and when-not-to-use guidance.

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

perplexity_reasonAdvanced ReasoningA
Read-only

Analyze a question using step-by-step reasoning with web grounding (Sonar Reasoning Pro model). Best for: math, logic, comparisons, complex arguments, and tasks requiring chain-of-thought. Returns a reasoned response with numbered citations. Supports filtering by recency (hour/day/week/month/year), domain restrictions, and search context size. For quick factual questions, use perplexity_ask instead. For comprehensive multi-source research, use perplexity_research instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
messagesYesArray of conversation messages
strip_thinkingNoIf true, removes <think>...</think> tags and their content from the response to save context tokens. Default is false.
search_recency_filterNoFilter search results by recency. Use 'hour' for very recent news, 'day' for today's updates, 'week' for this week, etc.
search_domain_filterNoRestrict search results to specific domains (e.g., ['wikipedia.org', 'arxiv.org']). Use '-' prefix for exclusion (e.g., ['-reddit.com']).
search_context_sizeNoControls how much web context is retrieved. 'low' (default) is fastest, 'high' provides more comprehensive results.

Output Schema

ParametersJSON Schema
NameRequiredDescription
responseYesAI-generated text response with numbered citation references

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, indicating a safe read operation. The description adds useful behavioral context beyond annotations, such as the reasoning model ('Sonar Reasoning Pro model'), the step-by-step nature of the analysis, and the presence of numbered citations in the output. These details help the agent anticipate response style and value. However, it doesn't explicitly mention potential latency or token usage, which could be relevant for a reasoning-heavy tool.

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 concise and well-structured, with four sentences covering purpose, usage cases, output features, and alternatives. It is front-loaded with the core function and uses no filler. Every sentence adds valuable information, making the description efficient and easy to parse.

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

Completeness5/5

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

Given the tool's complexity (5 params, output schema, annotations), the description is complete: it covers what the tool does, when to use it, when not to use it, and what to expect in the response. The output schema exists, so return values need not be described. The combination of annotations, schema, and description provides a comprehensive picture.

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%, with all 5 parameters thoroughly documented in the schema. The description mentions 'Supports filtering by recency (hour/day/week/month/year), domain restrictions, and search context size,' which echoes schema properties without adding new semantic depth. It does not explain parameter interactions or provide extra context beyond the schema, 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 tool's function: 'Analyze a question using step-by-step reasoning with web grounding (Sonar Reasoning Pro model).' It distinguishes itself from siblings by specifying its niche: 'Best for: math, logic, comparisons, complex arguments, and tasks requiring chain-of-thought.' It also notes the return format: 'Returns a reasoned response with numbered citations.' This is a specific verb+resource+scope with clear differentiation.

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

Usage Guidelines5/5

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

The description provides explicit usage guidance, stating 'For quick factual questions, use perplexity_ask instead. For comprehensive multi-source research, use perplexity_research instead.' It also lists ideal use cases ('Best for: math, logic, comparisons...'), giving the agent clear criteria for when to choose this tool over alternatives.

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

perplexity_researchDeep ResearchA
Read-only

Conduct deep, multi-source research on a topic (Sonar Deep Research model). Best for: literature reviews, comprehensive overviews, investigative queries needing many sources. Returns a detailed response with numbered citations. Significantly slower than other tools (30+ seconds). For quick factual questions, use perplexity_ask instead. For logical analysis and reasoning, use perplexity_reason instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
messagesYesArray of conversation messages
strip_thinkingNoIf true, removes <think>...</think> tags and their content from the response to save context tokens. Default is false.
reasoning_effortNoControls depth of deep research reasoning. Higher values produce more thorough analysis.

Output Schema

ParametersJSON Schema
NameRequiredDescription
responseYesAI-generated text response with numbered citation references

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the description's addition of 'Significantly slower than other tools (30+ seconds)' and 'Returns a detailed response with numbered citations' provides valuable behavioral context beyond the structured metadata. It does not contradict the read-only nature.

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 compact set of five purposeful sentences. It front-loads the core action, then provides use cases, output format, a performance warning, and sibling alternatives—all without redundancy or filler.

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?

With an output schema present and annotations providing read-only safety, the description gives sufficient context: purpose, use cases, speed, and alternatives. It is complete for a research tool, though it could mention specific limitations of the underlying model or cite that responses are not real-time.

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 coverage is 100%, so the baseline is 3. The description does not describe parameters directly, but the schema already documents messages, strip_thinking, and reasoning_effort with their meanings. The description's reference to 'deep research' implicitly aligns with reasoning_effort, but adds no new parameter-level detail.

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 conducts deep, multi-source research on a topic, and explicitly distinguishes it from siblings by naming alternatives for quick facts and logical reasoning. It also adds concrete output characteristics like numbered citations.

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

Usage Guidelines5/5

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

Explicit when-to-use guidance is provided: 'Best for literature reviews, comprehensive overviews, investigative queries needing many sources.' It also clearly states when NOT to use it ('quick factual questions' -> use perplexity_ask; logical analysis -> use perplexity_reason) and warns about the 30+ second latency.

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. 4 tool updatesv0.9.0
    • First observedperplexity_ask
    • First observedperplexity_reason
    • First observedperplexity_research
    • First observedperplexity_search

TDQS

A4.7/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly delineated purpose (quick Q&A, step-by-step reasoning, deep research, raw search) and descriptions explicitly guide which tool to use for which scenario, eliminating ambiguity.

Naming Consistency5/5

All tools follow a consistent 'perplexity_verb' pattern in snake_case (ask, reason, research, search), making the naming predictable and easy for agents to infer functionality.

Tool Count5/5

Four tools is well-scoped for a search/QA server: covering quick answers, reasoning, deep research, and raw web search without redundancy or missing core functionality.

Completeness4/5

The tool set covers the primary workflows (factual Q&A, reasoning, multi-source research, raw search) with no major gaps; a potential minor addition could be a batch or follow-up tool, but not essential.

Related MCP Connectors