article
README
🚀 Mediastack新闻MCP服务器
这是一个FastMCP服务器,它将Mediastack新闻API以MCP(模型上下文协议)工具的形式对外提供。该服务器可作为Smithery.ai或其他任何支持MCP的代理平台的即插即用后端。
🚀 快速开始
本服务器可将Mediastack新闻API转换为MCP工具,为支持MCP的平台提供新闻数据服务。你可以按照以下步骤进行安装和配置。
✨ 主要特性
get_latest_news:可获取最新的新闻报道,并提供多种过滤选项。get_sources:列出可用的新闻来源,并具备过滤功能。
📦 安装指南
- 克隆此仓库:
git clone <repository-url> cd NewsMCP_with_MediastackAPI - 安装所需的Python包:
pip install -r requirements.txt
🔧 配置说明
此服务器需要Mediastack API密钥才能正常工作。
- 从 mediastack.com 获取免费的API密钥。
- 在项目的根目录下创建一个名为
.env的文件。 - 按以下格式将你的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_desc、published_asc、popularity)。limit(可选):返回结果的最大数量(默认值:25,最大值:100)。offset(可选):分页偏移量。
2. get_sources
列出Mediastack上可用的新闻来源。 参数说明:
search(可选):用于过滤来源的搜索词。sources(可选):特定来源,用逗号分隔。countries(可选):国家代码,用逗号分隔。languages(可选):语言代码,用逗号分隔。categories(可选):新闻类别,用逗号分隔。limit(可选):返回结果的最大数量(默认值:25,最大值:100)。offset(可选):分页偏移量。
在Smithery.ai上部署
- 将此仓库推送到GitHub。
- 将你的GitHub仓库连接到Smithery.ai。
- Smithery将自动检测
smithery.yaml配置。 - 在Smithery的环境变量中设置你的
MEDIASTACK_API_KEY。 - 部署并开始使用MCP工具。 如需更多信息,请访问 Smithery.ai文档。
📚 详细文档
项目结构
.
├── app.py # MCP工具定义
├── server.py # FastMCP服务器设置
├── requirements.txt # Python依赖项
├── smithery.yaml # Smithery部署配置
├── Dockerfile # 构建Docker镜像的说明
├── LICENSE # 项目许可证
├── .env # (本地)环境变量
└── README.md # 本文件
📄 许可证
本项目采用 MIT许可证 授权。
微信扫一扫