项目简介

该组件是 Video Answer AI Agent 项目中的一个独立部分,实现了基于 Model Context Protocol (MCP) 的服务器。它将 Perplexity 的 API 能力(如问答、推理)封装成标准的 MCP 工具,并通过 Server-Sent Events (SSE) 协议暴露,供符合 MCP 协议的 AI 客户端(如该项目的 FastAPI 后端)调用。

主要功能点

  • 提供 Perplexity 问答工具 ('perplexity_ask'): 用于快速、事实性问答。
  • 提供 Perplexity 推理工具 ('perplexity_reason'): 用于需要更复杂逻辑和多步分析的问题。
  • 提供健康检查资源 ('health://status'): 客户端可用于检查服务器状态。
  • 支持 SSE 传输协议: 客户端通过 SSE 连接与服务器通信。

安装步骤

该 MCP 服务器使用 Node.js 和 TypeScript 构建。

  1. 进入服务器目录:
    cd perplexity-mcp-server
  2. 安装 Node.js 依赖:
    npm install
  3. 配置 Perplexity API 密钥: 设置环境变量 'PERPLEXITY_API_KEY' 为您的 Perplexity API 密钥。
    export PERPLEXITY_API_KEY='YOUR_PERPLEXITY_API_KEY'
  4. 启动 MCP 服务器:
    npm start
    服务器默认监听 8080 端口,并通过 '/sse' 路径提供 SSE 服务。您也可以通过设置 'PORT' 环境变量修改端口。

服务器配置 (供 MCP 客户端使用)

AI Agent 等 MCP 客户端需要知道此 MCP 服务器的网络地址和端口才能与其建立连接并发现其提供的工具和资源。

客户端需要配置一个 MCP 服务器连接信息,核心是指定 MCP 服务器的 SSE 接口 URL。对于通过上述步骤在本地启动的此 MCP 服务器,其 SSE 接口 URL 格式通常为:

'http://<运行此服务器的机器IP或域名>:<端口>/sse'

例如,如果在本地默认端口运行,URL 为 'http://localhost:8080/sse'。

客户端(如本仓库中的 FastAPI 后端)通常通过读取名为 'MCP_PERPLEXITY_SSE_URL' 的环境变量来获取此 URL。因此,使用此 MCP 服务器的客户端需要确保正确配置此环境变量指向运行中的服务器地址。

基本使用方法

此 MCP 服务器不提供图形界面或直接的命令行交互接口供人类用户使用。它是一个应用后端服务,其功能通过 MCP 协议提供给 AI 客户端。

  1. 确保 MCP 服务器正在运行。
  2. 开发或配置一个 MCP 客户端应用程序(例如使用 'fastmcp' 或其他 MCP 客户端库)。
  3. 在 MCP 客户端中配置此 MCP 服务器的 SSE URL。
  4. MCP 客户端连接成功后,可以发现服务器提供的工具 ('perplexity_ask', 'perplexity_reason') 和资源 ('health://status')。
  5. MCP 客户端根据需要,调用相应的工具并处理返回结果。

例如,一个客户端可能会在收到用户问题后,调用 'perplexity_ask' 工具并将用户问题作为工具的参数传递,然后接收并处理工具返回的答案。

信息

分类

AI与计算