Skip to main content
Glama

FeedWatch MCP

RSS/Atom 变更监控 API + MCP Server 当前阶段:验证期准备(判定线:8 周内 5 个真实付费用户)

🌐 English version: README.en.md · 中文在下方


从这里开始

你想了解

看这份

整个项目长什么样

📐 项目蓝图

开发要做什么

💻 软件开发需求说明书

客户怎么用它

📖 用户说明书

买服务器 + 部署

🖥️ 服务器采购与部署手册

注册海外公司

🏢 海外公司注册与维护手册

收款开通(Payoneer)

💳 Payoneer 收款链接操作手册

收款怎么配(通用)

💰 收款与运营手册

为什么这么选

📋 决策记录-收款与主体

改完代码要跑什么

🧪 回归测试要求点清单

踩过什么坑

🔍 调试复盘

上线要查什么

✅ 上线检查清单

状态字段什么意思

🔢 状态字段语义

⚠️ 改代码前先看「回归测试要求点清单」 —— 里面有 89 项离线测试的覆盖现状、 19 项已知缺口、以及已证伪的 4 处错误「已验证」。 不要只看测试名声称覆盖了什么,要看它实际断言了什么。


Related MCP server: feed-reader-mcp

一句话说明

客户把 RSS/Atom/JSON Feed 的网址交给我们,我们替他们盯着;内容变了就主动推送, 并精确告诉他哪个字段、从什么变成什么。

核心差异:竞品多数只能报"新增条目",我们能检测已有条目被修改并给出字段级 diff—— 新闻更正错字、竞品悄悄改价格,这些都不产生新条目,但恰恰是客户最需要知道的。


文档体系(四层结构)

docs/
├── 架构/         【第 1 层】顶层设计
│   └── 项目蓝图.md                整个项目 + 架构 + 外部资源 + 阶段路线
│
├── 需求/         【第 2 层】做什么
│   ├── 软件开发需求说明书.md功能清单 + 验收标准 + 需求来源
│   └── 用户说明书.md                客户视角的产品说明与使用场景
│
├── 运营手册/     【第 3 层】怎么操作
│   ├── 服务器采购与部署手册.md       选型对比 + Vultr 注册购买 + Linux 部署
│   ├── 海外公司注册与维护手册.md     香港公司注册 + 银行开户 + 后续维护
│   ├── Payoneer收款链接操作手册.md   ⭐ 验证期收款开通(注意:非 Checkout)
│   ├── 收款与运营手册.md            付费时机 + 收款配置 + 排障(第三部分已废弃)
│   └── 部署配置与待办-Windows方案.md (已弃用,保留参考)
│
├── 决策/         【第 4 层】为什么这么选
│   └── 决策记录-收款与主体.md       平台选型 + 主体时间线 + 被排除项(含 v2 纠错)
│
└── 复盘/         【第 5 层】经验沉淀
    ├── 回归测试要求点清单.md         ⭐ 89 项测试覆盖现状 + 19 项缺口 + 最小回归集
    ├── 调试复盘.md                 10 个缺陷 + 5 条交付规范 + 失误归因
    ├── 上线检查清单.md             三阶段 checklist + B1–B6
    ├── 状态字段语义.md             三状态正交表 + 错误码判读
    └── 事故复盘/
        └── 2026-10-13-www站点500事故复盘.md

分层判断标准

层

回答什么问题

变更频率

架构

整个项目长什么样

很少(季度级)

需求

做什么功能、验收标准

中(月级)

运营手册

怎么一步步做

高(跟着平台变化)

决策

为什么这么选、为什么排除别的

低(决策后很少变)

复盘

踩过什么坑、教训是什么

追加式

⚠️ 常见错误:把"为什么选 A 不选 B"写进运营手册。 平台会变(被收购、改费率),手册不会自动更新 —— 一份三个月前正确的手册,今天可能把人导向一个用不了的平台。


快速开始(开发者)

npm install
HOST=127.0.0.1 PORT=3001 PUBLIC_URL=https://api.tiici.com \
  FEEDWATCH_BOOTSTRAP_KEY=<至少32位随机> \
  npm start
curl http://127.0.0.1:3001/health

⚠️ Bind to 127.0.0.1, never 0.0.0.0. Put Nginx (or any reverse proxy) in front so TLS, access logs and WAF are not bypassed.

测试

npm test              # 87 项离线测试(5 个套件)
npm run test:live     # 28 项真实源测试(需出网)

技术栈

