关于 bluesky-daily-mcp
bluesky-daily-mcp 是一个面向 Bluesky 用户的 MCP 服务,用于整理关注账号每日发布的内容并呈现值得关注的话题。它会缓存当天帖子,并提供用于分析帖子的示例提示词。
主要功能
- 01获取关注账号某日帖子
- 02提供帖子分析提示词
- 03缓存每日帖子
- 04整合作者与帖子信息
适用场景
- 01回顾关注账号昨日动态
- 02分析指定日期的 Bluesky 帖子
- 03按本地时区界定帖子日期
MCP 相关
服务向 MCP 客户端提供按日期检索关注账号帖子的工具及分析提示词。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
bluesky-daily-mcp
一个 MCP 服务,可帮助你每天从关注列表中找出最有趣的话题。
如需了解使用示例,请访问《构建 MCP 服务来探索我的 Bluesky 动态》。
功能
- 一个用于检索指定日期关注列表中所有帖子的工具
- 用于分析帖子的示例提示词
- 缓存指定日期的帖子
关注列表和帖子通过 bsky-tldr npm 包检索。该包会(a)精简信息,仅保留关键字段;(b)确保只高效检索指定日期的帖子。
在此 MCP 服务中,我们添加了更具描述性的字段名称,并将作者和帖子信息合并,方便大模型使用:
type StandalonePost = {
urlToOriginalPost: string;
authorIdentifier: string;
authorNameOrHandle: string;
content: string;
links: string[];
isRepost: boolean;
};
限制
-
此工具会检索指定日期关注列表中的所有帖子。数据量可能会变得很大,随后 MCP 客户端或大模型的上下文窗口可能会截断帖子,导致你无法看到这些内容。需要采用其他策略来处理这一问题。
-
如果尝试检索历史日期(例如几周或几个月前)的帖子,你会遇到 Bluesky API 速率限制和/或超时。
bsky-tldr包足够智能,会在检索到指定日期之前停止获取更早的帖子,但在到达历史日期的过程中,仍需要检索所有较新的帖子。
安装
使用 MCP 客户端(例如 Claude Desktop)安装此 MCP 服务。
步骤如下:
👉 1. 配置。 对于 Claude Desktop,请将以下内容添加到 ~/Library/Application\ Support/Claude/claude_desktop_config.json(在 MacOS 上),以安装此 MCP 服务:
选项 A:从 NPM 包运行
注意:只有在使用 NVM 管理 Node.js 版本时,才需要将 PATH 指向运行 npx 的 /bin 文件夹的绝对路径。否则,你可能会看到难以排查的 “Header not set” 错误。使用 which npx 命令查找路径。
{
"mcpServers": [
"bluesky-daily-mcp": {
"command": "npx",
"args": ["-y", "bluesky-daily-mcp"],
"env": {
"PATH": "/absolute/path/to/npx/bin:/usr/bin:/bin",
"BLUESKY_HANDLE": "",
"BLUESKY_APP_PASSWORD": "",
"TIMEZONE_OFFSET": "-8",
"REQUEST_TIMEOUT_MS": "120000"
}
}
]
}
选项 B:克隆仓库并从源代码运行
先在克隆的仓库中构建 MCP 服务:
npm install
npm run build
注意:只有在使用 NVM 管理 Node.js 版本时,node 才需要 /absolute/path。否则,你可能会看到难以排查的 “Header not set” 错误。使用 which node 命令查找路径。
{
"mcpServers": [
"bluesky-daily-mcp": {
"command": "/absolute/path/to/node",
"args": ["/absolute/path/to/this/dist/index.js"],
"env": {
"BLUESKY_HANDLE": "",
"BLUESKY_APP_PASSWORD": "",
"TIMEZONE_OFFSET": "-8",
"REQUEST_TIMEOUT_MS": "120000"
}
}
]
}
这些环境变量是什么?
BLUESKY_HANDLE是你的 Bluesky 用户名,不带 @ 符号,例如your_handle.bsky.social或customdomain.com。BLUESKY_APP_PASSWORD是 Bluesky 应用密码,你可以在 Bluesky 应用密码设置页面生成。TIMEZONE_OFFSET是相对于 UTC 的时区偏移量,单位为小时。例如,PST 为-8,CST 为+8。这有助于定义对你而言“一天”的范围,因此不会将其硬编码为 UTC。REQUEST_TIMEOUT_MS是用于检索帖子的请求最长运行时间。若不设置,默认值约为 60 秒(60000 ms)。建议将其设为 2 分钟(120000 ms)。
👉 2. 重启 Claude Desktop,以加载新的 MCP 服务。
试试看
- 启动 Claude Desktop 并开始新对话
- 输入“检索昨天的 Bluesky 帖子”或“检索 4 月 2 日的 Bluesky 帖子”(或你想查询的任意日期)
贡献者指南
在本地运行以进行开发
使用以下内容设置本地 .env 文件:
BLUESKY_HANDLE=
BLUESKY_APP_PASSWORD=
TIMEZONE_OFFSET=
使用 MCP Inspector 调试:
npm install
npm run build && npx @modelcontextprotocol/inspector -e BLUESKY_HANDLE=XXX -e BLUESKY_APP_PASSWORD=XXX -e TIMEZONE_OFFSET=XXX node dist/index.js
```
Debug by viewing logs
```bash
tail -n 20 -F ~/Library/Logs/Claude/mcp-server-bluesky-daily-mcp.log
运行测试或生成覆盖率报告
npm test
npm run coverage
手动检索帖子
如果你想确认帖子检索代码能否使用你的 .env 正常运行,请执行:
npm run retrieve-posts
将软件包发布到 NPM 的步骤
将最新代码合并到 main 分支后:
- 在本地运行
git checkout main && git pull - 运行
npm version patch# 或 minor,或 major - 运行
git push --follow-tags - GitHub 会自动创建并发布一个版本
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。