Epguides MCP Server

使用说明(Markdown 格式)

  • 项目简介
    • 该仓库实现了一个 MCP 服务器,核心通过 JSON-RPC 2.0 与客户端通信,暴露资源、工具、以及与电视节目数据相关的能力。服务器能够初始化协商能力、列出可用资源、读取资源内容、列出可调用工具、以及执行工具以返回结构化文本或 JSON 内容。
  • 主要功能点
    • MCP 初始化与能力声明:返回协议版本、服务器信息、以及可用资源/工具的能力描述。
    • 资源管理:提供资源列表(如 epguides 的 Shows 列表)以及对资源内容的读取接口。
    • 工具执行:提供一组 predefined 的工具(如 search_shows、get_show、get_episodes、get_next_episode、get_latest_episode、get_seasons),支持调用及返回文本内容。
    • JSON-RPC 封装:所有交互遵循 MCP 的 2.0 版本,形成标准的 jsonrpc、id、result 或 error 的返回结构。
    • 与主应用的整合:通过 FastAPI 提供 MCP 端点 /mcp,以及健康等辅助接口,便于运维和集成测试。
    • 兼容性与可扩展性:为未来增加更多资源、工具和提示模板提供了清晰的扩展点。
  • 安装步骤
    • 获取代码:将仓库克隆到本地或服务器上。
    • 安装依赖:在虚拟环境中安装项目依赖(如 FastAPI、httpx、pydantic、redis 等)。
    • 启动服务:以常见的 Python 运行方式启动应用(例如通过 uvicorn 启动 app.main:app,监听在 0.0.0.0:3000,或按照你的部署配置)。
  • 服务器配置(MCP 客户端所需的最小信息)
    • MCP 客户端需要启动配置以连接并使用 MCP 服务器;以下信息用于 MCP 客户端初始化连接。请以 JSON 格式配置(内容示例仅供理解,不作为代码块展示): { "server_name": "epguides-api", "command": "uvicorn", "args": ["app.main:app", "--host", "0.0.0.0", "--port", "3000"], "description": "Epguides API MCP 服务器,使用 uvicorn 启动 FastAPI 应用,监听 3000 端口", "version": "2025-06-18" // MCP 协议版本号,服务器端实现的协议版本 }
    • 注释说明:
      • server_name:服务器唯一名称,用于在 MCP 客户端中标识目标服务器。
      • command 与 args:启动服务器的命令及参数,用于 MCP 客户端在需要时能复现启动环境。
      • description:对服务器用途的简要描述,便于运维识别。
      • version:MCP 协议版本,客户端按照此版本与服务器通信。
    • 重要说明:MCP 客户端并不需要直接依赖此配置示例的代码块;该信息仅用于描述如何在客户端配置端与该 MCP 服务器对接。
  • 基本使用方法
    • 启动后,客户端通过 POST /mcp 发送 JSON-RPC 请求,如初始化、工具列表、工具调用、资源读取等。
    • 客户端应遵循 MCP 2.0 的格式,并根据服务器的返回结构进行处理。
    • 服务提供健康接口,方便在运维面看到 MCP 服务是否可用,并可对 /mcp 端点进行压力测试和集成测试。

服务器信息