mcpField
M
MCP server for working with AWS Blog and News articles

MCP server for working with AWS Blog and News articles

本地服务
github.com/mirecekd云与基础设施05 周前更新

关于 MCP server for working with AWS Blog and News articles

这是一个通过 api.aws-news.com 获取 AWS 博客和新闻的 MCP 服务,面向需要检索或筛选 AWS 内容的用户。它支持按日期、类别和文章类型过滤,并可提取 AWS 网站文章全文。

主要功能

  1. 01按日期筛选文章
  2. 02按类别和类型过滤
  3. 03搜索文章标题及链接信息
  4. 04获取 AWS 文章全文
  5. 05文章列表缓存 5 分钟

适用场景

  1. 01查找当天发布的 AWS 新闻
  2. 02筛选某类别的近期博客
  3. 03搜索 AWS 文章主题
  4. 04提取文章全文供后续处理

MCP 相关

该 MCP 服务通过 SSE 暴露文章检索工具,包括日期和类别筛选、搜索、类别列表及全文获取。文章数据来自公开 API;仅支持下载 aws.amazon.com 上的文章全文。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"awsblogs": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/mirecekd/awsblogs-mcp"
]
}
}
}
启动命令docker run -i --rm ghcr.io/mirecekd/awsblogs-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocighcr.io/mirecekd/awsblogs-mcp

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

AWS Blogs MCP Server

用于处理来自 api.aws-news.com 的 AWS 博客和新闻文章的 MCP 服务。

"Buy Me A Coffee" "PayPal.me"

描述

此 MCP 服务提供用于检索和筛选所有 AWS 类别中的 AWS 博客文章和新闻的工具。该服务使用 FastMCP 框架构建,完全采用异步方式(async/await),并支持在端口 8807 上使用 SSE 传输。数据从公共 API 获取,并使用 aiohttp 和 BeautifulSoup 处理。

架构

  • 入口点: main_sse.py – 设置环境并启动服务。
  • 服务: src/awsblogs_mcp_server/server_sse.py – 定义所有 MCP 工具、处理参数解析并运行 FastMCP 服务。
  • 数据处理器: src/awsblogs_mcp_server/data_processor.py – 负责 API 通信、筛选、缓存和 HTML 解析。
  • 缓存: 文章列表使用内存缓存(5 分钟);搜索查询除外,每次都会获取最新数据。
  • 验证: 验证输入参数的类型、是否存在以及(在相关情况下)格式。仅支持从 AWS 文章(aws.amazon.com)下载完整内容。

可用的 MCP 工具

1. get_todays_posts

获取今天发布的文章。

参数:

  • post_type:“News”、“Blog”或“Both”(默认值)
  • limit:文章数量上限(默认值为 20)
2. get_posts_by_date

获取指定日期范围内的文章。

参数:

  • from_date:起始日期,格式为 YYYY-MM-DD(可选)
  • to_date:结束日期,格式为 YYYY-MM-DD(可选)
  • days_back:距今天的天数(可替代 from_date)
  • post_type:“News”、“Blog”或“Both”(默认值)
  • limit:文章数量上限(默认值为 50)
3. get_posts_by_category

获取指定类别中的文章。

参数:

  • category:类别名称(例如,“Big Data”、“Machine Learning”、“Industries”)
  • post_type:“News”、“Blog”或“Both”(默认值)
  • days_back:距今天的天数(默认值为 30)
  • limit:文章数量上限(默认值为 30)
4. search_posts

使用 API 的搜索功能按文本查询搜索文章(搜索标题、URL 和 slug)。

参数:

  • query:搜索查询(搜索标题、URL 和 slug)
  • post_type:“News”、“Blog”或“Both”(默认值)
  • days_back:距今天的天数(默认值为 90)
  • limit:文章数量上限(默认值为 25)

注意: 搜索查询始终获取最新数据,不使用缓存。

5. get_categories

获取所有可用文章类别的列表。

6. get_latest_posts

获取最新文章。

参数:

  • post_type:“News”、“Blog”或“Both”(默认值)
  • limit:文章数量上限(默认值为 20)
  • days_back:距今天的天数(默认值为 7)
7. get_popular_posts

获取热门文章(标记为 popular=true)。

参数:

  • post_type:“News”、“Blog”或“Both”(默认值)
  • days_back:距今天的天数(默认值为 30)
  • limit:文章数量上限(默认值为 15)
8. get_article_content

从给定 URL 下载完整文章内容。

参数:

  • url:文章 URL(必须来自 aws.amazon.com)

返回值:

  • title:文章标题
  • content:完整文章文本
  • description:元描述
  • author:作者(如果有)
  • published_date:发布日期
  • content_length:内容字符数
  • word_count:字数

注意: 仅支持从 AWS 文章(aws.amazon.com)下载完整内容。

可用类别

