困惑MCP服务器
概述
困惑MCP服务器是Anthropic模型上下文协议(MCP)的Node.js实现,使Claude能够与困惑的语言模型进行交互。该服务器在Claude和Perplexity AI的功能之间提供了一个安全的桥梁,允许通过使用工具增强AI交互。
可用工具
服务器目前实现了两个主要工具:
1.困惑
高级聊天完成工具,支持完整的消息历史记录。
{
"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.困惑_提问
简化的单一查询界面,便于快速提问。
{
"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 buildClaude桌面配置
若要将此服务器添加到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...
}
}配置文件通常位于:
- 窗户:
%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服务器协议 - 处理工具注册和执行 - 管理错误处理和服务器生命周期
- 工具系统
- 模块化工具定义 - 类型安全工具处理程序 - 结构化输入验证
技术细节
- 使用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) - 打开拉取请求
安全
- API密钥通过环境变量进行管理
- 所有工具参数的输入验证
- 在输出之前对错误消息进行清理
- 通过MCP协议进行过程隔离
许可证
该项目根据ISC许可证获得许可。
故障排除
常见问题和解决方案:
- 找不到服务器
- 验证中的路径 claude_desktop_config.json 是正确的 - 确保服务器已构建(npm run build) - 检查Node.js是否在您的PATH中
- 身份验证错误
- 在.env中验证您的困惑API密钥 - 检查API密钥是否具有所需的权限
- 工具执行错误
- 验证工具参数是否与架构匹配 - 检查网络连接 - 查看服务器日志以了解详细的错误消息
