boardsesh-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BOARDSESH_USER | Yes | Your Boardsesh display name or user id. This is required to access your public logbook. | |
| BOARDSESH_EMAIL | No | Optional: Your Boardsesh login email. Needed together with BOARDSESH_PASSWORD to unlock the tools that require your board setup (e.g. recommend, search, similar, heatmap). | |
| BOARDSESH_PASSWORD | No | Optional: Your Boardsesh login password. Needed together with BOARDSESH_EMAIL to unlock the same extra tools. | |
| BOARDSESH_TIMEZONE | No | Optional: IANA timezone name (e.g. "Europe/Rome") used to group sessions by calendar day. Defaults to the server's timezone. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| boardsesh_get_summaryA | Return a compact overview of the user's whole Boardsesh history, across all boards. Use first for broad questions ("how is my climbing going?", "summarise my logbook") or when you need totals: entries, sends, flashes, tries, boards used, angles, date range, session count, hardest send and flash, and sends per grade. |
| boardsesh_get_ascentsA | Return the user's logbook entries, newest first, across every board. Use when the user asks about recent climbs, sends, flashes, attempts, what they did on a date, or wants raw history. Each entry is one climb at one angle on one board at one time with the number of tries. Filters: limit (default 25), board, angle, status ('all', 'sends', 'attempts', 'flashes'), start_date/end_date (YYYY-MM-DD). |
| boardsesh_get_sessionsA | Return recent climbing sessions (entries grouped by calendar day), newest first. Use when the user asks how their last session went, what they climbed on a day, or wants to compare sessions. Each session lists the boards and angles used, sends, flashes, total tries, hardest send and every climb logged that day. |
| boardsesh_get_projectsA | Return the user's projects: climbs attempted but never sent at that angle. Use when the user asks what they are working on, unfinished climbs, or what to try again. A project is per (board, climb, angle), so sending a climb at another angle does not remove it. Sorted by most recently tried, then most tries. |
| boardsesh_compare_boardsA | Compare the user's climbing across every board they have logged on. Use when the user asks which board they are strongest on, how Kilter compares with Tension or MoonBoard, or where they climb most. One row per board with sends, flashes, flash rate, tries, sessions, angles, hardest send in that board's own grades, and 'hardest_boardsesh_grade' / 'median_boardsesh_grade' which are normalised across boards and therefore the fair comparison. |
| boardsesh_get_grade_pyramidA | Return the user's send pyramid: sends per grade, hardest first, with flash rates. Use when the user asks about their pyramid, grade distribution, flash rate per grade, or how solid they are at a level. Optional board filter; grades differ between boards, so prefer filtering to one board when the user names one. |
| boardsesh_get_progressionA | Return climbing progression over time, oldest period first. Use when the user asks whether they are improving, about trends, or for a month-by-month or week-by-week view. Each period has sessions, boards used, entries, sends, unique climbs, flashes, tries and the hardest send. |
| boardsesh_recommend_climbsA | Suggest climbs the user has not sent yet, from Boardsesh's recommendations. Use when the user asks what to try next, wants new climbs, projects at their level, or something fresh. 'at_level' works from their own send history and excludes climbs they have already sent. Needs a board configuration, so it uses one of the user's saved Boardsesh boards. |
| boardsesh_find_similar_climbsA | Find climbs that use a similar set of holds to a given climb. Use when the user asks for climbs like one they enjoyed or one they are projecting, or wants to train a specific movement again. Similarity is hold overlap (0-1); 0.5 and above feels genuinely related. Pass a climb_uuid from an earlier result. |
| boardsesh_get_hold_heatmapA | Return which holds the wall's climbs use, for spotting strengths and weaknesses. Use when the user asks about weaknesses, hold types they avoid or overuse, or what to train. Returns per-hold counts (how many climbs use each hold, and whether as hand, foot, start or finish) plus the average difficulty of climbs using it. Combine with a grade range to ask "which holds appear in climbs at my next grade". Hold ids are wall positions; reason about patterns and grade ranges rather than individual ids. |
| boardsesh_search_climbsA | Search the board's climb catalogue with filters. Use when the user wants to find specific climbs: by name, grade range, benchmarks only, popularity, or excluding ones they have already sent. For "what should I try next" prefer boardsesh_recommend_climbs, which uses the user's own level. |
| boardsesh_get_gradesA | Return a board's grade scale: difficulty_id to grade label. Use when you need a difficulty_id for a grade the user named (e.g. to pass min_grade_id to a search), or to explain what a grade id means. Boards do not share one scale. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 12 tools
Every tool targets a distinct resource or analytical view: summary, individual ascents, grouped sessions, projects, board comparison, grade distribution, progression trends, recommendations, similar climbs, hold heatmap, catalogue search, and grade scales. Even the three 'find climbs' tools are cleanly separated by input (user level, hold overlap, search filters).
All tools follow the boardsesh_<verb>_<noun> pattern with clear, domain-specific nouns. Most use 'get_' for retrievals, and the few exceptions (compare_boards, recommend_climbs, find_similar_climbs, search_climbs) still use crisp action verbs that match their purpose, so the pattern remains predictable.
12 tools is well-scoped for a climbing logbook analytics server. Each tool covers a meaningful query type without redundancy, and the number is within the ideal range for an agent to navigate efficiently.
The toolset covers the major analytics and discovery workflows: history, sessions, projects, comparisons, trends, recommendations, similarity, heatmaps, search, and grade mapping. A minor gap is the lack of a direct 'get climb details' endpoint (only search/find_similar return climb info), but agents can obtain climb details from ascents or search results, so it is not a blocking omission.