Back to MCP directory
publicPublicdnsLocal runtime

newsmcp_with_mediastackapi

一个基于FastMCP的新闻API服务器,通过Mediastack新闻API提供获取最新新闻和新闻源的工具,支持多种过滤选项,可部署于Smithery.ai等MCP兼容平台。

article

README

🚀 Mediastack新闻MCP服务器

这是一个FastMCP服务器,它将Mediastack新闻API以MCP(模型上下文协议)工具的形式对外提供。该服务器可作为Smithery.ai或其他任何支持MCP的代理平台的即插即用后端。

🚀 快速开始

本服务器可将Mediastack新闻API转换为MCP工具,为支持MCP的平台提供新闻数据服务。你可以按照以下步骤进行安装和配置。

✨ 主要特性

  • get_latest_news:可获取最新的新闻报道,并提供多种过滤选项。
  • get_sources:列出可用的新闻来源,并具备过滤功能。

📦 安装指南

  1. 克隆此仓库:
    git clone <repository-url>
    cd NewsMCP_with_MediastackAPI
    
  2. 安装所需的Python包:
    pip install -r requirements.txt
    

🔧 配置说明

此服务器需要Mediastack API密钥才能正常工作。

  1. mediastack.com 获取免费的API密钥。
  2. 在项目的根目录下创建一个名为 .env 的文件。
  3. 按以下格式将你的API密钥添加到该文件中:
    MEDIASTACK_API_KEY=your_api_key_here
    

当调用工具时,服务器将自动加载此环境变量。

💻 使用示例

本地运行

要启动MCP服务器,请运行以下命令:

python server.py

默认情况下,服务器将在 http://0.0.0.0:8080 上启动。

可用工具

1. get_latest_news

从Mediastack获取最新的新闻报道。 参数说明:

  • keywords(可选):用于过滤新闻的搜索词。
  • sources(可选):新闻来源,用逗号分隔(例如:"cnn,bbc")。
  • countries(可选):国家代码,用逗号分隔(例如:"us,gb")。
  • languages(可选):语言代码,用逗号分隔(例如:"en,fr")。
  • categories(可选):新闻类别,用逗号分隔。
  • date(可选):特定日期或日期范围(YYYY - MM - DD)。
  • sort(可选):排序顺序(published_descpublished_ascpopularity)。
  • limit(可选):返回结果的最大数量(默认值:25,最大值:100)。
  • offset(可选):分页偏移量。

2. get_sources

列出Mediastack上可用的新闻来源。 参数说明:

  • search(可选):用于过滤来源的搜索词。
  • sources(可选):特定来源,用逗号分隔。
  • countries(可选):国家代码,用逗号分隔。
  • languages(可选):语言代码,用逗号分隔。
  • categories(可选):新闻类别,用逗号分隔。
  • limit(可选):返回结果的最大数量(默认值:25,最大值:100)。
  • offset(可选):分页偏移量。

在Smithery.ai上部署

  1. 将此仓库推送到GitHub。
  2. 将你的GitHub仓库连接到Smithery.ai。
  3. Smithery将自动检测 smithery.yaml 配置。
  4. 在Smithery的环境变量中设置你的 MEDIASTACK_API_KEY
  5. 部署并开始使用MCP工具。 如需更多信息,请访问 Smithery.ai文档

📚 详细文档

项目结构

.
├── app.py           # MCP工具定义
├── server.py        # FastMCP服务器设置
├── requirements.txt # Python依赖项
├── smithery.yaml    # Smithery部署配置
├── Dockerfile       # 构建Docker镜像的说明
├── LICENSE          # 项目许可证
├── .env             # (本地)环境变量
└── README.md        # 本文件

📄 许可证

本项目采用 MIT许可证 授权。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client