News MCP Server
A FastMCP server that exposes news tools powered by the GNews API.
What this project does
This server provides two MCP tools:
search_news(...)to search articles by keyword and filterstop_headlines(...)to fetch current top stories by category
Requirements
- Python 3.14+
uv- A GNews API key
Setup
- Install dependencies
uv sync
- Create a
.envfile in the project root with your API key:
GNEWS_API_KEY=your_gnews_api_key_here
- Start the server
uv run python main.py
The server runs with the streamable-http transport.
Available tools
search_news
Search news articles with filters such as language, country, keywords, date range, and sorting.
Example:
search_news(q="OpenAI", lang="en", country="us", max=5)
top_headlines
Get top headlines for a category such as general, business, technology, health, and more.
Example:
top_headlines(category="technology", country="us", max=5)
Debugging with MCP Inspector
- Start the Inspector:
npx @modelcontextprotocol/inspector
- Connect using the
streamable-httptransport.
- Use the server URL:
http://127.0.0.1:8000/mcp
If your local port differs, adjust the URL accordingly.
VS Code MCP configuration
You can connect this server to VS Code by adding a configuration similar to the following to your MCP settings:
{
"servers": {
"news-mcp-server": {
"type": "http",
"url": "http://127.0.0.1:8000/mcp"
}
}
}
Troubleshooting
- Make sure
GNEWS_API_KEYis set correctly in your.envfile. - Confirm the server is running before connecting from the inspector or VS Code.
- If the inspector cannot connect, verify that the server URL includes
/mcp.












