用途
kilter-mcp 是一个非官方的 MCP(Model Context Protocol)服务器,让 AI 智能体能够读取并分析用户自己的 Kilter Board 攀岩日志。它面向希望用自然语言回顾训练数据的攀岩者,把日志中的会话、完攀、项目、难度金字塔、进步趋势和墙面角度对比等信息交给 AI 智能体来解读。
主要能力
配置完成后,智能体会获得一组 kilter_* 工具,全部为只读,且只能看到用户所配置凭据对应的账号。用户可以提出例如以下问题:
- 我上一次 Kilter 训练表现如何?
- 我在 30° 角度下当前的项目有哪些?
- 对比我在 20° 和 40° 的攀爬情况。
- 展示我的难度金字塔。
- 我最难的完攀线路是哪些?
- 我在进步吗?
数据解释方式:一条日志条目代表某一天、某个墙面角度下的一次攀爬,并包含该条目中的尝试次数;重新记录同一条线路会生成新条目。status 分为 flash(首次尝试即登顶)、send(登顶)或 attempt(未登顶)。项目(project)是指在某个角度下有尝试但未登顶的(线路, 角度)组合。难度采用 Kilter 当前对该线路在该角度下的一致评级,grade 为 V 级,font_grade 为 Font 级,同时始终包含原始 difficulty_id(1-39)。难度表在启动时从 Kilter 获取,并带有内置回退。如果用户在应用中自行评过级,my_grade 和 my_rating(1-5 星)会反映用户意见,否则为 null。日期按用户时区报告,一个会话即一个日历日。
使用方式
- 在 Kiro 中打开 MCP 配置:命令面板 → Kiro: Open user MCP config (JSON)(或工作区配置 .kiro/settings/mcp.json)。
- 添加该服务器。
- 提供 Kilter 凭据,两种方式任选:将 KILTER_USERNAME 和 KILTER_PASSWORD 设为环境变量(Kiro 会在 Settings → Mcp Approved Env Vars 中批准变量后展开 ${VAR}),或把 ${...} 占位符替换为字面值。仅应在用户配置(~/.kiro/settings/mcp.json)中这样做,绝不要放在可能被提交的工作区配置里。
- 保存后 Kiro 会启动服务器,kilter_* 工具出现,即可开始提问。
Kiro CLI 用户可使用:kiro-cli mcp add --name kilter --scope global --command uvx --args kilter-mcp --env KILTER_USERNAME=... --env KILTER_PASSWORD=...
要求:已安装 uv(uvx 随其提供),Python 由 uv 处理。
可选时区设置:会话按运行服务器所在机器检测到的时区以日历日分组。如果该时区不正确(例如远程或容器化主机),可在 env 块中添加 "KILTER_TIMEZONE": "Europe/Rome"(任意 IANA 名称)。每个响应都会说明所使用的时区。
kilter-mcp 是标准本地 MCP 服务器,因此也可用于 Claude Desktop、Claude Code、Codex、Cursor、VS Code、Windsurf、Gemini CLI 和 Zed;各客户端的复制粘贴配置见 docs/clients.md。ChatGPT 的聊天界面只接受远程 HTTP 服务器,因此不直接支持。
排查问题:在终端中导出相同变量后运行 uvx kilter-mcp --check,它会登录、统计日志条目并打印一份不含机密或条目的简短报告,可粘贴到 issue 中。
适用场景
适合希望用 AI 智能体回顾和分析自己 Kilter Board 训练数据的攀岩者,尤其是需要按角度对比表现、查看难度金字塔、追踪项目与进步趋势的场景。
限制
- 只读:不会向 Kilter 账号写入任何内容。
- 非官方社区项目,与 Kilter Grips 无关联,也未获其认可。
- 它访问的是 Kilter 应用使用的相同端点,这些端点并非有文档的公共 API,可能随时变更或停止工作。
- Kilter 的使用条款限制在官方应用之外访问其服务;请自行斟酌使用,仅限自己的账号,并保持低请求量(服务器每次工具调用会获取一次日志)。
- 凭据仅用于从 Kilter 登录服务器(idp.kiltergrips.com)获取 OAuth 令牌,除此之外不会离开本机;令牌在 MCP 进程生命周期内保存在内存中,绝不写入磁盘;凭据和令牌不会出现在工具输出、日志或错误信息中。服务器仅向 idp.kiltergrips.com 和 portal.kiltergrips.com 发起请求。
- 日志最多每分钟获取一次,无论智能体调用多少工具,并会遵守 Kilter 的速率限制响应。
- 建议使用 ${KILTER_PASSWORD} 形式,让密码保存在 shell 环境或密钥管理器中,而不是 JSON 文件里。
- 该服务器也收录于 MCP Registry,标识为 io.github.wmmg101/kilter-mcp。
- 开发设置(git clone、uv sync、uv run pytest)、架构说明和如何添加工具见 CONTRIBUTING.md;安全细节和私下报告问题的方式见 SECURITY.md。