NewsAPI MCP Server

NewsAPI MCP Server

Enables searching news, fetching top headlines, listing sources, and generating tech briefings via NewsAPI, with an optional browser frontend.

Category
Visit Server

README

NewsAPI MCP Server + Frontend POC

Two components:

  • mcp\_server.py — MCP server (stdio transport), connects Claude to NewsAPI
  • frontend.html — Standalone browser frontend, no install needed

---

Step 1 — Get your free NewsAPI key

  1. Go to https://newsapi.org/register
  2. Fill in name + email — takes 30 seconds
  3. Copy the API key shown on the dashboard
  4. 7ac03af867104a6096d1e320f49d5896

---

Step 2 — Install dependencies

pip install mcp httpx

That's all. No other packages needed.

---

Step 3 — Run the MCP server

# Set your key
export NEWS\_API\_KEY=your\_actual\_key\_here

# Run the server
python mcp\_server.py

The server listens on stdio (standard in/out). You'll see no output — that's correct. It's waiting for an MCP client to connect.

To test it works:

NEWS\_API\_KEY=your\_key python -c "
import asyncio, json, sys
sys.path.insert(0, '.')
import mcp\_server
print('Server module loaded OK — 4 tools registered')
"

---

Step 4 — Open the frontend

Just double-click frontend.html in your file manager, OR open it in your browser with:

# macOS
open frontend.html

# Linux
xdg-open frontend.html

# Windows
start frontend.html

Then:

  1. Paste your NewsAPI key into the sidebar
  2. Select a tool (search_news / get_top_headlines / get_sources / get_tech_briefing)
  3. Enter a query and click Run

---

Step 5 — Connect to Claude Desktop (optional)

Find your Claude Desktop config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Add this block (replace paths and key):

{
  "mcpServers": {
    "newsapi": {
      "command": "python",
      "args": \["/full/path/to/newsapi-mcp/mcp\_server.py"],
      "env": {
        "NEWS\_API\_KEY": "your\_actual\_key\_here"
      }
    }
  }
}

Restart Claude Desktop. You'll see "newsapi" appear in the tools menu.

Try asking Claude:

  • "Search for the latest news on ServiceNow MCP announcements"
  • "Get top technology headlines in the Netherlands"
  • "Give me an enterprise AI briefing from the last week"

---

MCP Tools Reference

Tool Description Key params
search_news Full-text search, 150k+ sources, last 5 years query, language, sort_by, page_size
get_top_headlines Live breaking news country, category, query
get_sources List available publishers category, language, country
get_tech_briefing Curated preset briefings topic (6 presets), custom_query

Briefing topic presets

Preset Query used
servicenow ServiceNow OR "service now" ITSM platform
enterprise_architecture enterprise architecture OR LeanIX OR TOGAF OR IT4IT
itsm ITSM OR "IT service management" OR helpdesk ticketing
ai_enterprise enterprise AI OR "generative AI" OR LLM OR MCP
heineken_beverage Heineken OR "beer market" OR FMCG beverage
cloud_azure Microsoft Azure OR "Azure West Europe" OR cloud infra

---

Free tier limits

  • 100 requests/day on the free developer plan
  • Results limited to articles from the last 30 days (upgrade for 5 years)
  • No commercial use on free tier

---

Project structure

newsapi-mcp/
├── mcp\_server.py    ← MCP server (run this on terminal)
├── frontend.html    ← Browser UI (open directly, no server needed)
└── README.md

---

Extending to other APIs

The pattern is the same for any REST API:

  1. Add a new Tool(name=..., inputSchema=...) in list\_tools()
  2. Add a handler block in call\_tool() that does await newsapi\_get(...) or any httpx call
  3. Return \[TextContent(type="text", text=json.dumps(result))]

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured