返回市场
困惑度-MCP服务器

困惑度-MCP服务器

作者:cyanheads20 星标更新:2025-07-22

项目介绍

Perplexity MCP Server

TypeScript Model Context Protocol Version License Status GitHub

通过Perplexity的搜索API增强您的AI代理!

这是一个MCP(模型上下文协议)服务器,提供全面访问Perplexity AI API的功能。它使大型语言模型(LLMs)和AI代理能够执行快速、增强搜索的查询,并进行详尽的多源深度研究,所有这些都通过一个标准化、安全且易于集成的协议实现。

基于cyanheads/mcp-ts-template,此服务器遵循模块化架构,具有强大的错误处理、日志记录和安全功能。

🚀 核心能力:Perplexity工具 🛠️

此服务器为您的AI配备了专门的工具,以利用Perplexity的独特功能:

工具名称描述关键特性
perplexity_search使用Perplexity API执行快速、增强搜索的查询。适用于快速问题和实时信息检索。- 按时间筛选(dayweekmonthyear)。<br/>- 按领域或日期范围筛选。<br/>- 使用academic模式优先学术来源。<br/>- 可选地包含模型内部推理(showThinking)。
perplexity_deep_research对复杂主题进行详尽的多源调查,提供详细的报告。- 适用于深入分析和报告生成。<br/>- 使用reasoning_effortlowmediumhigh)控制研究深度和成本。

注意:对于深度研究工具,建议通过Cline等MCP客户端允许更长的超时时间(例如180秒)。其他客户端可能在60秒后超时,这不足以进行深度研究。


目录

概述功能安装
配置项目结构
工具开发许可证

概述

Perplexity MCP Server充当桥梁,允许理解模型上下文协议(MCP)的应用程序(如高级AI助手(LLMs)、IDE扩展或自定义研究工具)与Perplexity AI API直接高效地交互。

无需复杂的单次API集成,您的工具可以通过此服务器:

  • 自动化研究:使代理能够编程地执行快速查找或深入研究。
  • 增强AI推理:为LLMs提供来自网络的最新、可验证的信息,使其响应更加可靠。
  • 将搜索整合到工作流程中:无缝地将增强搜索生成添加到任何由AI驱动的任务中。

基于强大的mcp-ts-template,此服务器提供了一种标准化、安全且高效的暴露Perplexity功能的方法,通过MCP标准。

开发者提示:此存储库包括一个.clinerules文件,作为开发者的速查表,为您的LLM编码代理提供代码库模式、文件位置和代码片段的快速参考。

功能

核心实用工具

利用mcp-ts-template提供的强大实用工具:

  • 日志记录:具有文件轮换和可选MCP通知的结构化、可配置日志记录。
  • 错误处理:使用标准化的McpError类型的集中式错误处理。
  • 配置:环境变量加载(dotenv)并使用Zod进行验证。
  • 输入验证/清理:使用zod进行模式验证和专用清理工具。
  • 请求上下文:通过唯一的请求ID使用AsyncLocalStorage进行操作跟踪和关联。
  • 类型安全性:通过TypeScript和Zod模式强制执行强类型。
  • HTTP传输:使用Hono的高性能HTTP服务器,支持会话管理和CORS。
  • 身份验证:支持JWT和OAuth 2.1的强大身份验证层。

Perplexity集成

  • 双API支持:完全集成标准聊天完成API(perplexity_search)和更密集的研究模型(perplexity_deep_research)。
  • 高级搜索控制:对搜索参数的细粒度控制,包括时间、领域过滤和学术来源优先级。
  • 成本追踪:根据令牌使用量和模型估算API调用成本的工具,帮助管理费用。
  • 健壮的API客户端:用于与Perplexity API交互的专用服务,内置错误处理和请求/响应日志记录。

安装

先决条件

设置

  1. 克隆仓库:

    git clone https://github.com/cyanheads/perplexity-mcp-server.git
    cd perplexity-mcp-server
    
  2. 安装依赖项:

    npm install
    
  3. 构建项目:

    npm run build
    

配置

环境变量

通过创建项目根目录下的.env文件来配置服务器(您可以复制.env.example)。这些变量也可以在您的MCP客户端配置中设置。

变量描述默认值
PERPLEXITY_API_KEY必需。 您的Perplexity API密钥。""
MCP_TRANSPORT_TYPE传输机制:stdiohttpstdio
MCP_HTTP_PORTHTTP服务器端口(如果MCP_TRANSPORT_TYPE=http)。3010
MCP_HTTP_HOSTHTTP服务器主机地址。127.0.0.1
MCP_LOG_LEVEL日志级别(debuginfowarnerror)。info
MCP_AUTH_MODEHTTP的身份验证方式:jwtoauthjwt
MCP_AUTH_SECRET_KEY对于jwt认证必需。 安全的秘密密钥(至少32个字符)。""

MCP客户端设置

在您的MCP客户端配置文件(例如cline_mcp_settings.json)中添加以下内容:

{
  "mcpServers": {
    "perplexity-mcp-server": {
      "command": "node",
      "args": ["/path/to/your/perplexity-mcp-server/dist/index.js"],
      "env": {
        "PERPLEXITY_API_KEY": "YOUR_PERPLEXITY_API_KEY_HERE"
      }
    }
  }
}

项目结构

代码库在src/目录内遵循模块化结构:

src/
├── index.ts              # 入口点:初始化并启动服务器
├── config/               # 配置加载(环境变量,包信息)
│   └── index.ts
├── mcp-server/           # 核心MCP服务器逻辑和能力注册
│   ├── server.ts         # 服务器设置,能力注册
│   ├── transports/       # 传输处理(stdio,http)
│   └── tools/            # MCP工具实现(每个工具子目录)
├── services/             # 外部服务集成(Perplexity API客户端)
├── types-global/         # 共享的TypeScript类型定义
└── utils/                # 常用工具函数(日志记录器,错误处理器等)

要查看详细的文件树,请运行npm run tree或参见docs/tree.md

工具

Perplexity MCP Server提供了两个主要工具来与Perplexity API交互。

工具名称描述关键参数
perplexity_search执行快速、增强搜索的查询。querysearch_recency_filter?search_domain_filter?search_mode?showThinking?
perplexity_deep_research进行详尽的多源研究查询。queryreasoning_effort?

注意:所有工具都支持全面的错误处理,并返回结构化的JSON响应。

开发

构建和测试

# 构建项目(将TS编译为JS并放入dist/)
npm run build

# 清理构建工件
npm run clean

# 生成文件树表示以供文档使用
npm run tree

# 清理构建工件然后重新构建项目
npm run rebuild

# 使用stdio(默认)启动服务器
npm start

许可证

本项目采用Apache License 2.0许可 - 详情请参阅LICENSE文件。


<div align="center"> 基于<a href="https://modelcontextprotocol.io/">模型上下文协议</a>构建 </div>