P

Perplexity AI MCP 服务器

@laodev1/perplexity-mcp-server
0 Stars 23 次浏览 laodev1 更新于 2026-08-23

一个Node.js实现,使克劳德能够通过Anthropic的模型上下文协议与Perplexity AI的语言模型进行交互,提供用于高级聊天补全和快速查询的工具。

该服务暂未提供标准配置,请参考 README 手动接入

可用工具 (2 个)

该服务在 MCP 协议中暴露的工具,AI 可按需调用

perplexity_chat 3 个参数 需填 1 项

Generate a chat completion using Perplexity AI

必填参数:messages

perplexity_ask 2 个参数 需填 1 项

Send a simple query to Perplexity AI

必填参数:query

服务介绍

Perplexity MCP 服务器

概述

Perplexity MCP 服务器是一个使用 Node.js 实现的 Anthropic 的 Model Context Protocol (MCP) 服务,它使 Claude 能够与 Perplexity 的语言模型进行交互。该服务器提供了一个安全的桥梁,连接了 Claude 和 Perplexity AI 的功能,允许通过工具使用增强 AI 交互。

可用工具

服务器当前实现了两个主要工具:

1. perplexity_chat

支持完整消息历史记录的高级聊天完成工具。

{
  "name": "perplexity_chat",
  "description": "Generate a chat completion using Perplexity AI",
  "parameters": {
    "model": "string (optional) - One of: llama-3.1-sonar-small-128k-online, llama-3.1-sonar-large-128k-online, llama-3.1-sonar-huge-128k-online",
    "messages": "array of {role, content} objects - The conversation history",
    "temperature": "number (optional) - Sampling temperature between 0-2"
  }
}

2. perplexity_ask

用于快速提问的简化单查询接口。

{
  "name": "perplexity_ask",
  "description": "Send a simple query to Perplexity AI",
  "parameters": {
    "query": "string - The question or prompt to send",
    "model": "string (optional) - One of: llama-3.1-sonar-small-128k-online, llama-3.1-sonar-large-128k-online, llama-3.1-sonar-huge-128k-online"
  }
}

安装

  1. 克隆仓库:

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

    npm install
    
  3. 创建 .env 文件:

    PERPLEXITY_API_KEY=your-api-key-here
    
  4. 构建项目:

    npm run build
    

Claude 桌面配置

要将此服务器添加到 Claude Desktop,请更新您的 claude_desktop_config.json

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

配置文件通常位于以下位置:

  • Windows: %APPDATA%/Claude/config/claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/config/claude_desktop_config.json
  • Linux: ~/.config/Claude/config/claude_desktop_config.json

开发

启动带有自动重新编译的开发服务器:

npm run dev

服务器使用 TypeScript 并利用 @modelcontextprotocol/sdk 包实现 MCP 协议。

架构

核心组件

  1. PerplexityServer 类

    • 实现 MCP 服务器协议
    • 处理工具注册和执行
    • 管理错误处理和服务生命周期
  2. 工具系统

    • 模块化工具定义
    • 类型安全的工具处理器
    • 结构化的输入验证

技术细节

  • 使用 TypeScript 以确保类型安全
  • 使用 @modelcontextprotocol/sdk 实现 MCP
  • 通过 stdio 传输通信
  • 基于环境的配置

错误处理

服务器实现了全面的错误处理:

  • API 错误报告
  • 无效工具请求处理
  • 连接错误管理
  • 进程信号处理

依赖项

  • @modelcontextprotocol/sdk: ^1.0.3
  • dotenv: ^16.4.7
  • isomorphic-fetch: ^3.0.0

贡献

  1. 分叉仓库
  2. 创建你的特性分支 (git checkout -b feature/amazing-feature)
  3. 提交你的更改 (git commit -m 'Add some amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 打开一个 Pull Request

安全性

  • 通过环境变量管理 API 密钥
  • 对所有工具参数进行输入验证
  • 输出前清理错误信息
  • 通过 MCP 协议隔离进程

许可证

该项目采用 ISC 许可证。

故障排除

常见问题及解决方案:

  1. 找不到服务器

    • 确认 claude_desktop_config.json 中的路径是否正确
    • 确保服务器已构建 (npm run build)
    • 检查 Node.js 是否在你的 PATH 中
  2. 认证错误

    • 在 .env 文件中验证你的 Perplexity API 密钥
    • 检查 API 密钥是否具有所需的权限
  3. 工具执行错误

    • 确认工具参数与模式匹配
    • 检查网络连接
    • 查看服务器日志以获取详细的错误信息

相关 MCP 服务