news-agent-mcp-server

🧠 News Agent MCP Server

1. Introduction

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.


2. System Role in Architecture

This MCP server is part of a modular LLM system with clear separation of responsibilities:

This separation ensures:


3. Design Philosophy

The server is intentionally designed with the following principles:


4. Architecture Overview


5. Capabilities

5.1 get_latest_news — Discovery Layer

Fetches recent news articles based on a given topic.

Input

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:


7. Interface Contract

Input/Output Design

Internal vs External Representation

Layer Representation
Internal Structured (Pydantic models)
External Serialized strings

Rationale


8. Setup & Deployment

Environment Variables

NEWSDATA_API_KEY=your_api_key
FIRECRAWL_API_KEY=your_api_key

Running with Docker

The server is containerized and can be run using Docker:

docker run -p <host_port>:<container_port> <image_name>

Endpoint

/mcp

9. Limitations (Intentional)

This server intentionally avoids implementing:

Why?

These concerns are handled by the upstream gateway layer, allowing this service to remain:


10. Future Enhancements

Potential improvements include:


Final Note

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.


👤 Maintainer

Tuhin Kumar Dutta


⭐ Contribute

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