Perplexity AI MCP 服务器
一个Node.js实现,使克劳德能够通过Anthropic的模型上下文协议与Perplexity AI的语言模型进行交互,提供用于高级聊天补全和快速查询的工具。
可用工具 (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"
}
}
安装
-
克隆仓库:
git clone https://github.com/yourusername/perplexity-mcp-server.git cd perplexity-mcp-server -
安装依赖项:
npm install -
创建
.env文件:PERPLEXITY_API_KEY=your-api-key-here -
构建项目:
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 协议。
架构
核心组件
-
PerplexityServer 类
- 实现 MCP 服务器协议
- 处理工具注册和执行
- 管理错误处理和服务生命周期
-
工具系统
- 模块化工具定义
- 类型安全的工具处理器
- 结构化的输入验证
技术细节
- 使用 TypeScript 以确保类型安全
- 使用
@modelcontextprotocol/sdk实现 MCP - 通过 stdio 传输通信
- 基于环境的配置
错误处理
服务器实现了全面的错误处理:
- API 错误报告
- 无效工具请求处理
- 连接错误管理
- 进程信号处理
依赖项
@modelcontextprotocol/sdk: ^1.0.3dotenv: ^16.4.7isomorphic-fetch: ^3.0.0
贡献
- 分叉仓库
- 创建你的特性分支 (
git checkout -b feature/amazing-feature) - 提交你的更改 (
git commit -m 'Add some amazing feature') - 推送到分支 (
git push origin feature/amazing-feature) - 打开一个 Pull Request
安全性
- 通过环境变量管理 API 密钥
- 对所有工具参数进行输入验证
- 输出前清理错误信息
- 通过 MCP 协议隔离进程
许可证
该项目采用 ISC 许可证。
故障排除
常见问题及解决方案:
-
找不到服务器
- 确认
claude_desktop_config.json中的路径是否正确 - 确保服务器已构建 (
npm run build) - 检查 Node.js 是否在你的 PATH 中
- 确认
-
认证错误
- 在 .env 文件中验证你的 Perplexity API 密钥
- 检查 API 密钥是否具有所需的权限
-
工具执行错误
- 确认工具参数与模式匹配
- 检查网络连接
- 查看服务器日志以获取详细的错误信息