运行时      Node.js 22 ESM
依赖        fast-xml-parser(唯一运行时依赖)
HTTP        node:http 原生(零框架)
部署        Linux + Nginx + systemd / Windows + IIS
测试        自建轻量断言框架(无 jest/vitest)
规模        2143 行 / 7 模块
测试规模    87 项离线全绿,全部经「回退法证伪」

为什么零框架依赖:便于跨环境(Linux/Windows)部署,减少供应链风险。


目录结构

06MCP/
├── src/
│   ├── server.js           HTTP 入口(REST + MCP),绑 127.0.0.1
│   ├── service.js          调度 · 抓取 · 比对 · 推送 + MemoryStore
│   ├── parser/feeds.js     三协议解析(RSS 2.0 / Atom 1.0 / JSON Feed)
│   ├── diff/engine.js      ★ 哈希粗筛 + 字段级 diff(核心差异化)
│   ├── notify/deliver.js   HMAC 签名 Webhook + 重试
│   ├── security/ssrf.js    SSRF 防护 + DNS 钉 IP + 出站代理
│   └── mcp/endpoint.js     MCP Streamable HTTP(3 工具)
├── scripts/                测试脚本(6 套件,87 项)
├── deploy/                 部署脚本
│   ├── deploy-linux.sh     Linux 一键部署
│   ├── *.cmd               Windows 部署脚本
│   └── bind-cert-safe.ps1  加固版证书绑定
├── docs/                   四层文档体系
└── deliverables/gstack/    审查报告

当前状态

✅ 已就绪

源码        2143 行 / 7 模块
测试        87 项离线全绿 + 27 项真实源通过
安全        10 个缺陷全修 + 三层防护(云防火墙 / ufw / Nginx+TLS,3001 不暴露公网)
服务器      Vultr 167.179.112.40 已部署(Tokyo / $5/月 / Ubuntu 24.04.5)
运行        feedwatch.service active+enabled,Node v22.23.3,实测 RSS 93 MB
证书        api.tiici.com 已签发(至2027-01-13,自动续期已 dry-run 验证)
落地页      https://api.tiici.com/ 已上线(web/index.html,27 KB)
部署脚本    Linux 一键部署 + 落地页部署 + 云防火墙 + Windows 部署 + 证书一键签发
文档        四层体系 + 复盘 826 行

⏳ 待办

#

事项

负责

阻塞什么

1

Payoneer 个人账户 + 收款链接(非 Checkout)

徐总

收款

2

咨询税务师(第 3 周)

徐总

后续合规

3

免费层配额落地(当前上限 50,需降到 3)

我

撞墙推销时机

4

TTL 调回 300

徐总

—

5

www / game 证书续签

我

⚠️ 10-29 到期,10-23 前

⏸️暂缓:海外公司注册 —— 验证期不需要,确定要接 Checkout 2.0 / Stripe 时再办

⚠️ 紧急:www.tiici.com 与 game.tiici.com 证书 2026-10-29 到期, 需在 10-23 前用一键工具续发:

PY=/Users/jiayongxu/.workbuddy/binaries/python/envs/default/bin/python3
S=~/.workbuddy/skills/iis-acme-cert/scripts/iis_cert.py
$PY $S --host 47.116.215.156 --user nadmin --domain game.tiici.com \
       --site WordMaster --webroot 'C:\WebServer\单词大师\前端'

核心判定线

指标

目标

真实付费用户

≥ 5 个(8 周内)

推送准确率/漏报率

< 1%

转化率(免费→付费)

> 5%

⚠️ 不要用"技术跑通"当判定 —— 要有人掏钱。技术跑通只是必要条件。


⚠️ 两条给后续接手者的提醒

① 不要只看文档里的「已验证」三个字

本次审查里,团队成员至少 5 次写了「已验证」而结论后来被推翻。 可靠的方式是:临时把修复改回去,看测试会不会红。

② 声称「X 会失败」前,先证明 X 在应该成功时确实成功

只测失败路径无法区分「X 有问题」和「工具有问题」。


遇到问题先看 docs/复盘/调试复盘.md —— 那里记录了 10 个真实缺陷与它们被发现的经过, 避免重复踩坑。

完整审查报告:deliverables/gstack/pre-launch-review-feedwatch-2026-10-12.md

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Professional RSS/Atom feed management system with AI-powered analytics including sentiment analysis, trend detection, auto-categorization, cross-source verification, automated scheduling, and content export capabilities.
    2
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables evidence-bearing change monitoring for public text pages, providing normalized diffing, SHA-256 hashing, and signed webhook notifications.
    MIT