mcpField
B
Boardsesh Climbing Logbook

Boardsesh Climbing Logbook

本地服务
github.com健康医疗05 周前更新

关于 Boardsesh Climbing Logbook

boardsesh-mcp 是面向 Boardsesh 攀岩日志的非官方只读 MCP 服务,适合希望分析多种攀岩板训练记录的用户。它可汇总进展、比较不同板型,并在提供可选凭据后启用路线推荐等功能。

主要功能

  1. 01汇总攀爬记录与训练次数
  2. 02按板型、角度和结果筛选记录
  3. 03比较不同板型的标准化等级
  4. 04分析等级分布与进步趋势
  5. 05凭据可选:搜索并推荐路线
  6. 06生成岩点使用热图

适用场景

  1. 01回顾最近训练并追踪长期进展
  2. 02比较 Kilter 与 Tension 的表现
  3. 03整理未完成项目并寻找相似路线
  4. 04根据水平筛选下一条尝试路线

MCP 相关

该 MCP 服务向 Agent 提供 Boardsesh 日志读取与分析工具;路线搜索、推荐、相似路线查找和岩点热图需要 Boardsesh 登录凭据。所有工具均为只读。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"wmmg101-boardsesh": {
"command": "uvx",
"args": [
"boardsesh-mcp"
],
"env": {
"BOARDSESH_USER": "<BOARDSESH_USER>",
"BOARDSESH_EMAIL": "<BOARDSESH_EMAIL>",
"BOARDSESH_PASSWORD": "<BOARDSESH_PASSWORD>",
"BOARDSESH_TIMEZONE": "<BOARDSESH_TIMEZONE>"
}
}
}
}
启动命令uvx boardsesh-mcp
需要配置的环境变量
BOARDSESH_USERYour Boardsesh display name or user id. No password needed.
BOARDSESH_EMAIL密钥Optional: Boardsesh account email, to unlock recommendations, search and the hold heatmap
BOARDSESH_PASSWORD密钥Optional: Boardsesh account password, used once to obtain a token
BOARDSESH_TIMEZONEIANA timezone for grouping climbs into days (default: host timezone)

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypiboardsesh-mcp0.1.0

工具

12

收录的工具列表 · 更新于 2 周前

此工具无需参数。

详细介绍

boardsesh-mcp

一个非官方的 MCP 服务,可让你的 AI Agent 读取并 分析你的 Boardsesh 攀岩日志,涵盖你攀爬过的所有岩板: Kilter、Tension、MoonBoard、Decoy、Touchstone、So iLL、Woods 和喷绘墙。

我上次训练状态如何? 我在 Kilter 上更强,还是在 Tension 上更强? 我在 40° 角度有哪些目标线? 以我目前的水平,接下来该尝试什么? 显示我的难度等级金字塔。我会避开什么类型的支点?

只读。绝不会向你的 Boardsesh 账户写入任何内容。

你无需提供密码。 Boardsesh 会公开你的攀岩日志,因此只需提供显示名称就能解锁大部分功能。凭据是可选的,只会解锁额外功能。

添加到你的 Agent

Kiro

打开 MCP 配置(命令面板 → Kiro: Open user MCP config (JSON)),并添加:

