返回 MCP 目录
public公开dns本地运行

perplexity-mcp-server-gfh

一个基于TypeScript的MCP服务器,提供与Perplexity AI API交互的工具,支持搜索增强查询和内部推理过程展示。

article

README

🚀 基于模型上下文协议的Perplexity集成项目

这是一个基于模型上下文协议(Model Context Protocol)构建的项目,主要用于实现与Perplexity的集成。借助该项目,我们能够利用Perplexity强大的搜索引擎和大语言模型(LLM),为用户提供更智能、更高效的搜索增强问答功能。

🚀 快速开始

安装依赖

npm install mcp-ts-template @perplexity/api

初始化配置

创建一个config.ts文件,并添加以下内容:

export const config = {
  api_key: 'your-perplexity-api-key',
  search_context_size: 5,
  // 其他自定义配置
};

启动服务

运行命令:

npm run dev

✨ 主要特性

  • 搜索增强问答:用户可以通过自然语言查询,获得基于Perplexity搜索结果的答案。
  • 多参数支持:允许自定义搜索行为,例如指定返回相关问题、过滤搜索时间范围和域名等。
  • 可扩展性:框架设计灵活,便于添加新的工具或功能模块。

📚 详细文档

架构设计

项目的整体架构遵循清晰的分层原则:

                    ┌──────────────┐
                    │    Client     │
                    └──────┬───────┘
                           │
                    ┌──────▼───────┐
                    │   Handler    │
                    └──────┬───────┘
                           │
                    ┌──────▼───────┐
                    │  Server      │
                    └──────┬───────┘
                           │
                    ┌──────▼───────┐
                    │ Services     │
                    └──────┬───────┘
                           │
                    ┌──────▼───────┐
                    │   Config     │
                    └──────┬───────┘
                           │
                    ┌──────▼───────┐
                    │  Database    │
                    └──────────────┘

工具文档

perplexity_search 工具

该工具通过Perplexity API执行搜索增强查询,主要用于回答基于网络搜索结果的问题。

输入参数

| 参数名称 | 类型 | 是否必填 | 描述 | |--------------------------|----------|----------|------------------------------------------------------------------------------------------------------------| | query | string | 是 | 用户的原始搜索查询或问题 | | return_related_questions | boolean | 否 | 设置为true时,Perplexity模型会一并返回相关问题(默认值:false) | | search_recency_filter | string | 否 | 控制搜索结果的时间范围过滤器(例如:'hour', 'day', 'week', 'month', 'year') | | search_domain_filter | string[] | 否 | 指定要过滤的域名列表 |

示例用法
const result = await perplexity_search({
  query: "什么是人工智能?",
  return_related_questions: true,
  search_recency_filter: 'week',
  search_domain_filter: ['example.com']
});

开发指南

项目结构

  • src/: 包含核心业务逻辑和模块。
  • config/: 存放应用程序的配置文件。
  • types/: 定义自定义类型和接口。

快速开发流程

  1. 创建新功能模块
    • src/components目录下新建一个组件文件。
    • 实现相关业务逻辑,并确保符合项目规范。
  2. 测试新功能
    • 使用单元测试框架(如Jest)编写并运行测试用例。
    • 确保所有新增功能通过测试验证。
  3. 部署与发布
    • 本地运行npm run build生成构建文件。
    • 提交代码到版本控制系统,并按照语义化版本进行发布。

项目维护

  • 日志记录:在关键业务逻辑处添加适当的日志输出,便于调试和监控。
  • 错误处理:为所有API调用和外部服务交互提供完善的错误捕捉与恢复机制。
  • 性能优化:定期审查代码并优化潜在的性能瓶颈。

📄 许可证

本项目遵循MIT License,允许自由使用、修改和分发,但需保留版权声明。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端