Mediastack News MCP Server
A FastMCP server that exposes the Mediastack News API as MCP (Model Context Protocol) tools. This server can be used as a plug-and-play backend for Smithery.ai or any other MCP-compatible agent platform.
⨠Features
get_latest_news: Fetches the most recent news stories with various filtering options.get_sources: Lists available news sources with filtering capabilities.
š Installation
Clone this repository:
git clone <repository-url> cd NewsMCP_with_MediastackAPIInstall the required Python packages:
pip install -r requirements.txt
āļø Configuration
This server requires a Mediastack API key to function.
Get a free API key from mediastack.com.
Create a file named
.envin the project's root directory.Add your API key to this file in the following format:
MEDIASTACK_API_KEY=your_api_key_here
The server will automatically load this environment variable when a tool is called.
š» Running Locally
To start the MCP server, run the following command:
By default, the server will start on http://0.0.0.0:8080.
š ļø Available Tools
1. get_latest_news
Fetches the most recent news stories from Mediastack.
Parameters:
keywords(Optional): Search terms to filter news.sources(Optional): News sources, comma-separated (e.g., "cnn,bbc").countries(Optional): Country codes, comma-separated (e.g., "us,gb").languages(Optional): Language codes, comma-separated (e.g., "en,fr").categories(Optional): News categories, comma-separated.date(Optional): A specific date or date range (YYYY-MM-DD).sort(Optional): Sort order (published_desc,published_asc,popularity).limit(Optional): Maximum number of results to return (default: 25, max: 100).offset(Optional): Pagination offset.
2. get_sources
Lists available news sources from Mediastack.
Parameters:
search(Optional): A search term to filter sources.sources(Optional): Specific sources, comma-separated.countries(Optional): Country codes, comma-separated.languages(Optional): Language codes, comma-separated.categories(Optional): News categories, comma-separated.limit(Optional): Maximum number of results to return (default: 25, max: 100).offset(Optional): Pagination offset.
āļø Deployment on Smithery.ai
Push this repository to GitHub.
Connect your GitHub repository to Smithery.ai.
Smithery will automatically detect the
smithery.yamlconfiguration.Set your
MEDIASTACK_API_KEYin Smithery's environment variables.Deploy and start using the MCP tools.
For more information, visit the Smithery.ai Documentation.
š Project Structure
š License
This project is licensed under the MIT License.
This server cannot be installed