Newsintel

io.github.stabem由 GitHub 账号 stabem 发布v0.1.0更新于 Oct 24, 2026

Personalized news intelligence for AI agents — 100+ sources, ranked briefings.

概览

AI 生成的概览

NewsIntel 的 MCP 服务器,让助手获取跨多来源、经排序与去重后的新闻简报和搜索结果。

可以做什么
同步用户偏好设置,让后续简报按个人兴趣排序。读取当前的偏好设置内容。获取个性化新闻简报与面向代理的摘要。通过后端 API 搜索并聚合多来源新闻。
适用场景
当你希望助手不必自行爬梳多个新闻来源,就能取得已排序、去重并兼顾立场多样性的新闻简报时使用。适合每日摘要、主题追踪,以及需要结构化新闻输入的代理工作流。
运行要求
以本地 Node.js 进程运行(npm 包,stdio 传输)。需连接 NewsIntel API,默认 newsintelapi.com,可用 NEWSINTEL_API_BASE 环境变量指向自建实例。托管 API 需在门户网站用 X 账号登录获取 API 密钥。
安装前请注意
需提供 NewsIntel API 密钥,请妥善保管。同步偏好设置会把个性化数据发送至 NewsIntel 服务。新闻内容来自第三方来源(RSS、GDELT、Guardian、X),准确性与立场需自行判断。自建时须先替换 .env 中的 CHANGE_ME_* 占位符并生成强密钥。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Newsintel,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README


[NewsIntel API]

    _   __                 ____      __       __     ___    ____  ____   / | / /__ _      _____|  _/___  / /____  / /    /   |  / __ \/  _/  /  |/ / _ \ | /| / / __|/ // _ \/ __/ _ \/ /    / /| | / /_/ // / / /|  /  __/ |/ |/ /\__ \ // ___/ /_/  __/ /    / ___ |/ ____// //_/ |_/\___/|__/|__//___/___/\___/\__/\___/_/    /_/  |_/_/   /___/

Personalized news intelligence for AI agents, MCP integrations, and developer workflows.
20+ sources. Real-time ranking. Agent-ready digests. Self-serve onboarding.

[CI] [License: ISC] [TypeScript] [Node] [Docker]
[MCP] [Biome] [PRs Welcome] [Good First Issues]

Try the Portal  •  API Reference  •  MCP Server  •  Architecture  •  Contributing


Why NewsIntel?

Most news APIs give you raw feeds. NewsIntel gives you intelligence — ranked, deduplicated, bias-aware briefings ready for AI consumption.

  • For AI agents: get structured briefings via MCP or REST in one call
  • For developers: self-serve API keys, OpenAPI schema, Prometheus metrics out of the box
  • For teams: multi-workspace isolation, feedback-driven ranking, Grafana dashboards
bash
# Get a personalized briefing in 10 secondscurl -sS "https://newsintelapi.com/v1/briefing?format=digest&limit=6" \  -H "Authorization: Bearer <YOUR_API_KEY>"

Features

 INGEST           PROCESS              DELIVER             OBSERVE ------           -------              -------             ------- RSS (20+)  -->  Dedup & Normalize    REST API            Prometheus GDELT       -->  Bias-aware ranking   Agent digests       Grafana Guardian    -->  Topic inference      MCP server          Sentry X signals   -->  Feedback loop        Self-serve portal   OpenTelemetry
FeatureDetails
NewsMulti-source aggregationRSS (20+ sources), GDELT, Guardian API, X following signals
AIAgent-ready output/briefing/agent endpoint + standalone MCP server
RankingSmart filteringBias diversity gates, source reliability scoring, recency weighting
AuthMulti-workspacePer-workspace API keys, dynamic key provisioning, X OAuth self-serve
FeedbackLearning loopLike/skip/save/irrelevant signals influence future ranking
OpsProduction-readyPrometheus metrics, Grafana dashboards, Sentry, OpenTelemetry

Quickstart

Option A: Use the hosted API (recommended)

  1. Open newsintelapi.com/portal
  2. Connect with X (OAuth) and get your API key
  3. Start making requests

For AI agents, use the MCP server for native tool integration.

Option B: Self-host with Docker (safe baseline)

bash
git clone https://github.com/stabem/newsintel-api.git && cd newsintel-apicp .env.example .env# REQUIRED before first run: replace all CHANGE_ME_* placeholders in .env# example internal DB URL: postgresql://newsintel:<strong-password>@postgres:5432/newsintel# generate strong secrets, e.g.:#   API_KEYS=$(openssl rand -hex 24)#   OPS_ADMIN_KEY=$(openssl rand -hex 32)#   TOKEN_ENCRYPTION_SECRET=$(openssl rand -hex 32)
docker compose up --build -d
# Verifycurl -sS http://localhost:8090/healthz

