SuperAPI AI 工具集

kilter-mcp

kilter-mcp 是一个非官方的 MCP 服务器,为 AI 智能体提供对个人 Kilter Board 攀岩日志的只读访问能力。用户配置 Kilter 账号凭据后,即可通过 AI 客户端用自然语言查询训练记录,例如最近一次攀岩表现、当前 30° 角度的项目、20° 与 40° 攀爬对比、难度金字塔、最难完攀线路以及进步情况。该服务器不会向 Kilter 账号写入任何内容,所有工具均为只读。它支持 Kiro、Claude Desktop、Claude Code、Codex、Cursor、VS Code、Windsurf、Gemini CLI 和 Zed 等标准本地 MCP 客户端。凭据仅用于从 Kilter 登录服务器获取 OAuth 令牌,令牌仅保存在内存中,不写入磁盘,也不会出现在工具输出、日志或错误信息里。项目以 uvx 方式运行,需要预先安装 uv。

访问官网

工具介绍

用途

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。日期按用户时区报告,一个会话即一个日历日。

使用方式

  1. 在 Kiro 中打开 MCP 配置:命令面板 → Kiro: Open user MCP config (JSON)(或工作区配置 .kiro/settings/mcp.json)。
  2. 添加该服务器。
  3. 提供 Kilter 凭据,两种方式任选:将 KILTER_USERNAME 和 KILTER_PASSWORD 设为环境变量(Kiro 会在 Settings → Mcp Approved Env Vars 中批准变量后展开 ${VAR}),或把 ${...} 占位符替换为字面值。仅应在用户配置(~/.kiro/settings/mcp.json)中这样做,绝不要放在可能被提交的工作区配置里。
  4. 保存后 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。