Skip to main content
Glama

Mediastack News MCP Server

by rftsngl
README.md•3.42 kB
# 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: ```bash git clone <repository-url> cd NewsMCP_with_MediastackAPI ``` 2. Install the required Python packages: ```bash pip install -r requirements.txt ``` ## āš™ļø Configuration This server requires a Mediastack API key to function. 1. Get a free API key from [mediastack.com](https://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: ```bash 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](https://smithery.ai/docs). ## šŸ“‚ 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](LICENSE).

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