The primary docker-compose.yml is safe-by-default: no built-in weak DB/Grafana credentials and no published Postgres/Redis ports. You still must replace the CHANGE_ME_* placeholders in .env before using it outside throwaway local testing.

Option C: Local development

bash
npm ci && cp .env.example .env# For local dev, replace the CHANGE_ME_* placeholders with local-only values first.docker compose -f docker-compose.yml -f docker-compose.dev.yml up -d postgres redisnpm run migrate:up && npm run dev

For an all-in-one local stack with convenience defaults and published dev ports:

bash
docker compose -f docker-compose.yml -f docker-compose.dev.yml up --build -d

Local dev services: API localhost:8090 | Postgres localhost:5436 | Redis localhost:6386

API Overview

Full reference: docs/api-reference.md | OpenAPI schema: GET /openapi.json

MethodEndpointAuthDescription
GET/healthz-Liveness check
GET/readyz-Readiness (DB/Redis/queue)
GET/metrics-Prometheus metrics
GET/v1/briefingBearerPersonalized briefing
GET/v1/briefing/agentBearerAgent-optimized digest
GET/v1/news/searchBearerSearch & aggregate news
POST/v1/profile/syncBearerSync profile (manual/x-browser/x-api)
POST/v1/keysBearerProvision dynamic API key
GET/v1/ops/statusAdminOperational health dashboard

AI Integration

MCP Server (for Claude Desktop, Cursor, Windsurf, etc.)

Ships a standalone MCP server — plug into any MCP-compatible client:

bash
cd integrations/newsintel-mcp && npm install

Or add to your .mcp.json:

json
{  "mcpServers": {    "newsintel": {      "command": "node",      "args": ["integrations/newsintel-mcp/server.mjs"],      "env": { "NEWSINTEL_API_BASE": "https://newsintelapi.com" }    }  }}

Tools: sync_profile | get_profile | get_news_briefing

See integrations/newsintel-mcp/README.md for full docs.

Anthropic SDK (tool use + agents)

Build AI agents that use NewsIntel as a tool — examples in TypeScript and Python:

bash
# TypeScript — agentic loopcd examples/agent-sdk-typescript && npm installANTHROPIC_API_KEY=sk-... NEWSINTEL_API_KEY=ni_live_... npx tsx agent.ts
# Python — agentic loopcd examples/agent-sdk-python && pip install -r requirements.txtANTHROPIC_API_KEY=sk-... NEWSINTEL_API_KEY=ni_live_... python agent.py

See examples/ for tool-use and agent patterns.

Architecture

                     +------------------+                     |   Self-serve     |                     |   Portal (HTML)  |                     +--------+---------+                              |  AI Agents (MCP) --+        |        +-- Prometheus                    |        v        |                    +-> [ Fastify ] <--+-- Grafana                    |   [ API    ]    |                    +-> [ Server ] <--+-- Sentry                        +---+---+                            |            +-------+-------+-------+-------+            |       |       |       |       |          RSS    GDELT  Guardian  X API   pg-boss         (20+)                           (queue)            |       |       |       |       |            +-------+-------+---+---+-------+                                |                    +-----------+-----------+                    |                       |                PostgreSQL              Redis              (profiles, news,       (briefing cache,               feedback, jobs)        enrichment cache)

Documentation

DocumentDescription
docs/architecture.mdSystem overview and data flow
docs/api-reference.mdEndpoints, params, examples
docs/configuration.mdEnvironment variables
docs/observability.mdMetrics, logging, tracing
docs/operations.mdDocker, hardening, troubleshooting
SECURITY.mdVulnerability reporting, credential rotation
SUPPORT.mdCommunity support channels

Development

bash
npm run lint         # Biome linternpm run typecheck    # TypeScript type checkingnpm test             # Full test suite (127 tests)npm run build        # Compile to dist/

OpenAPI contract snapshot: npm run test:openapi-snapshot:update when schema changes.

Contributing

See CONTRIBUTING.md for the full guide.

  1. Fork and create a feature branch
  2. Make scoped changes with tests
  3. Run: npm run lint && npm run typecheck && npm test && npm run build
  4. Open a PR linking the issue

Roadmap

See docs/OPEN_SOURCE_ROADMAP.md for the full roadmap.

  • Source registry: file-based -> DB-managed
  • News persistence: optimize bulk inserts
  • API pagination and richer query semantics
  • Plugin system for custom news providers

Star History

[Star History]

License

ISC - use it however you want.


Built with Fastify, TypeScript, PostgreSQL, Redis, and pg-boss.
Star the repo if NewsIntel helps your workflow.

来源:README.md,提交 0f8ca9e

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.0最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分