这是一个集成 Perplexity AI 的搜索增强型语言模型与 Claude Desktop 的 Model Context Protocol (MCP) 服务器,提供三种不同复杂度的工具以适应不同的使用场景。
🔍 三种复杂度级别
perplexity_small: 使用 sonar-pro 模型进行快速查询perplexity_medium: 使用 sonar-reasoning-pro 进行增强推理perplexity_large: 使用 sonar-deep-research 进行深入研究🚀 优化开发
🔧 现代 Python 栈
克隆仓库
git clone <repository-url>
cd Perplexity_MCP
安装依赖
uv sync
设置环境
echo "PERPLEXITY_API_KEY=your_api_key_here" > .env
测试安装
uv run python tests/tests.py small
找到你的 UV 路径
which uv
# 示例输出: /Users/username/.local/bin/uv
配置 Claude Desktop
编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"perplexity-mcp": {
"command": "/Users/username/.local/bin/uv",
"args": [
"--directory",
"/path/to/your/Perplexity_MCP",
"run",
"python",
"server.py"
]
}
}
}
重启 Claude Desktop
完全退出并重新启动 Claude Desktop 以加载新的 MCP 服务器。
配置完成后,你可以在对话中使用这些工具:
快速事实查询:
使用 perplexity_small 查找: "最新的 Python 版本是什么?"
技术分析:
使用 perplexity_medium 解释: "比较 REST 和 GraphQL 的性能特征"
深入研究:
使用 perplexity_large 研究: "2024 年量子计算趋势的全面分析"
| 工具 | 模型 | 使用场景 | 响应时间 | 特性 |
|---|---|---|---|---|
perplexity_small | sonar-pro | 快速事实、基本查询 | 约 3-10 秒 | 快速、可靠 |
perplexity_medium | sonar-reasoning-pro | 技术解释 | 约 10-30 秒 | 增强推理 |
perplexity_large | sonar-deep-research | 综合研究 | 约 5-30 分钟 | 深入分析、高质量 |
所有工具返回干净、结构化的响应:
{
"content": "已移除思考标记的 AI 响应",
"citations": ["https://source1.com", "https://source2.com"]
}
Perplexity_MCP/
├── server.py # 包含三个工具的 FastMCP 服务器
├── client.py # Perplexity API 封装
├── config.py # 配置和工具设置
├── __init__.py # 包导出
├── pyproject.toml # UV 项目配置
├── tests/
│ ├── tests.py # 单独工具的测试脚本
│ └── test_logs/ # 测试结果和日志
└── Notes/
├── explanations.md # 技术深度探讨
└── questions.txt # 开发问题
测试单独的工具以验证 API 集成:
# 单独测试每个工具
uv run python tests/tests.py small # 测试 sonar-pro 模型
uv run python tests/tests.py medium # 测试 sonar-reasoning-pro
uv run python tests/tests.py large # 测试 sonar-deep-research(长时间运行)
# 结果保存在 tests/test_logs/ 中,附有详细的响应分析
安装开发依赖
uv sync --all-groups
本地运行 MCP 服务器(用于调试)
uv run python server.py
检查代码质量
uv run ruff check .
uv run black .
| 变量 | 必需 | 描述 |
|---|---|---|
PERPLEXITY_API_KEY | 是 | 从 设置页面 获取的 Perplexity API 密钥 |
工具在 config.py 中配置:
TOOL_CONFIGS = {
"small": {
"model": "sonar-pro"
},
"medium": {
"model": "sonar-reasoning-pro",
"reasoning_effort": "medium",
"web_search_options": {"search_context_size": "medium"}
},
"large": {
"model": "sonar-deep-research",
"reasoning_effort": "high",
"web_search_options": {"search_context_size": "high"}
}
}
导入错误
ModuleNotFoundError: 没有名为 'client' 的模块
API 密钥问题
错误: 需要 PERPLEXITY_API_KEY 环境变量
.env 文件存在且包含 API 密钥Claude Desktop 连接问题
which uv长时间响应
perplexity_large 对于复杂查询可能需要 10-30 分钟perplexity_small 或 perplexity_medium 以获得更快的响应通过直接运行服务器启用详细日志记录:
uv run python server.py
# 检查 stderr 输出以获取详细的日志信息
# 测试 API 连接
uv run python -c "from client import PerplexityClient; print('✅ 客户端正常')"
# 测试配置
uv run python -c "from config import get_api_key; print('✅ API 密钥正常')"
# 测试服务器启动
timeout 10s uv run python server.py || echo "服务器成功启动"
git checkout -b feature-nameCLAUDE.md 以反映架构变化<think>...</think> 部分mcp>=1.11.0 - MCP Python SDK,带 FastMCPpython-dotenv>=1.1.1 - 环境变量管理httpx>=0.28.1 - 现代 HTTP 客户端,带超时处理MIT 许可证 - 详情参见 LICENSE 文件。
注意:此 MCP 服务器目前优化用于本地开发和个人使用。未来版本可能会包括 PyPI 发布选项,以便更轻松地安装和分享。