关于 Perplexity MCP Server
面向 Claude 等 MCP 客户端的 Perplexity MCP 服务,提供网页搜索、研究、Agent 和嵌入工具。其特点包括持久化域名与时效筛选,以及按查询自动选择模型。
主要功能
- 01生成带引用的 AI 搜索答案
- 02获取排序后的原始搜索结果
- 03提交异步深度研究任务
- 04提供 Agent 与嵌入工具
- 05持久化域名和时效筛选
- 06自动选择模型
适用场景
- 01开展带网页来源引用的研究
- 02为事实核查流程查找网址
- 03执行超出同步调用时限的研究
- 04按域名或日期限制搜索
MCP 相关
向 MCP 客户端提供 Perplexity 搜索、研究、Agent 和嵌入工具。客户端还可管理持久化搜索筛选条件和模型选择。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Perplexity MCP Server
一个 MCP 服务,可为 Claude 提供 Perplexity AI 网页搜索功能,支持自动选择模型、有状态筛选器和 10 个专用工具。
前置条件
- Node.js v20 或更高版本
- Perplexity API 密钥 — 在 https://www.perplexity.ai/settings/api 获取
- Claude Desktop(或任何兼容 MCP 的客户端)
安装
-
克隆此仓库:
git clone https://github.com/RossH121/perplexity-mcp.git cd perplexity-mcp -
安装依赖:
npm install -
构建服务:
npm run build
配置
将服务添加到 Claude 的配置文件 ~/Library/Application Support/Claude/claude_desktop_config.json 中:
{
"mcpServers": {
"perplexity-server": {
"command": "node",
"args": ["/absolute/path/to/perplexity-mcp/build/index.js"],
"env": {
"PERPLEXITY_API_KEY": "your-api-key-here",
"PERPLEXITY_MODEL": "sonar-pro"
}
}
}
}
将 /absolute/path/to 替换为克隆仓库的实际路径。
可用模型
服务会根据你的查询自动选择最佳模型;你也可以通过 PERPLEXITY_MODEL 设置默认模型:
| 模型 | 最适用于 |
|---|---|
sonar-deep-research | 综合报告、详尽的多来源研究 |
sonar-reasoning-pro | 复杂逻辑、数学、思维链分析 |
sonar-pro | 常规搜索、事实查询(默认) |
sonar | 快速、简单的查询 |
价格和可用性信息:https://docs.perplexity.ai/guides/pricing
工具
search — AI 驱动的网页搜索
主要搜索工具。根据你的查询自动选择合适的模型。返回带引用来源的综合答案。
| 参数 | 选项 | 描述 |
|---|---|---|
query | string | 你的搜索查询 |
search_context_size | low / medium / high | 要检索的网页上下文量。low 速度最快、成本最低(默认),high 最全面 |
search_type | fast / pro / auto | 搜索引擎等级(嵌套在 web_search_options 中) |
reasoning_effort | minimal / low / medium / high | sonar-deep-research 的推理深度 |
strip_thinking | boolean | 从推理模型的响应中移除 `` 块 |
search_mode | web / academic / sec | academic 优先搜索同行评审论文;sec 搜索 SEC 文件 |
search_after_date / search_before_date | MM/DD/YYYY | 按发布日期筛选来源 |
last_updated_after / last_updated_before | MM/DD/YYYY | 按最后更新日期筛选来源 |
search_language_filter | ["en","de"] | 将来源限制为指定语言(ISO 639-1) |
language_preference | ISO 639-1 | 首选响应语言 |
disable_search | boolean | 仅根据训练数据回答(不进行网页搜索) |
enable_search_classifier | boolean | 由分类器决定是否进行搜索 |
return_images | boolean | 在末尾附加包含结果 URL 的图片部分 |
image_domain_filter / image_format_filter | string[] | 按域名或格式筛选图片 |
return_related_questions | boolean | 在末尾附加后续问题建议 |
country / latitude / longitude | — | 通过 user_location 本地化结果 |
stream_mode | full / concise | Pro Search 的流式事件格式 |
show_cost | boolean | 在可用时于末尾附加请求成本信息 |
stream | boolean | 启用流式响应 |
示例:
- “聚变能源的最新进展是什么?” → 自动选择
sonar-pro - “对 CRISPR 基因编辑进展进行深度研究分析” → 自动选择
sonar-deep-research - “逐步解答这道逻辑谜题” → 自动选择
sonar-reasoning-pro
raw_search — 原始排名结果(无 LLM)
直接返回排名后的网页结果,不进行 AI 综合。速度更快、成本更低,适用于发现 URL、构建来源列表或事实核查工作流。
| 参数 | 选项 | 描述 |
|---|---|---|
query | string 或 string[] | 搜索查询,或在一次请求中运行的查询数组 |
max_results | 1–20 | 结果数量(默认值:10) |
max_tokens / max_tokens_per_page | number | 总体 / 每条结果的令牌预算 |
search_mode | web / academic / sec | 来源类别 |
search_type | web / people | people 会路由至 People Search |
recency | hour / day / week / month / year | 时间范围筛选条件 |
search_after_date / search_before_date | MM/DD/YYYY | 按发布日期筛选 |
last_updated_after / last_updated_before | MM/DD/YYYY | 按最后更新时间筛选 |
search_language_filter | ["en","de"] | 限定语言(ISO 639-1) |
country | ISO 3166 代码 | 本地化结果(例如 US、GB) |
注意:先前版本会以 camelCase 发送这些参数,但 Search API 会静默忽略它们,因此
max_results、recency、search_mode和日期筛选条件均不起作用。现已修复,现在这些参数会生效。
async_research — 长时间运行的深度研究
提交 sonar-deep-research 任务并轮询其状态,而不是等待同步调用完成。适用于研究可能超过 5 分钟同步超时时间的情况。任务会在创建 7 天后过期。
| 参数 | 选项 | 描述 |
|---|---|---|
action | submit / status / list | 要执行的操作 |
query | string | 研究问题(submit 必需) |
request_id | string | 先前 submit 返回的任务 ID(status 必需) |
model | Sonar 模型 | 任务模型(默认值:sonar-deep-research) |
reasoning_effort | minimal / low / medium / high | 推理深度 |
search_mode | web / academic / sec | 来源类别 |
strip_thinking | boolean | 从已完成的结果中移除 <think> 块 |
"Submit async research: comprehensive comparison of solid-state battery startups"
→ returns a request_id
"Check async research status for <request_id>"
agent — 使用内置工具的 Agent 循环
Perplexity Agent API。运行可调用内置工具并可选择使用第三方模型的多步骤 Agent。
| 参数 | 选项 | 描述 |
|---|---|---|
input | string | 任务或问题 |
model | 例如 openai/gpt-4.1 | 带提供方前缀的模型 |
models | string[] | 回退链(优先于 model) |
preset | fast-search / pro-search / deep-research | 使用命名预设,而非指定模型 |
instructions | string | 系统提示词 |
max_steps | 1–10 | Agent/工具步骤的最大数量 |
max_output_tokens | number | 最大输出令牌数 |
tools | web_search / fetch_url | Agent 可以使用的内置工具 |
embeddings — 文本嵌入
通过 Perplexity Embeddings API 生成嵌入。默认返回简要摘要(模型、向量数量、令牌用量)。
| 参数 | 选项 | 描述 |
|---|---|---|
input | string 或 string[] | 要嵌入的文本(最多 512 条) |
model | pplx-embed-v1-0.6b / pplx-embed-v1-4b | 嵌入模型(默认值:0.6b) |
dimensions | number | 输出维度(Matryoshka) |
full | boolean | 包含原始 Base64 编码的向量 |
domain_filter — 域名允许列表/阻止列表
限制搜索结果仅包含特定域名,或排除特定域名。筛选条件会持续应用于后续所有搜索,直至清除。
action: "allow"— 将结果限制为此域名(允许列表模式)action: "block"— 从结果中排除此域名(阻止列表模式)- 最多 20 个域名;同一组筛选条件中不能混用允许和阻止操作
"Allow results only from arxiv.org and nature.com"
"Block pinterest.com and reddit.com from search results"
recency_filter — 时间范围筛选条件
将搜索结果限制在特定时间段内。此筛选条件会持续生效,直至更改。
选项:hour、day、week、month、year、none
"Set recency filter to week"
"Remove the recency filter"
clear_filters — 重置所有筛选条件
一次调用即可清除所有域名和时间范围筛选条件。
list_filters — 查看活跃筛选器
显示当前活跃的域名允许列表/阻止列表和时效设置。
model_info — 查看或覆盖模型选择
查看可用模型和当前选择,或手动强制指定模型。
"Show model info"
"Set model to sonar-deep-research"
智能模型选择
服务器会根据关键词列表为你的查询评分,并自动选择合适的模型:
- 研究关键词(
deep research、comprehensive、in-depth)→sonar-deep-research - 推理关键词(
solve、logic、mathematical、figure out)→sonar-reasoning-pro - 简单查询关键词(
quick、brief、basic)→sonar - 其他所有情况 →
sonar-pro
每个响应都会显示所用模型及其原因。如果查询与某个模型高度匹配(评分 ≥ 2),则会覆盖手动设置的模型。
工作流示例
带域名筛选的时效性研究:
recency_filter→weekdomain_filter→ 允许nature.com、允许arxiv.orgsearch→ “量子纠错领域的最新突破”
金融文档研究:
- 使用
search_mode: "sec"调用raw_search→ 查找相关文件 - 使用
search_mode: "sec"调用search→ 综合分析
学术文献综述:
- 使用
search_mode: "academic"、search_context_size: "high"调用search→ 获取同行评审来源的全面结果
带推理控制的深度研究:
- 使用
reasoning_effort: "high"、strip_thinking: true调用search→ 进行全面分析,同时不在输出中包含<think>块
开发
npm run build # Compile TypeScript to build/
npm start # Run the built server
源代码位于 src/ — 编辑后,重新构建并重启 Claude 以加载更改。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。