Token导航 LogoToken导航

MCP Server · 浏览器工具

The News API MCP Server

一个模块化、可扩展的新闻聚合后端服务,提供统一接口访问TheNewsAPI,支持高级过滤功能,专为AI代理消费设计。

stdio官方级别未说明来源级核验工具 0jest
后端开发结构化数据HTML新闻聚合

快速开始

作者 / 组织
Malachi-devel
提供方
Malachi-devel
运行时
Node.js

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

4

仓库热度

收录来源

1 个

MCP World

选型结论

The News API MCP Server 属于浏览器工具类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前要先准备 API Key。

分类

浏览器工具

传输方式

stdio

认证方式

API Key

部署方式

公开资料未说明

安装与配置

安装命令

npx jest path/to/test.ts

客户端配置示例

{
  "mcpServers": {
    "the-news-api-mcp-server": {
      "command": "npx",
      "args": [
        "jest",
        "path/to/test.ts"
      ]
    }
  }
}

按公开安装命令拼出来的示例,字段名和参数以仓库 README 为准;带 YOUR_API_KEY 这类占位符的位置记得换成自己的值。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Node.js,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

新闻聚合器API(MCP服务器)

使用MCP服务器约定和TypeScript构建的模块化、可扩展的新闻聚合后端。此API为TheNewsAPI提供了一个统一的接口,用于检索具有高级过滤功能的当前和历史新闻文章。此API专为人工智能代理消费而设计,优先考虑结构化数据和一致的模式。

特性

  • 统一API:访问新闻数据的一致界面
  • TypeScript:完全打字,开发可靠
  • MCP架构:可扩展的模块化设计,关注点分离
  • 多个端点:访问各种类型的新闻内容
  • 环境变量:安全配置管理
  • 错误处理:具有适当状态代码的一致错误格式
  • 过滤:支持各种过滤参数
  • 缓存:具有管理端点的智能缓存系统
  • 交互式文档:基于Swagger的API文档
  • AI友好响应:针对机器消耗优化的结构化数据

端点

新闻终点

端点描述示例
/api/news/top获取头条新闻/api/news/top?categories=business
/api/news/all通过高级搜索获取所有新闻/api/news/all?search=technology
/api/news/similar/:uuid获取与特定文章相似的文章/api/news/similar/cc11e3ab-ced0-4a42-9146-e426505e2e67
/api/news/uuid/:uuid通过UUID获取特定文章/api/news/uuid/cc11e3ab-ced0-4a42-9146-e426505e2e67
/api/news/sources获取可用的新闻来源/api/news/sources?language=en

缓存管理端点

端点描述示例
/api/cache/stats获取缓存统计信息/api/cache/stats
/api/cache/clear清除所有缓存DELETE /api/cache/clear
/api/cache/clear/:type按类型清除缓存DELETE /api/cache/clear/top

公用设施端点

端点描述
/health健康检查端点
/docs交互式API文档
/docs.jsonOpenAPI规范
/examples使用示例

测试

该项目实施了一项全面的测试策略,包括多层测试,以确保可靠性和正确性。

测试类型

  1. 单元测试

- 单个组件的隔离测试 - 模拟依赖关系,实现真正的单元隔离 - 专注于业务逻辑验证

  1. 控制器测试

- 使用模拟服务验证控制器行为 - 测试正确的请求处理和响应格式 - 确认错误处理模式一致

  1. 集成测试

- 测试完整的请求响应周期 - 使用超级测试验证API端点 - 模仿外部API对可靠性的要求

测试最佳实践

本项目遵循以下测试最佳实践:

  • 隔离 -测试不依赖于彼此或外部服务
  • 可重复的 -测试在任何环境下都会产生相同的结果
  • 快速 -模拟外部依赖关系可以提高测试效率
  • 全面的 -核心功能具有高测试覆盖率
  • 可维护性 -测试遵循一致的模式和结构

运行测试

# Run all tests
npm test

# Run tests with coverage
npm run test:coverage

# Run a specific test file
npx jest path/to/test.ts

安装

# Clone the repository
git clone 

# Install dependencies
npm install

# Set up environment variables
cp .env.example .env
# Edit .env file with your own API key and database URL

# Generate Prisma client
npx prisma generate

# Build the project
npm run build

# Start the server
npm start

配置

创建一个 .env 包含以下变量的文件:

# News Aggregator API Environment Variables

# API Configuration
NEWS_API_TOKEN=your_api_token_here

# Server Configuration
PORT=3000
NODE_ENV=development

# Database Configuration
DATABASE_URL="file:./dev.db"

数据库配置

默认情况下,该应用程序使用Prisma ORM和SQLite。这 DATABASE_URL 环境变量应该指向您的数据库文件。对于生产环境,您可以将其配置为使用PostgreSQL或MySQL。

发展

# Run in development mode with hot reload
npm run dev

# Run linting
npm run lint

# Run tests
npm test

测试基础设施

该项目包括一个使用Jest和Supertest构建的综合测试套件,涵盖API端点、数据库集成和服务器连接检查。

运行测试

# Run all tests
npm test

# Run only API endpoint tests
npm run test:api

# Run only database integration tests
npm run test:db

# Run tests with coverage report
npm run test:coverage

# Run tests in watch mode (for development)
npm run test:watch

# Check server connectivity
npm run check-server

测试结构

  • API端点测试:位于 src/__tests__/api/,这些测试验证所有API端点是否返回预期响应、正确处理错误并应用适当的筛选。
  • 数据库集成测试:位于 src/__tests__/database.test.ts,这些测试验证数据库连接、查询执行和事务支持。
  • 服务器连接脚本:位于 scripts/check-server.ts,此脚本测试与正在运行的服务器实例的连接,验证关键端点是否正常运行。