服务器支持按以下类别筛选:

  • 架构
  • AWS 云运营
  • AWS 游戏
  • AWS 洞察
  • AWS Marketplace
  • AWS 新闻
  • AWS 合作伙伴网络
  • AWS 智能业务
  • 大数据
  • 商业智能
  • 业务效率
  • 云企业战略
  • 云财务管理
  • 计算
  • 联系中心
  • 容器
  • 数据库
  • 桌面与应用流式传输
  • 开发者工具
  • DevOps 与开发者效率
  • 前端 Web 与移动
  • HPC
  • IBM 和 Red Hat
  • 行业
  • 集成与自动化
  • 物联网
  • 机器学习
  • 媒体
  • 消息传递与定向
  • AWS 上的 Microsoft 工作负载
  • 迁移与现代化
  • AWS 上的 .NET
  • 网络与内容分发
  • 开源
  • 公共部门
  • 量子计算
  • SAP
  • 安全
  • 空间计算
  • 初创公司
  • 存储
  • 供应链与物流
  • 培训与认证

缓存

  • 文章列表会在内存中缓存 5 分钟(搜索查询除外)。
  • 搜索查询始终从 API 获取最新数据。
  • 缓存会在超时后或参数变更时自动失效。

安装与运行

Docker(推荐)
  1. 从 GitHub Container Registry 运行:

    docker run -p 8807:8807 ghcr.io/mirecekd/awsblogs-mcp
    
  2. 在本地构建 Docker 镜像:

    chmod +x build.sh
    ./build.sh
    
  3. 使用 docker-compose 运行:

    docker-compose up awsblogs-mcp-sse
    
  4. 或在本地构建 Docker:

    docker run -p 8807:8807 awsblogs-mcp-server:sse
    
本地开发
  1. 安装依赖:

    pip install -e .
    
  2. 运行服务器:

    python main_sse.py --host 0.0.0.0 --port 8807
    

MCP 客户端配置

若要在 MCP 客户端(例如 Cline)中使用,请将以下内容添加到配置中:

{
  "mcpServers": {
    "awsblogs": {
      "type": "sse",
      "url": "http://localhost:8807/sse/"
    }
  }
}

API 端点

服务器使用公共 API:https://api.aws-news.com/articles

功能

  • ✅ 在 8807 端口上使用 SSE 传输
  • ✅ 按文章类型筛选(新闻/博客)
  • ✅ 按类别筛选
  • ✅ 日期筛选(日期范围、往前追溯天数)
  • ✅ 文本搜索(由 API 提供支持)
  • ✅ 缓存机制(5 分钟,搜索除外)
  • ✅ 结构化响应
  • ✅ 支持 Docker
  • ✅ 异步架构(aiohttp、FastMCP)
  • ✅ 使用 BeautifulSoup 解析 HTML

项目结构

awsblogs-mcp/
├── src/awsblogs_mcp_server/
│   ├── __init__.py
│   ├── server_sse.py          # SSE MCP server (tools, server logic)
│   └── data_processor.py      # API client, filtering, caching, HTML parsing
├── main_sse.py               # SSE entry point
├── Dockerfile.sse            # Docker image for SSE
├── docker-compose.yml        # Docker Compose configuration
├── build.sh                  # Build script
├── pyproject.toml            # Python project configuration
├── README.md                 # This file
└── assets/
    ├── aws_blogs.png
    └── n8n-workflow.json

开发

开发时建议:

  1. Fork 此代码仓库
  2. 为该功能创建新分支
  3. 使用 python main_sse.py 在本地测试
  4. 使用 ./build.sh 测试 Docker 构建
  5. 创建拉取请求

许可证

MIT License - 请参阅 LICENSE 文件。

作者

Miroslav Dvořák ([email protected])

使用示例

N8N 工作流集成

此 MCP 服务可以轻松集成到 N8N 工作流中,用于自动处理 AWS 新闻并发送通知。

N8N 中的 AWS Blogs MCP

上方截图展示了一个实际应用中的 N8N 工作流,其中 AWS Blogs MCP 服务作为工具供 AI Agent 使用。该工作流由以下部分组成:

  1. 聊天触发器 - 接收用户消息
  2. AI Agent - 使用 Azure OpenAI 处理请求
  3. AWS Blogs MCP 工具 - 根据用户查询获取 AWS 文章
  4. 记忆缓冲区 - 保留对话上下文

N8N 工作流示例: 完整的 N8N 工作流配置见 ./assets/n8n-workflow.json

实际工作方式:

  • 用户提问:“Show me latest AWS articles about Machine Learning”
  • AI Agent 使用 MCP 服务调用 search_posts,查询“Machine Learning”
  • 服务器返回相关的 AWS 机器学习文章,包括标题、URL 和摘要
  • AI Agent 为用户整理响应,并附上可点击的链接
  • 保留对话上下文,以便回答后续问题

此集成支持通过自然语言与 AWS 内容交互,让用户能够借助对话式 AI 轻松了解 AWS 的最新动态。

灵感来源

本项目的灵感来自 jritsema 的 aws-news-mcp-server。

支持

如果这个工具对你有帮助,可以支持其开发:

"Buy Me A Coffee" "PayPal.me"

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。