内容获取器MCP
此MCP服务器从各种来源获取内容,包括YouTube、RSS提要和GitHub版本。它旨在与Goose合作,帮助跟踪和识别新内容。
特性
- 油管:从Goose YouTube频道获取视频
- 订阅:从任何RSS源(包括Goose博客)获取博客文章
- GitHub发布:从Block/Guese存储库获取发布
- 内容跟踪:跟踪看到的内容以识别新项目
- 跨机器持久性:将跟踪数据存储在
~/.config/goose/content-fetcher-mcp/
设置
- 请确保您已安装Node.js(建议使用版本14或更高版本)。
- 安装依赖项:
npm install- 构建项目:
npm run build运行MCP服务器
这是一个使用stdio传输的MCP服务器,旨在向Goose注册。
要直接启动服务器,请执行以下操作:
npm start对于自动重新加载的开发:
npm run dev在Goose注册
要在Goose中注册此MCP服务器,请将其添加到Goose配置中。服务器使用stdio传输,因此应在Goose设置中将其配置为本地MCP服务器。
可用工具
1.fetchYoutube
从Goose YouTube频道获取所有视频。
参数: 无
退货: 视频对象数组 id, title, url, published_at,以及 type: "video"
2.fetchRss
从任何RSS提要中获取所有博客文章。
参数:
url(字符串):RSS源URL
退货: 博客文章对象数组 id, title, url, published_at,以及 type: "blog"
3.fetchGoose博客
从Goose官方博客获取所有博客文章。
参数: 无
退货: 博客文章对象数组 id, title, url, published_at,以及 type: "blog"
4.fetchGithub发布
从Block/Guese GitHub存储库获取所有版本。
参数: 无
退货: 释放对象数组 id, title, url, published_at,以及 type: "release"
5.is-NewContent
检查以前是否见过内容项。
参数:
id(string):内容的唯一标识符type(enum):其中之一"youtube","blog",或"release"
退货: { "is_new": true/false }
6.标记内容已查看
将内容项标记为可见(通常在发布后)。
参数:
id(string):内容的唯一标识符type(enum):其中之一"youtube","blog",或"release"
退货: { "success": true }
运作原理
- 获取:获取工具从各自的源中检索所有可用内容
- 过滤:使用
isNewContent检查某个项目是否以前从未见过 - 追踪:处理新内容后,使用
markContentSeen将其标记为可见 - 持久性:看到的内容存储在
~/.config/goose/content-fetcher-mcp/last_seen.json
工作流示例
// 1. Fetch all YouTube videos
const videos = await fetchYoutube();
// 2. Check which ones are new
for (const video of videos) {
const result = await isNewContent({ id: video.id, type: "youtube" });
if (result.is_new) {
// Process the new video...
// 3. Mark as seen after processing
await markContentSeen({ id: video.id, type: "youtube" });
}
}配置
服务器预先配置了:
- YouTube频道:鹅道(
UCVLuT_AS687XAJ__-COCRFw) - 鹅博客RSS:
https://block.github.io/goose/blog/rss.xml - GitHub存储库:
block/goose
要自定义这些,请在中编辑常量 src/server.ts.
备注
- 服务器使用stdio传输,使其适合与Goose进行本地MCP集成
- 通过以下方式在重启过程中持续进行内容跟踪
last_seen.json文件 - 所有获取操作都返回完整的内容列表;“新”项目的筛选是通过以下方式单独完成的
isNewContent
未来改进
- 添加配置文件支持,以自定义频道、提要和存储库
- 实现速率限制和缓存以优化API的使用
- 添加更详细的日志记录和错误处理
- 支持其他内容源
- 一次检查多个项目的批处理操作
