返回 MCP 目录
public公开dns本地运行

milestoner

一个帮助开发者分享编程里程碑的MCP服务器,通过自动提取Git历史记录生成适合社交平台的更新内容,支持Bluesky等平台。

article

README

🚀 Milestoner

Milestoner是一款MCP服务器,它能帮助开发者在无需切换上下文的情况下,分享他们公开构建的历程。它会从git历史记录中提取上下文信息,并助力为社交平台生成里程碑更新内容。

🚀 快速开始

当你在编码过程中达成一个里程碑时,你可以让你的AI助手起草并发布更新内容。Milestoner会自动提取你的git上下文信息,并协助生成适合平台的内容。

✨ 主要特性

  • 自动提取上下文:自动从git历史记录中提取上下文信息,无需手动整理。
  • 多平台支持:目前支持Bluesky平台,且设计上可扩展支持更多平台。
  • AI辅助操作:借助AI助手完成草稿起草、发布、调度等操作。

📦 安装指南

使用uv(推荐)

# 克隆仓库
git clone https://github.com/J3r3my97/milestoner.git
cd milestoner

# 使用uv安装
uv pip install -e .

使用pip

pip install -e .

💻 使用示例

查看工作成果

> "What have I done this week that's worth posting about?"

AI助手会使用list_activity工具,按天展示你最近的提交记录。

起草更新内容

> "Draft a post about the authentication feature I just shipped"

AI助手会使用draft_update工具获取git上下文信息,然后为你生成一篇待审核的帖子。

发布更新内容

> "Post that update to Bluesky"

AI助手会使用post_update工具发布你的内容,并返回一个指向已发布帖子的链接。

安排最佳发布时间

> "Schedule this post for the best time today"

AI助手会使用schedule_post工具,设置use_optimal_time: true,将你的帖子安排在最佳互动时间发布(例如周三上午10点、工作日上午)。

查看最佳发布时间

> "When's the best time to post today?"

AI助手会使用get_optimal_times工具,根据互动研究结果为你展示最佳发布时间。

📚 详细文档

工具说明

list_activity

展示近期可用于发布的git活动。 输入参数

  • repo_path(可选):git仓库的路径,默认为当前目录。
  • since(可选):追溯的时间范围,默认为“7 days”。

draft_update

获取起草社交媒体帖子所需的结构化上下文信息。 输入参数

  • context(可选):关注的内容(例如“just shipped auth”)。
  • style(可选):语气风格 - casual(随意)、announcement(公告)、technical(技术)、storytelling(叙事)。
  • repo_path(可选):git仓库的路径。
  • commit_range(可选):特定的提交范围(例如“abc123..def456”或“last 5”)。
  • platform(可选):目标平台(默认为已配置的默认平台)。

post_update

将内容发布到社交平台。 输入参数

  • content(必需):要发布的内容。
  • platform(可选):目标平台(默认为已配置的默认平台)。

configure

为平台设置凭证。 输入参数

  • platform(必需):要配置的平台(例如“bluesky”)。
  • handle:你在平台上的用户名。
  • app_password:用于身份验证的应用密码。
  • set_default(可选):将此平台设置为默认平台(默认值:true)。

schedule_post

安排帖子在最佳时间发布。 输入参数

  • content(必需):要发布的内容。
  • scheduled_for(可选):发布的ISO日期时间(例如“2025-01-15T10:00:00”)。
  • platform(可选):目标平台(默认为已配置的默认平台)。
  • use_optimal_time(可选):安排在下次最佳发布时间发布。

list_scheduled_posts

列出所有待发布的定时帖子和即将到来的最佳发布时间。

cancel_scheduled_post

取消已安排的帖子。 输入参数

  • post_id(必需):要取消的定时帖子的ID。

get_optimal_times

根据互动研究结果获取最佳发布时间。返回:

  • 当前时间质量评估。
  • 今天和明天的推荐发布时间。
  • 本周最佳时间(周三上午10点)。
  • 应避免的时间。

资源链接

milestoner://config

当前配置状态和平台连接状态。

milestoner://recent-posts

通过Milestoner发布的帖子历史记录。

配置存储

凭证信息存储在~/.milestoner/config.json文件中,文件权限为600。帖子历史记录存储在~/.milestoner/post-history.json文件中。

添加新平台

Milestoner旨在支持多个平台。要添加新平台,请按以下步骤操作:

  1. src/milestoner/platforms/目录下创建一个新文件(例如twitter.py)。
  2. 实现Platform抽象基类。
  3. src/milestoner/platforms/registry.py文件中将新平台添加到注册表中。

具体实现示例可参考src/milestoner/platforms/bluesky.py文件。

📄 许可证

本项目采用MIT许可证。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端