测试环境

测试使用由设置指定的单独环境配置 NODE_ENV=test这确保了测试不会干扰开发或生产环境。设置包括:

  • 自动建立和断开数据库连接
  • 在测试之间清除缓存以确保隔离
  • 服务器启动和关闭以进行端点测试

未来增强功能待办事项列表

优先事项1:基础改进

  • \[x\] 缓存系统

- 实现内存缓存 - 缓存经常访问的数据,如头条新闻和来源 - 添加缓存失效策略 - 为不同的内容类型配置TTL(生存时间) - 添加缓存管理端点

  • \[x\] 数据持久层

- 添加数据库集成(SQLite与Prisma) - 创建用于存储增强文章元数据的架构 - 实现数据访问的存储库模式 - 为架构更改添加迁移系统

  • \[x\] API文档

- 生成OpenAPI/Swagger规范 - 添加交互式API文档 - 为每个端点创建使用示例

API文档

API现在包括使用OpenAPI/Swagger的全面文档:

  • 交互式API文档:可在 /docs 服务器运行时
  • OpenAPI规范:JSON格式可在 /docs.json
  • 使用示例:可在 /examples 包含多种语言的代码示例

如何访问文档

  1. 使用启动服务器 npm run dev 或 npm start
  2. 打开浏览器 http://localhost:3000/docs 用于交互式Swagger UI
  3. 浏览可用端点、请求参数和响应格式
  4. 参考实施示例 http://localhost:3000/examples

API文档功能

  • 完整的端点描述,包括参数和响应类型
  • 直接测试端点的交互式“试用”功能
  • 请求/响应模式定义
  • API消费的代码片段
  • 与MCP服务器架构集成的示例

优先级2:安全与性能

  • \[ \] 身份验证和用户管理

- 实现基于JWT的身份验证 - 创建用户注册和登录端点 - 添加基于角色的访问控制 - 实施安全密码处理

  • \[ \] 速率限制

- 添加请求限制中间件 - 实施分层访问级别 - 制定公平使用政策 - 在响应中添加速率限制标头

  • \[ \] 监控和分析

- 设置请求日志记录和监控 - 添加性能指标集合 - 创建使用情况仪表板 - 实施错误跟踪和警报

优先级3:增强功能

  • \[ \] 内容处理

- 添加文本摘要功能 - 实现实体提取 - 添加情绪分析 - 创建源类别之外的主题分类 - 实现重复检测和分组

  • \[ \] 个性化

- 添加用户偏好跟踪 - 基于阅读历史创建个性化端点 - 实现主题跟踪功能 - 添加推荐引擎

  • \[ \] Webhooks和实时更新

- 实施 webhook 注册 - 创建基于事件的通知系统 - 添加SSE(服务器发送事件)以进行实时更新 - 实现主题订阅功能

贡献

欢迎对新闻聚合器API项目做出贡献!该项目旨在为那些对MCP服务器架构感兴趣的人提供一个友好、记录良好的代码库,特别是考虑到人工智能的消费。

如何做出贡献

  1. 分叉存储库
  2. 创建新功能分支(git checkout -b feature/amazing-feature)
  3. 进行更改
  4. 运行测试以确保一切正常(npm test)
  5. 提交您的更改(git commit -m 'Add some amazing feature')
  6. 推到分支(git push origin feature/amazing-feature)
  7. 打开拉取请求

代码的风格

请遵循项目中现有的代码样式和模式。此项目使用ESLint进行代码质量和格式设置。

安全考虑

在捐款时,请确保:

  • 没有API密钥或证书是硬编码的
  • 环境变量用于配置
  • 未记录敏感数据
  • 输入验证已正确实施

测试

所有新功能都应包括适当的测试。请遵循项目中现有的测试模式。

  • \[ \] 搜索历史记录和书签

- 添加已保存的搜索功能 - 实现文章书签 - 创建阅读历史跟踪 - 添加用户收藏功能

贡献

  1. 分叉存储库
  2. 创建特征分支: git checkout -b feature/my-new-feature
  3. 提交您的更改: git commit -am 'Add some feature'
  4. 推到分支: git push origin feature/my-new-feature
  5. 提交拉取请求

许可证

国际协调委员会

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

HTML本地部署新闻聚合API服务AI消费结构化数据后端开发

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

自动操作网页

打开页面、点击、填表,把浏览器动作交给模型执行。

抓结构化数据

把页面内容整理成表格或 JSON,省掉手工复制粘贴。

走一遍关键流程

按步骤检查页面是否正常,回归时少漏环节。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Node.js,换机器要重新装一遍。
  • 需要自备API Key,没有凭据没法直接试。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。

更适合

  • 需要在浏览器工具场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到API Key的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
The News API MCP Server

MCP World · 本页

0stdio有1 个2026-05-17
Fetch 9a2682de

MCP.so

1SSE有3 个2026-05-17
Browser 738d52bc

MCP World

0stdio有1 个2026-05-17
Playwright MCP Server

MCP.so

21stdio有4 个2026-05-17
Skyvern MCP

MCP World

0stdio有2 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

The News API MCP Server 怎么安装?

公开资料给出的安装命令是 npx jest path/to/test.ts,运行环境为 Node.js。装完后按客户端要求写进 MCP 配置,重启客户端生效。

The News API MCP Server 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Node.js;保存后完全退出客户端再打开,配置才会生效。

The News API MCP Server 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

The News API MCP Server 需要 API Key 吗?

公开资料标注的认证方式是API Key,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

The News API MCP Server 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP