astock MCP 服务器

让豆包与 WorkBuddy 直接读 / 写 / 删 GitHub 仓库文件,令牌不下发到任何客户端

服务信息

端点POST /mcp(MCP Streamable HTTP,JSON-RPC 2.0)
协议版本2024-11-05 / 2025-06-18(回显客户端请求值)
仓库dqlvxy/astock-recs-bot @ main(唯一可操作对象)
鉴权Authorization: Bearer <MCP_TOKEN>,缺失返回 401
运行模式读取中…

8 个工具(仓库文件读写)

本服务只负责仓库文件读写删。协作中枢(项目状态 / 交接日志 / 聊天摘要 / 产物索引)与 Actions 只读在 https://astock-mcp.pages.dev/api/mcp,四端需同时装两条。

工具作用模式
statusHEAD 提交、最近 5 次提交、关键文件大小与缓存版本号只读
list_dir列目录,含文件大小只读
read_file读文本文件,超 300KB 自动截断只读
search_in_file单文件内搜关键词,返回行号与上下文只读
list_commits最近提交列表只读
write_file新建或覆盖文件,自动取旧 sha写入
delete_file删除文件删除
append_log往 collab-log.md 变更记录顶部追加一行写入

硬性护栏(代码层拦截,客户端绕不过)

  1. 禁止写 .github/workflows/** —— GitHub 侧要 workflow 权限,只有 repo 权限时回 404,容易误判成路径错误
  2. 写 recs.json / today.json / watch.json / review_log.json / params.json 需显式传 allow_data_file: true
  3. 路径禁止 .. 穿越与绝对路径
  4. 禁止删除 collab-entry.md / collab-rules.md / collab-log.md

在豆包里接入

  1. 打开豆包工作 → 左侧「技能 · 连接器 · 伙伴」→ 右上角「新建」→「新建自定义连接器」
  2. 服务器名称填 astock-mcp
  3. 传输类型选 Streamable HTTP
  4. 服务器 URL 填 https://astock-file-mcp.pages.dev/mcp
  5. 自定义 Headers 加一行:Authorization = Bearer <MCP_TOKEN>
  6. 保存后问它「调 status 看看仓库现状」,能返回提交列表即接通