Skip to main content
Glama

Mediastack News MCP Server

by rftsngl

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

  1. Clone this repository:

    git clone <repository-url> cd NewsMCP_with_MediastackAPI
  2. Install the required Python packages:

    pip install -r requirements.txt

āš™ļø Configuration

This server requires a Mediastack API key to function.

  1. Get a free API key from mediastack.com.

  2. Create a file named .env in the project's root directory.

  3. 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:

python server.py

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

  1. Push this repository to GitHub.

  2. Connect your GitHub repository to Smithery.ai.

  3. Smithery will automatically detect the smithery.yaml configuration.

  4. Set your MEDIASTACK_API_KEY in Smithery's environment variables.

  5. Deploy and start using the MCP tools.

For more information, visit the Smithery.ai Documentation.

šŸ“‚ Project Structure

. ā”œā”€ā”€ app.py # MCP tool definitions ā”œā”€ā”€ server.py # FastMCP server setup ā”œā”€ā”€ requirements.txt # Python dependencies ā”œā”€ā”€ smithery.yaml # Smithery deployment configuration ā”œā”€ā”€ Dockerfile # Instructions for building a Docker image ā”œā”€ā”€ LICENSE # Project license ā”œā”€ā”€ .env # (Local) Environment variables └── README.md # This file

šŸ“„ License

This project is licensed under the MIT License.

-
security - not tested
A
license - permissive license
-
quality - not tested

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/rftsngl/NewsMCP_with_MediastackAPI'

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