The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Newsintel listing page.
Personalized news intelligence for AI agents, MCP integrations, and developer workflows.
20+ sources. Real-time ranking. Agent-ready digests. Self-serve onboarding.
Try the Portal • API Reference • MCP Server • Architecture • Contributing
Most news APIs give you raw feeds. NewsIntel gives you intelligence — ranked, deduplicated, bias-aware briefings ready for AI consumption.
| Feature | Details | |
|---|---|---|
| News | Multi-source aggregation | RSS (20+ sources), GDELT, Guardian API, X following signals |
| AI | Agent-ready output | /briefing/agent endpoint + standalone MCP server |
| Ranking | Smart filtering | Bias diversity gates, source reliability scoring, recency weighting |
| Auth | Multi-workspace | Per-workspace API keys, dynamic key provisioning, X OAuth self-serve |
| Feedback | Learning loop | Like/skip/save/irrelevant signals influence future ranking |
| Ops | Production-ready | Prometheus metrics, Grafana dashboards, Sentry, OpenTelemetry |
For AI agents, use the MCP server for native tool integration.
The primary
docker-compose.ymlis safe-by-default: no built-in weak DB/Grafana credentials and no published Postgres/Redis ports. You still must replace theCHANGE_ME_*placeholders in.envbefore using it outside throwaway local testing.
For an all-in-one local stack with convenience defaults and published dev ports:
Local dev services: API
localhost:8090| Postgreslocalhost:5436| Redislocalhost:6386
Full reference: docs/api-reference.md | OpenAPI schema: GET /openapi.json
| Method | Endpoint | Auth | Description |
|---|---|---|---|
GET | /healthz | - | Liveness check |
GET | /readyz | - | Readiness (DB/Redis/queue) |
GET | /metrics | - | Prometheus metrics |
GET | /v1/briefing | Bearer | Personalized briefing |
GET | /v1/briefing/agent | Bearer | Agent-optimized digest |
GET | /v1/news/search | Bearer | Search & aggregate news |
POST | /v1/profile/sync | Bearer | Sync profile (manual/x-browser/x-api) |
POST | /v1/keys | Bearer | Provision dynamic API key |
GET | /v1/ops/status | Admin | Operational health dashboard |
Ships a standalone MCP server — plug into any MCP-compatible client:
Or add to your .mcp.json:
Tools: sync_profile | get_profile | get_news_briefing
See integrations/newsintel-mcp/README.md for full docs.
Build AI agents that use NewsIntel as a tool — examples in TypeScript and Python:
See examples/ for tool-use and agent patterns.
| Document | Description |
|---|---|
docs/architecture.md | System overview and data flow |
docs/api-reference.md | Endpoints, params, examples |
docs/configuration.md | Environment variables |
docs/observability.md | Metrics, logging, tracing |
docs/operations.md | Docker, hardening, troubleshooting |
SECURITY.md | Vulnerability reporting, credential rotation |
SUPPORT.md | Community support channels |
OpenAPI contract snapshot: npm run test:openapi-snapshot:update when schema changes.
See CONTRIBUTING.md for the full guide.
npm run lint && npm run typecheck && npm test && npm run buildSee docs/OPEN_SOURCE_ROADMAP.md for the full roadmap.
ISC - use it however you want.
Built with Fastify, TypeScript, PostgreSQL, Redis, and pg-boss.
Star the repo if NewsIntel helps your workflow.