项目简介

NewsNow 是一个优雅的实时热门新闻聚合应用。它从多个新闻源抓取并整合信息,提供干净整洁的阅读界面。此外,NewsNow 后端实现了 Model Context Protocol (MCP) 服务器,允许大型语言模型 (LLM) 客户端通过标准协议访问新闻数据和执行相关操作。

主要功能点

  • 聚合来自多个来源的实时和热门新闻。
  • 提供优化的新闻阅读界面。
  • 支持用户登录(如 GitHub OAuth)进行数据同步和个性化设置。
  • 内置缓存机制,优化资源使用和响应速度。
  • 作为 MCP 服务器,通过 JSON-RPC 协议向 LLM 客户端提供:
    • 数据访问能力: LLM 可以获取托管的新闻资源。
    • 工具执行能力: LLM 可以调用预定义的工具(例如,根据来源ID获取最新的热门新闻)。

安装步骤

NewsNow 可以通过多种方式部署。最基本的部署方式包括:

  1. Fork 此 GitHub 仓库。
  2. 将 Fork 的仓库导入到支持前端和 Node.js 后端的平台,如 Cloudflare Pages 或 Vercel。
  3. 根据需要配置环境变量(如 GitHub OAuth 相关的客户端 ID 和 Secret),用于开启用户登录和数据同步功能。
  4. 配置数据库(推荐 Cloudflare D1 或其他支持的数据库),用于存储用户数据和缓存。

详细的部署步骤请参考仓库的 'README.md' 文件。

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

MCP 客户端需要知道如何连接和启动 NewsNow MCP 服务器。根据仓库的配置信息,一个典型的 MCP 服务器启动配置如下:

{
  "mcpServers": {
    "newsnow": {
      "command": "npx", // 用于启动服务器的命令
      "args": [
        "-y",
        "newsnow-mcp-server" // 启动 NewsNow MCP 服务器的包名称
      ],
      "env": {
        "BASE_URL": "https://newsnow.busiyi.world" // 服务器运行的基础URL,根据实际部署地址修改
      }
    }
  }
}

LLM 客户端可以使用 'npx -y newsnow-mcp-server' 命令来启动 NewsNow MCP 服务器进程,并通过标准输入/输出来与服务器进行 JSON-RPC 通信。'BASE_URL' 环境变量需要设置为实际部署的 NewsNow 应用的 URL,以便 MCP 服务器能够调用后端 API 获取数据。

基本使用方法

对于普通用户: 直接访问部署好的 NewsNow 网站 URL,即可浏览聚合的新闻内容。可以选择不同的分类或来源。登录用户可以收藏来源、同步配置等。

对于 LLM 客户端开发者: 配置 MCP 客户端连接到 NewsNow MCP 服务器。通过 JSON-RPC 调用服务器暴露的 MCP 工具,例如调用 'get_hotest_latest_news' 工具并提供来源 ID (id) 和数量 (count) 参数,即可获取指定来源的最新或热门新闻列表。服务器会返回符合 MCP 规范的响应。

信息

分类

AI与计算