mcpField
B
bluesky-daily-mcp

bluesky-daily-mcp

本地服务
briangershon.com社交媒体078 周前更新

关于 bluesky-daily-mcp

bluesky-daily-mcp 是一个面向 Bluesky 用户的 MCP 服务,用于整理关注账号每日发布的内容并呈现值得关注的话题。它会缓存当天帖子,并提供用于分析帖子的示例提示词。

主要功能

  1. 01获取关注账号某日帖子
  2. 02提供帖子分析提示词
  3. 03缓存每日帖子
  4. 04整合作者与帖子信息

适用场景

  1. 01回顾关注账号昨日动态
  2. 02分析指定日期的 Bluesky 帖子
  3. 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;
};
Bluesky 帖子可视化摘要

限制

  • 此工具会检索指定日期关注列表中的所有帖子。数据量可能会变得很大,随后 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 帖子”(或你想查询的任意日期)
在 Claude Desktop 中使用 MCP 服务

贡献者指南

在本地运行以进行开发

使用以下内容设置本地 .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 分支后:

  1. 在本地运行 git checkout main && git pull
  2. 运行 npm version patch # 或 minor,或 major
  3. 运行 git push --follow-tags
  4. GitHub 会自动创建并发布一个版本

评论

支持 Markdown

第一次接触 MCP?

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

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