The News Agent MCP Server is a lightweight, schema-backed capability engine designed for LLM-based agents. It provides structured and semi-structured information retrieval tools over a streamable HTTP interface, enabling agents to perform iterative research workflows.
This server is not intended to be exposed as a public API. Instead, it operates as an internal execution layer within a larger system, where orchestration, safety, and control are handled externally.
This MCP server is part of a modular LLM system with clear separation of responsibilities:
Agent (LLM Layer)
Handles reasoning, decision-making, and tool selection
MCP Server (This Repository)
Executes capabilities such as news retrieval and web scraping
Gateway Layer (Go-based)
Manages rate limiting, authentication, routing, and safety constraints
This separation ensures:
The server is intentionally designed with the following principles:
Minimal Core Engine
Focus only on capability execution, not orchestration or control
LLM-First Interface
All inputs and outputs are strings to ensure seamless integration with LLM agents
@tool decorators/mcpget_latest_news — Discovery LayerFetches recent news articles based on a given topic.
Input
topic (string)Output
Internally backed by a Pydantic model:
class Article(BaseModel):
article_id: Optional[str] = None
link: Optional[str] = None
title: Optional[str] = None
description: Optional[str] = None
creator: Optional[list[str]] = None
country: Optional[list[str]] = None
category: Optional[list[str]] = None
pubDate: Optional[str] = None
image_url: Optional[str] = None
source_url: Optional[str] = None
External Dependency:
Role:
## 6. Deep Research Pattern
This server is designed to support iterative research workflows:
Topic → News → URLs → Scrape → Extract Insights → Discover New URLs → Repeat (bounded)
This pattern enables agents to:
The MCP server provides the building blocks, while:
Input/Output Design
| Layer | Representation |
|---|---|
| Internal | Structured (Pydantic models) |
| External | Serialized strings |
Rationale
Environment Variables
NEWSDATA_API_KEY=your_api_key
FIRECRAWL_API_KEY=your_api_key
The server is containerized and can be run using Docker:
docker run -p <host_port>:<container_port> <image_name>
Endpoint
/mcp
This server intentionally avoids implementing:
These concerns are handled by the upstream gateway layer, allowing this service to remain:
Potential improvements include:
This MCP server is designed as a modular capability engine, not a full application. Its strength lies in:
It is best used as part of a larger system where reasoning, control, and safety are handled externally.
Tuhin Kumar Dutta
Pull requests and issues are welcome.
git clone https://github.com/tuhindutta/news-agent-mcp-server.git
DockerHub: https://hub.docker.com/r/tkdutta/news-agent-mcp-server