Open-Source MCP for Kilter Board Logs, With Hard-Won Private-API Lessons
fin_expat · reddit · 2026-09-16
A developer open-sourced kilter-mcp, a read-only MCP server for your Kilter Board climbing logbook. Any MCP-speaking agent (Claude, Cursor, Kiro, Codex) gets nine read-only tools over your own data: sessions, sends, projects, grade pyramid, hardest sends, monthly progression, angle comparison. Run uvx kilter-mcp with two env vars; listed in the official registry as io.github.wmmg101/kilter-mcp.
Hard-won lessons for building against an app's private API:
- Kilter uses Keycloak; password grant with in-memory tokens and refresh rotation, no token files. After a rejected login it backs off 60s so a config typo can't trip account-lockout protection
- The grade table is a public endpoint, so grades are fetched live with an embedded fallback; log semantics (what a row means, what counts as an "attempt") were the hard part and are documented in the repo
- Tool errors flow through the SDK's ToolError, so agents get "credentials not configured, set X and Y" instead of a generic failure. Network-layer output passes a redaction step, and a test walks a failed-login traceback to ensure the password appears in no frame
- --check prints a secret-free diagnostic for bug reports
Unofficial, not affiliated with Kilter: github.com/wmmg101/kilter-mcp
More from coding & agent
- Supabase Select 26 lineup: Steve Wozniak, Garry Tan, and Anthropic execs join Oct 2 event — dshukertjr · 2026-09-16
- Capawesome Ships Three MCP Servers to Stop AI Assistants Suggesting Outdated APIs — DayanaJabif · 2026-09-16
- Synthesia launches real-time Interactive Avatar API on LiveKit — synthesiaIO · 2026-09-16
- Founder ditches $10/mo Super.so as AI agent migrates 100-page site in 5 minutes — thisiskp_ · 2026-09-16
- Open-source cross-connector memory layer lets one agent's verified knowledge transfer to others — Neither-Witness-6010 · 2026-09-16
- Claude Remote: launch Claude Code on your own PC from your phone via Tailscale — TearInternational414 · 2026-09-16