Skip to main content
Glama
jaij52

news-mcp-server

by jaij52

news-mcp-server

A FastAPI-based MCP server that exposes NewsAPI.org as structured tools via fastapi-mcp.

Endpoints / MCP Tools

Route

Operation ID (MCP tool name)

Description

GET /api/headlines

get_top_headlines

Top headlines filtered by country, category, or source

GET /api/search

search_news_articles

Full-text article search with date range and sort options

GET /api/trending

get_trending_news

Most-read stories right now, filtered by language

GET /api/sources

get_news_sources

Browse available publishers by category, language, country

Related MCP server: gnews-mcp-server

Setup

1. Get a NewsAPI key

Sign up at https://newsapi.org/register and copy your API key.

2. Configure environment

cp .env.example .env
# Edit .env and set NEWS_API_KEY=your_key_here

3. Install dependencies

pip install -e ".[dev]"

4. Run the server

uvicorn news_mcp.main:app --reload
# or
news-mcp

The server starts on http://localhost:8000.

  • Swagger UI: http://localhost:8000/docs

  • MCP endpoint: http://localhost:8000/mcp (auto-mounted by fastapi-mcp)

Use with Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "news": {
      "command": "uvicorn",
      "args": ["news_mcp.main:app", "--port", "8000"],
      "env": {
        "NEWS_API_KEY": "your_key_here"
      }
    }
  }
}

Running tests

pytest

Tests mock all NewsAPI HTTP calls — no real network traffic or API key required.

Project structure

src/news_mcp/
├── main.py          # App factory, MCP mount
├── config.py        # pydantic-settings config
├── models/
│   └── schemas.py   # All Pydantic request/response models
├── services/
│   └── news_service.py  # NewsAPI HTTP logic
└── routes/
    ├── headlines.py
    ├── search.py
    ├── trending.py
    └── sources.py
tests/
├── conftest.py
├── test_headlines.py
├── test_search.py
├── test_trending.py
└── test_sources.py
F
license - not found
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/jaij52/news-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server