{
  "mcpServers": {
    "boardsesh": {
      "command": "uvx",
      "args": ["boardsesh-mcp"],
      "env": {
        "BOARDSESH_USER": "Your Boardsesh Display Name"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

全部设置就是这些。BOARDSESH_USER 是你 Boardsesh 个人资料中的显示名称(或者你也可以使用用户 ID)。需要安装 uv;其中包含 uvx。

其他客户端

所有客户端配置都只涉及三个内容:命令 uvx、参数 ["boardsesh-mcp"]、环境变量 BOARDSESH_USER。Claude Desktop、Claude Code、Codex、Cursor、VS Code、Windsurf、Gemini CLI 和 Zed 的配置示例见 docs/clients.md。

可选:解锁其余功能

有四个工具需要知道你使用的实体岩板配置(布局、尺寸、支点组),而 Boardsesh 只会向已登录的所有者提供这些信息。添加你的 Boardsesh 登录信息即可启用它们:

"env": {
  "BOARDSESH_USER": "Your Display Name",
  "BOARDSESH_EMAIL": "${BOARDSESH_EMAIL}",
  "BOARDSESH_PASSWORD": "${BOARDSESH_PASSWORD}"
}

这四个工具是 boardsesh_recommend_climbs、boardsesh_search_climbs、 boardsesh_find_similar_climbs 和 boardsesh_get_hold_heatmap。其他功能无需这些信息即可使用。请参阅如何设置环境变量。

可选:时区

训练记录会按你所在时区的日历日期分组,时区会根据运行服务的机器自动检测。如果检测结果不正确,请添加 "BOARDSESH_TIMEZONE": "Europe/Rome"(可使用任意 IANA 名称)。

示例问题

Summarise my Boardsesh logbook.
How did my last session go?
Compare my climbing on Kilter and Tension — where am I actually stronger?
What are my current projects, and which have I tried the most?
Show my grade pyramid and my flash rate per grade.
Have I improved over the last six months?
What should I try next at my level?
Find climbs similar to the one I sent yesterday.
Which holds show up most in climbs one grade above me?

Agent 可用的工具

只需设置 BOARDSESH_USER 即可使用:

工具返回内容
boardsesh_get_summary所有岩板的汇总数据:完攀次数、闪攀次数、训练次数、日期范围、最难完攀
boardsesh_get_ascents攀爬日志条目,可按岩板、角度、结果和日期范围筛选
boardsesh_get_sessions按日分组的训练记录
boardsesh_get_projects尝试过但从未完攀的线路,按岩板、线路和角度分类
boardsesh_compare_boards每块岩板一行,包含跨岩板标准化后的难度等级
boardsesh_get_grade_pyramid各难度等级的完攀次数及闪攀率
boardsesh_get_progression按月或按周统计的趋势
boardsesh_get_grades岩板的难度等级体系(难度 ID 对应的标签)

需要 BOARDSESH_EMAIL / BOARDSESH_PASSWORD:

工具返回内容
boardsesh_recommend_climbs接下来可以尝试的线路:适合你当前水平的、人气线路、隐藏佳作、新上线线路
boardsesh_search_climbs按名称、难度范围、基准线路、人气搜索线路目录
boardsesh_find_similar_climbs查找与指定线路使用相同支点的线路
boardsesh_get_hold_heatmap查看岩墙上的线路使用了哪些支点,以发现薄弱环节

数据的解读方式

  • 一条日志记录代表一次攀爬:在某个角度、某块板上、某个时间进行,并记录尝试次数。记录永远不会去重,因此同一条攀爬记录可能出现多次。
  • status 是权威信息:flash(第一次尝试即完成)、send(尝试多次后完成)或 attempt(未完成)。绝不会根据尝试次数推断状态。
  • 项目是你尝试过但尚未完成的 (board, climb, angle)。在另一个角度完成,不会将其移除。
  • grade 是板子自身的难度等级,difficulty_id 是原始 ID。不同板子的难度等级无法相互比较,因此 boardsesh_compare_boards 使用 boardsesh_grade——Boardsesh 的跨板归一化数值。如果 Boardsesh 的置信度没有真实攀爬记录作为依据,该值为 null。
  • “训练时段”是你所在时区的一个日历日。

安全与隐私

  • 默认设置下,没有可泄露的秘密:只配置你的公开显示名称,读取的所有信息都是你的 Boardsesh 个人资料已公开显示的内容。
  • 如果你添加凭据,它们只会用于从 Boardsesh 自己的登录端点获取令牌。令牌仅在进程运行期间保存在内存中,绝不会写入磁盘。
  • 凭据和令牌绝不会出现在工具输出、日志或错误消息中。
  • 服务仅与 ws.boardsesh.com 和 www.boardsesh.com 通信,不会收集遥测数据。
  • 所有工具均为只读,GraphQL 层只能发送一组固定且已固定的只读查询——不存在任何可能触发 mutation 的代码路径。
  • 无论 Agent 调用多少工具,你的日志每分钟最多只会获取一次。

排查问题时,请在设置相同环境变量的情况下运行 uvx boardsesh-mcp --check。它只会打印计数和配置信息,不会显示记录或秘密信息,因此可以安全地粘贴到问题报告中。

与 Boardsesh 和 kilter-mcp 的关系

Boardsesh 是一个开源(Apache-2.0)的板攀应用,可汇总多个板子的日志并提供 API。本项目是一个独立的 MCP 客户端,用于连接 Boardsesh,是应其维护者的建议构建的,但并非官方 Boardsesh 产品;这里的任何 Bug 都由我负责,与他们无关。

如果你只在 Kilter Board 上攀爬,且不使用 Boardsesh,kilter-mcp 可以直接连接 Kilter。若你使用不止一块板,boardsesh-mcp 是更好的选择,因为它可以比较不同板子。

贡献

欢迎提交问题和拉取请求——请参阅 CONTRIBUTING.md。安全问题请通过 SECURITY.md 报告。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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