项目简介
NewsNow 是一个优雅的实时热门新闻聚合应用。它从多个新闻源抓取并整合信息,提供干净整洁的阅读界面。此外,NewsNow 后端实现了 Model Context Protocol (MCP) 服务器,允许大型语言模型 (LLM) 客户端通过标准协议访问新闻数据和执行相关操作。
主要功能点
- 聚合来自多个来源的实时和热门新闻。
- 提供优化的新闻阅读界面。
- 支持用户登录(如 GitHub OAuth)进行数据同步和个性化设置。
- 内置缓存机制,优化资源使用和响应速度。
- 作为 MCP 服务器,通过 JSON-RPC 协议向 LLM 客户端提供:
- 数据访问能力: LLM 可以获取托管的新闻资源。
- 工具执行能力: LLM 可以调用预定义的工具(例如,根据来源ID获取最新的热门新闻)。
安装步骤
NewsNow 可以通过多种方式部署。最基本的部署方式包括:
- Fork 此 GitHub 仓库。
- 将 Fork 的仓库导入到支持前端和 Node.js 后端的平台,如 Cloudflare Pages 或 Vercel。
- 根据需要配置环境变量(如 GitHub OAuth 相关的客户端 ID 和 Secret),用于开启用户登录和数据同步功能。
- 配置数据库(推荐 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与计算