使用说明
困惑MCP服务器
一个模型上下文协议(MCP)服务器,将Perplexity AI的搜索增强语言模型与Claude Desktop集成在一起,为不同的用例提供了三种具有渐进复杂性的工具。
特性
🔍 三个复杂度级别
perplexity_small:使用sonar pro型号快速查询perplexity_medium:使用声纳推理pro增强推理能力perplexity_large:声纳深度研究
🚀 为发展而优化
- 干净的响应(思维标记自动删除)
- 全面的错误处理
- 调试详细日志记录
- 内置FastMCP,可靠性高
🔧 现代Python堆栈
- UV用于快速依赖管理
- 用于现代HTTP客户端功能的HTTPX
- 在整个代码库中键入提示
- 全面的测试套件
快速开始
先决条件
安装
-
克隆存储库
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
Claude桌面集成
-
找到你的紫外线路径
which uv # Example output: /Users/username/.local/bin/uv -
配置Claude桌面
编辑
~/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以加载新的MCP服务器。
用法
在克劳德桌面
配置后,您可以在对话中使用这些工具:
快速事实查询:
Use perplexity_small to find: "What is the latest Python version?"
技术分析:
Use perplexity_medium to explain: "Compare REST vs GraphQL performance characteristics"
深入研究:
Use perplexity_large to research: "Comprehensive analysis of quantum computing trends in 2024"
工具规格
| 工具 | 模型 | 用例 | 响应时间 | 功能 |
|---|---|---|---|---|
perplexity_small |
声纳专业版 | 快速事实,基本查询 | ~3-10秒 | 快速、可靠 |
perplexity_medium |
声纳推理专业 | 技术解释 | 约10-30秒 | 增强推理 |
perplexity_large |
声纳深度研究 | 综合研究 | ~5-30分钟 | 深度分析,高质量 |
响应格式
所有工具都会返回干净、结构化的响应:
{
"content": "The AI response with thinking tokens removed",
"citations": ["https://source1.com", "https://source2.com"]
}
发展
项目结构
Perplexity_MCP/
├── server.py # FastMCP server with 3 tools
├── client.py # Perplexity API wrapper
├── config.py # Configuration and tool settings
├── __init__.py # Package exports
├── pyproject.toml # UV project configuration
├── tests/
│ ├── tests.py # Test script for individual tools
│ └── test_logs/ # Test results and logs
└── Notes/
├── explanations.md # Technical deep-dives
└── questions.txt # Development questions
运行测试
测试单个工具以验证API集成:
# Test each tool independently
uv run python tests/tests.py small # Test sonar-pro model
uv run python tests/tests.py medium # Test sonar-reasoning-pro
uv run python tests/tests.py large # Test sonar-deep-research (long runtime)
# Results saved to tests/test_logs/ with detailed response analysis
开发设置
-
安装开发依赖项
uv sync --all-groups -
在本地运行MCP服务器 (用于调试)
uv run python server.py -
检查代码质量
uv run ruff check . uv run black .
配置
环境变量
| 变量 | 必填 | 描述 |
|---|---|---|
PERPLEXITY_API_KEY |
是 | 您的困惑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: No module named 'client'
- 确保从项目根目录运行
- 检查UV是否使用了正确的虚拟环境
API关键问题
Error: PERPLEXITY_API_KEY environment variable is required
- 验证您的
.env文件存在并且包含API密钥 - 检查API密钥在上是否有效 困惑设置页面
Claude桌面连接问题
- 验证配置中的UV路径:
which uv - 确保项目目录路径绝对正确
- 检查Claude Desktop日志中的特定错误消息
- 配置更改后完全重新启动Claude Desktop
响应时间长
perplexity_large复杂的查询可能需要10-30分钟- 使用
perplexity_small或perplexity_medium以获得更快的响应 - 在选择工具时考虑查询的复杂性
调试模式
通过直接运行服务器启用详细日志记录:
uv run python server.py
# Check stderr output for detailed logging information
测试单个组件
# Test API connection
uv run python -c "from client import PerplexityClient; print('✅ Client OK')"
# Test configuration
uv run python -c "from config import get_api_key; print('✅ API Key OK')"
# Test server startup
timeout 10s uv run python server.py || echo "Server started successfully"
贡献
- 分叉存储库
- 创建要素分支:
git checkout -b feature-name - 进行更改并彻底测试
- 根据需要更新文档
- 提交拉取请求
开发指南
- 遵循现有的代码风格(黑色格式、类型提示)
- 添加新功能的测试
- 更新
CLAUDE.md对于任何架构更改 - 使用所有三种困惑模型进行测试
- 确保MCP协议合规性(干净的标准输出)
建筑
关键设计决策
- 基于类的客户端:用于高效资源管理的Singleton模式
- 思考代币移除:自动过滤
<think>...</think>章节 - 简化响应:仅内容和引用用于干净整合
- 错误隔离:没有异常传播到MCP层
- 日志策略:所有调试输出到stderr以符合MCP要求
依赖项
mcp>=1.11.0-带FastMCP的MCP Python SDKpython-dotenv>=1.1.1-环境变量管理httpx>=0.28.1-具有超时处理功能的现代HTTP客户端
许可证
MIT许可证 -有关详细信息,请参阅LICENSE文件。
致谢
支持
备注:此MCP服务器目前已针对本地开发和个人使用进行了优化。未来的版本可能包括PyPI分发选项,以便于安装和共享。
