MCP WorkBoard CrunchTools
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| WORKBOARD_API_TOKEN | Yes | Your WorkBoard JWT API token used for authentication. |
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": true
} |
| logging | {} |
| prompts | {
"listChanged": true
} |
| resources | {
"subscribe": false,
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| workboard_auth_status_toolA | Report whether this server currently holds a usable WorkBoard credential. Call this first. It says which auth mode is active, where tokens are stored, whether one exists, and verifies it with GET /user. If it is not usable, it says which tool fixes it. |
| workboard_auth_start_toolA | Begin browser authorization and return the URL for the user to approve. Open the returned URL. The user approves there, WorkBoard redirects back to this server, and the tokens are stored automatically -- nothing is copied back by hand. Then call workboard_auth_status_tool to confirm. Requires OAuth mode and WORKBOARD_OAUTH_REDIRECT_URI. |
| workboard_auth_result_toolC | Report the outcome of the most recent authorization redirect. |
| workboard_get_user_toolA | Get a WorkBoard user by ID, or the current authenticated user. |
| workboard_list_users_toolA | List WorkBoard users. scope="team" (default) returns members of teams you can see and works for any account. scope="org" returns every user in the organization and requires a Data-Admin token. Returns up to 100 users; use limit and offset to page. |
| workboard_create_user_toolA | Create a new WorkBoard user (requires Data-Admin role). |
| workboard_update_user_toolC | Update an existing WorkBoard user. |
| workboard_get_teams_toolA | Get all teams the authenticated user belongs to. Returns team IDs, names, and owner user IDs. Use workboard_get_team_members_tool to get the full member list (with user_ids) for a specific team. |
| workboard_get_team_members_toolA | Get all members of a WorkBoard team, including their user IDs and emails. Use this to resolve a person's name or email to their WorkBoard user_id. Combine with workboard_get_objectives_tool(user_id) to fetch their OKRs. |
| workboard_get_objectives_toolA | Get objectives owned by a WorkBoard user by their user ID. Returns all objectives the user owns, with full pagination. Also exposes
Use workboard_get_user_tool (no arguments) to find the current user's ID. Use workboard_get_team_members_tool to resolve a name or email to a user ID. |
| workboard_get_team_objectives_toolA | Get a team's objectives whose dates overlap a window, past quarters included. Use this for quarterly OKR reviews or snapshots, e.g. Q1 after March 31. Objectives on sub-teams are not included. Slow: it reads every objective you can see, which takes about a minute. Use workboard_get_teams_tool to find team IDs. |
| workboard_get_objective_details_toolA | Get full details for a single objective including all its key results. Returns the objective name, progress, status, dates, and all key results (metrics) with their targets, progress, and update schedules. Use workboard_get_user_tool (no arguments) to find the current user's ID. |
| workboard_get_my_objectives_toolA | Get the current authenticated user's objectives with key results. This is the RECOMMENDED tool when users ask about "my objectives" or "my OKRs". It automatically determines the current user and discovers their objectives from their key results — no IDs needed. |
| workboard_get_my_key_results_toolA | List all key results (metrics) the current user owns or has access to. Use this to find metric IDs and see current progress before updating with workboard_update_key_result_tool. Returns metric names, current values, targets, and IDs. By default, only shows current year key results. Set include_prior_years=True to see key results from previous years. |
| workboard_get_user_key_results_toolA | List key results (metrics) for a specific WorkBoard user by their user ID. Use this to see KRs owned by or associated with any user — for example, to review a direct report's key results before a 1:1. Skills layer maps organizational roles (e.g. "direct report") to user IDs; this tool only knows about WorkBoard user IDs. Use workboard_get_teams_tool and workboard_get_team_members_tool to resolve a person's name to their user ID. By default, only shows current year key results. Set include_prior_years=True to see key results from previous years. |
| workboard_update_key_result_toolA | Update progress on a key result (metric). This is the primary tool for weekly OKR check-ins — update a key result's value without logging into WorkBoard. Use workboard_get_my_key_results_tool to find metric IDs first. |
| workboard_create_objective_toolA | Create a new objective with optional key results. Creates Team or Individual objectives. Requires an OAuth token whose account has the Data-Admin role; instant JWT tokens cannot create objectives. The API has no update or delete for objectives — those are UI-only. Team objectives must be tied to a team: pass |
| workboard_get_workstreams_toolA | Get team workstreams accessible to the authenticated user. Returns all team workstreams the user has access to. Personal workstreams are not included. Optionally filter to a single workstream by ID. |
| workboard_get_workstream_activities_toolB | Get a workstream's full details including all action items. Returns the workstream metadata plus every action item with descriptions, owners, due dates, comments, sub-actions, and attached files. |
| workboard_get_workstream_columns_toolA | Get the custom Kanban columns in use on a workstream. The API has no column endpoint, so columns are read off the workstream's action items. A column with no cards in it will not appear. Use the column_id values to tell which column a card sits in. |
| workboard_get_team_workstreams_toolA | Get all workstreams belonging to a specific team. Use workboard_get_teams_tool to find team IDs first. |
| workboard_create_workstream_toolA | Create a new workstream for a team. Requires team manager or co-manager permissions. |
| workboard_update_workstream_toolA | Update an existing workstream's properties. Performs read-before-write to confirm the workstream exists. Requires team manager or co-manager permissions. Pace must be "slow", "fast", or "steady". Health must be "ok", "good", or "risk". Priority must be "p1" through "p5". |
| workboard_list_activities_toolA | List action items accessible to the authenticated user. Returns up to 15 action items by default. Use limit and offset for pagination. Filter by owner, state, priority, or effort to narrow results. |
| workboard_get_activity_toolB | Get a single WorkBoard action item by its ID. |
| workboard_create_activity_toolB | Create a new action item (card) on a WorkBoard workstream. State must be "next", "doing", "done", or "pause". Priority must be "low", "med", or "high". Effort must be "easy", "medium", or "huge". |
| workboard_update_activity_toolA | Update an existing WorkBoard action item. Performs read-before-write to confirm the action item exists. Only provided fields are updated. State must be "next", "doing", "done", or "pause". Priority must be "low", "med", or "high". Effort must be "easy", "medium", or "huge". |
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 27 tools
Most tools target a distinct resource+action, and descriptions explicitly differentiate scope variants (e.g. get_my_objectives vs get_objectives vs get_team_objectives, get_my_key_results vs get_user_key_results). However, the recurring 'my/user/team' scope triplets and the get_workstreams vs get_team_workstreams vs get_workstream_activities cluster create some genuine overlap that relies on careful reading to resolve.
Names consistently follow the workboard_<verb>_<noun>_tool pattern with only minor deviation: read operations mix 'get_*' (get_workstreams, get_teams, get_team_members) and 'list_*' (list_users, list_activities) for what are effectively listing operations. The verb_noun structure itself is predictable and readable throughout.
27 tools is heavy for the stated surface; the broad WorkBoard domain (users, teams, objectives, key results, workstreams, activities, auth) justifies a large set, but the count is inflated by scope-variant near-duplicates rather than strictly distinct capabilities. Borderline-appropriate rather than well-scoped.
Coverage spans the full domain with create/get/list/update across users, workstreams, activities, and key results, plus a complete auth lifecycle. Gaps are minor and partly API-imposed (objectives explicitly have no update/delete, no standalone delete for most resources, no standalone key-result create), which agents can work around.