newsroom-mcp
Uses the Algolia Search API to fetch Hacker News items for ingestion into the news curation pipeline.
Ingests AI-related content from Hugging Face's RSS/Atom feed for curation into stories.
Ingests AI-related content from OpenAI's RSS/Atom feed for curation into stories.
Ingests AI-related content from RSS/Atom feeds and makes it available for the news curation and ranking workflow.
Ingests AI-related content from TechCrunch AI's RSS/Atom feed for curation into stories.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@newsroom-mcpfetch the latest AI news and show me today's top stories"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
newsroom-mcp
A private AI news curation MCP server. It ingests AI-related content from RSS/Atom feeds and Hacker News, and exposes MCP tools that let an AI agent cluster that content into curated "stories" and read back a ranked feed — without the server itself making any relevance, clustering, summarization, or ranking decisions. See IDEA.md for the original design spec.
Quick start
npm install
cp .env.example .env # optional — sensible defaults exist without one
npm run dev # serves http://localhost:3000/mcp + the InspectorTwo ways to run the server — pick whichever fits your client:
HTTP (default) —
npm run dev/npm run start. Point a client athttp://localhost:3000/mcp. Requires the server to stay running.stdio —
npm run start:stdio(or configure your MCP client to runnpx tsx stdio.tsdirectly). The client spawns the process itself, so nothing needs to be kept running in the background. Both entrypoints share the same tool registrations (src/composition.ts) and the same SQLite database.
Related MCP server: gnews-agent
Connecting an MCP client
HTTP
Requires npm run dev (or npm run start) already running on port 3000.
claude mcp add (creates/updates .mcp.json):
claude mcp add --transport http newsroom-mcp http://localhost:3000/mcpEquivalent .mcp.json:
{
"mcpServers": {
"newsroom-mcp": {
"type": "http",
"url": "http://localhost:3000/mcp"
}
}
}stdio
No server needs to be running — Claude spawns the process itself and kills it when the session ends.
claude mcp add:
claude mcp add newsroom-mcp -- npx tsx /absolute/path/to/newsroom-mcp/stdio.tsEquivalent .mcp.json:
{
"mcpServers": {
"newsroom-mcp": {
"command": "npx",
"args": ["tsx", "/absolute/path/to/newsroom-mcp/stdio.ts"]
}
}
}stdio.ts resolves its working directory relative to itself, so the command
works from anywhere — but npx tsx still needs to run with this repo's
node_modules in scope, hence the absolute path rather than a relative one.
MCP Tools
Tool | Purpose |
| Poll every configured provider, store new items, and archive stories stale 30+ days. |
| List content awaiting AI triage (items older than 1 week are excluded). |
| List active stories as clustering candidates. |
| Create a story from one or more content items. |
| Attach an item to an existing story. |
| Update a story's AI-maintained summary/scores. |
| Finalize an irrelevant item so it's never reconsidered. |
| Retrieve the curated feed as stories, hiding anything stale 7+ days and decaying the rest by recency. |
Full details, including the contribution freshness rule, in
docs/mcp-tools.md.
Content sources
RSS/Atom — curated AI-news feeds (OpenAI, DeepMind, Hugging Face, TechCrunch AI, VentureBeat AI, MIT AI, Anthropic, xAI, and more); see
src/config/providers.ts.Hacker News — via the Algolia search API, query configurable via
NEWSROOM_HN_QUERY.
More on each provider's incremental-fetch strategy in docs/providers.md.
Feed site
The curated feed is also published as a standalone read-only site (GitHub
Pages, served from the feed branch), a Vite React app (site/) sharing
its story-card UI with the in-app get-feed MCP View via views/_shared/feed/.
npm run build:site builds it; .github/workflows/deploy-feed-site.yml
deploys it to the feed branch's GitHub Pages root on every main push
touching site/**/views/_shared/**. The feed.json data it reads is
published separately by npm run publish-feed after a curation run.
Development
npm run lint # ESLint
npm run test # Vitest: unit + protocol tests, no network
NEWSROOM_LIVE_TESTS=1 npm run test:live # opt-in live sanity tests against real APIs
npm run typecheck # mcp-use typecheck
npm run verify # lint + test + typecheck
npm run build # build with mcp-useTesting strategy explained in docs/testing.md. Architecture and layering in docs/architecture.md. SQLite schema in docs/sqlite-schema.md.
Environment variables
See .env.example for the full list (NEWSROOM_DB_PATH,
NEWSROOM_LOG_LEVEL, NEWSROOM_HN_QUERY, NEWSROOM_FETCH_TIMEOUT_MS,
NEWSROOM_LIVE_TESTS). None are required — every var has a working default.
Project layout
src/domain/ plain interfaces/types, no logic
src/providers/ one ContentProvider per source + the registry
src/repositories/ persistence interfaces (no SQL)
src/sqlite/ node:sqlite-backed repositories + migrations
src/services/ business rules (IngestionService, StoryService, FeedService)
src/tools/ MCP tool registration, Zod schemas, serialization
src/config.ts env var loading
src/config/providers.ts curated provider list
test/unit/ fast, no-network tests
test/mcp-server.test.ts protocol-level test against the real server
test/live/ opt-in live sanity tests
docs/ architecture, providers, schema, tools, testing guides
views/_shared/feed/ story-card UI shared by the MCP View and the standalone site
site/ standalone Vite React feed site (fed by published feed.json)This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Your curated sources (RSS, YouTube, podcasts, Google News) as context for any AI agent. 26 tools.
The only News based AI MCP your agents will ever need — custom categories, global regions, and time-scoped results in one tool. We use multi-vector & sparse-hybrid search to search through thousands of articles across the world to find the exact news you're looking for.
Intelligence subscription protocol for AI agents. Scored, filtered AI intelligence signals via MCP.
Agent-first tech news: ranked story clusters, coverage and discussion links, trends, and events.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceProvides access to curated AI news feeds and the ability to fetch and normalize any RSS/Atom/RDF feed, enabling AI agents to consume up-to-date content.16MIT
- AlicenseNot gradedqualityBmaintenanceA persistent news intelligence MCP server that enables AI agents to fetch, store, deduplicate, embed, and semantically query news from Google News across 141 countries and 41 languages.8MIT
- FlicenseNot gradedqualityCmaintenanceLocal MCP server that ingests and normalizes recent AI, tech, and research news from multiple sources, exposing tools for media agents to query and retrieve article content on demand.
- AlicenseNot gradedqualityBmaintenanceMCP server that aggregates AI news, academic papers from ArXiv, and trending GitHub repositories from multiple sources, enabling users to fetch, search, and filter recent AI content via natural language.1MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/asafmor/newsroom-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server