TrendRadar MCP 服务器(FastMCP 2.0 实现)

  • 项目简介
    • TrendRadar 的 MCP 服务器实现,采用 FastMCP 2.0 框架,提供 MCP 兼容的后端服务。核心职责包括:向 MCP 客户端提供资源数据、注册与执行工具、以及渲染/返回 Prompt 模板等。服务器通过 JSON-RPC 风格的 MCP 协议与客户端通信,支持 stdio 与 http 两种传输模式,便于本地开发与生产环境部署。
  • 主要功能点
    • MCP 服务端核心功能:实现基于 MCP 的工具调用、数据查询、以及系统配置管理,向 LLM 客户端暴露统一接口。
    • 多客户端适配:提供对 Claude Desktop、Cursor、Cline、Continue 等 MCP 客户端的对接示例与配置指引,支持 STDIO 与 HTTP 两种传输模式。
    • 资源管理与数据访问:通过 DataService/ParserService 提供新闻源标题、平台数据、以及历史记录的统一访问接口,支持平台筛选与日期范围查询。
    • 工具集成与分析能力:包含数据查询、新闻搜索、趋势分析、情感分析、相似新闻查找、摘要生成等 MCP 工具。
    • 配置与推送整合:结合 config.yaml、环境变量与多通道通知(飞书、钉钉、企业微信、Telegram、邮件、ntfy、Bark、Slack)实现集中化通知与报告输出。
    • AI 与分析能力(本地数据驱动):提供基于本地新闻数据的对话式分析、趋势分析、话题生命周期、以及数据洞察能力。
    • 部署与运行方式:提供 stdio/HTTP 两种传输、Docker/Compose 部署示例,以及本地构建/运行指南。
  • 安装步骤(简要)
    1. 获取源代码:将仓库克隆到本地或服务器。
    2. 安装依赖与准备环境:确保已安装 Python 3.x,安装所需依赖(见项目配置与 README 的依赖说明),准备配置文件。
    3. 配置与数据准备:根据需要编辑 config/config.yaml、config/frequency_words.txt,以及相关的环境变量,用于通知渠道、推送模式、平台配置等。
    4. 启动 MCP 服务器(两种传输模式任选其一):
      • STDIO 模式(开发/本地测试): 运行命令:python -m mcp_server.server --transport stdio
      • HTTP 模式(生产/对外 API): 运行命令:python -m mcp_server.server --transport http --host 0.0.0.0 --port 3333
    5. 客户端连接配置:参考下方的 MCP 客户端连接配置示例,将服务器作为一个工具服务器接入客户端。
  • 服务器配置(MCP 客户端需要使用的最低信息,JSON 格式示例,含字段说明)
    • server name: trendradar-news
    • command: uv
    • args: [ "--directory", "/path/to/TrendRadar", // TrendRadar 项目在本地的根目录路径 "run", "python", "-m", "mcp_server.server" ] 说明:
    • name(服务器名称)用于在 MCP 客户端注册时识别该服务器实例。
    • command(启动命令)通常为明确的启动程序,本实现给出典型的 stdio 启动方案使用 UV 作为进程管理器。
    • args(启动参数)包含项目路径、运行入口以及模块化启动参数,确保 MCP 客户端能正确启动服务器进程并建立通信。
      注:不同 MCP 客户端可能有不同的启动模板,以上信息结合本仓库实际实现给出准确的启动参数描述,客户端根据自己的需求进行相应配置即可。
  • 基本使用方法
    • 启动服务器后,采用 MCP 客户端(如 Claude Desktop、Cursor 等)接入,提供以下能力:
      • 数据查询与新闻检索:获取最新新闻、按日期查询新闻、平台对比等工具调用。
      • 趋势分析与情感分析:通过对话式接口触发趋势分析、情感分析,以及数据洞察。
      • 生成摘要与报告:将分析结果以 Markdown/HTML 的形式输出,便于集成到应用或页面。
    • 使用流程简述:
      1. 启动 TrendRadar 的 MCP 服务器(stdio/http 任一模式)。
      2. 在 MCP 客户端中配置服务器连接信息(名称、命令、参数等,如上文配置示例所示的 JSON 配置项)。
      3. 通过 MCP 客户端调用工具(如 get_latest_news、analyze_sentiment、search_news 等),服务器将按 MCP 协议返回 JSON-RPC 风格的响应。
      4. 如需多渠道通知或 HTML 报告,可按配置在 config.yaml/环境变量中开启通知渠道。

服务器信息