项目简介

本项目是一个基于Model Context Protocol (MCP) 的服务器实现,它通过集成 Perplexity API,为大型语言模型 (LLM) 客户端(如 Claude)提供强大的网络搜索和深度研究功能。借助此服务器,LLM 可以访问最新的网络信息,进行快速的事实查找或深入的主题研究,并获得带有来源引用的可靠结果。

主要功能点

  • 网页搜索 (Web Search): 使用 Perplexity 强大的 "sonar-reasoning-pro" 模型进行快速网页搜索,适用于需要最新事实信息的查询。
  • 深度研究 (Deep Research): 使用 Perplexity 高级的 "sonar-deep-research" 模型进行全面的深度研究,适用于需要细致分析和多方信源的复杂主题。
  • 结果引用: 为所有搜索和研究结果提供详细的来源引用,增强结果的可信度和可追溯性。

安装步骤

  1. 克隆仓库: 在你的本地计算机上克隆此 GitHub 仓库:
    git clone https://github.com/nathanonn/mcp-perplexity-api.git
    cd mcp-perplexity-api
  2. 安装依赖: 安装项目所需的 Node.js 依赖包:
    npm install
  3. 构建项目: 编译 TypeScript 代码:
    npm run build

服务器配置

要将此 MCP 服务器与 MCP 客户端(例如 Claude for Desktop)连接,您需要配置客户端的配置文件。以 Claude for Desktop 为例,您需要编辑 'claude_desktop_config.json' 文件,并添加以下服务器配置信息。

配置文件路径:

  • macOS: '~/Library/Application Support/Claude/claude_desktop_config.json'
  • Windows: '%APPDATA%\Claude\claude_desktop_config.json'

配置信息 (JSON 格式):

{
    "mcpServers": {
        "perplexity": {  // 服务器名称,可以自定义,例如 "perplexity-search"
            "command": "node",  // 启动服务器的命令,这里使用 Node.js 运行 JavaScript 文件
            "args": ["/path/to/mcp-perplexity-api/build/index.js"], // 启动命令的参数,指向服务器入口文件,请替换为实际路径
            "env": {
                "PERPLEXITY_API_KEY": "your_api_key_here" // Perplexity API 密钥,请替换为您自己的 API 密钥
            }
        }
    }
}

配置参数说明:

  • '"perplexity"': 服务器的名称,在客户端配置中用于标识此服务器。您可以自定义名称。
  • '"command": "node"': 指定运行服务器的命令为 'node',表示使用 Node.js 运行时环境。
  • '"args": ["/path/to/mcp-perplexity-api/build/index.js"]': 'args' 数组包含启动命令的参数。这里指定了服务器入口文件 'build/index.js' 的路径。请务必将 '/path/to/mcp-perplexity-api' 替换为您本地仓库的实际路径。
  • '"env": { "PERPLEXITY_API_KEY": "your_api_key_here" }': 'env' 对象用于设置服务器运行时的环境变量。'PERPLEXITY_API_KEY' 是用于访问 Perplexity API 的密钥。请将 '"your_api_key_here"' 替换为您在 Perplexity 官网申请的 API 密钥。 您需要在 Perplexity.ai 注册并获取 API 密钥。

启动服务器:

配置完成后,在仓库根目录下运行以下命令启动 MCP 服务器:

npm start

基本使用方法

成功配置并启动 MCP 服务器后,您可以在支持 MCP 协议的 LLM 客户端中使用 'web-search' 和 'deep-research' 工具。

在 Claude 中使用示例:

  • 网页搜索: 提问类似 "量子计算的最新进展是什么?" 这样的问题,Claude 会自动调用 'web-search' 工具进行搜索并返回结果。
  • 深度研究: 提问类似 "请深入研究一下聚变能源的现状和最新突破。" 这样的问题,Claude 会调用 'deep-research' 工具进行更全面的研究。

工具的具体参数 (例如 'max_tokens', 'temperature') 通常由 LLM 客户端自动管理,您只需自然地提出问题即可。

信息

分类

网页与API