MCP Workboard
PYPI · MCP-WORKBOARD-CRUNCHTOOLS · SCANNED SEP 21
Secure MCP server for WorkBoard OKR and strategy execution platform
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security100
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- Runs hatchling.build at install time, a recognised native-build step with no shell scripting around it. View diagnostics → Pass
- 1 of 23 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency35
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- License check failed: the license (GNU Affero General Public License v3 or later (AGPLv3+)) isn't a recognized OSI-approved license. See how to fix → Fail
- Actively maintained (last published 194 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability79
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 1556 tokens (~119/item across 13 items; 13 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management87
- Stability observed for 26 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 13 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 14 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
How do I install the MCP Workboard server?
MCP Workboard runs locally as a PyPI package, launched with uvx mcp-workboard-crunchtools. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · mcp-workboard-crunchtools
claude mcp add crunchtools-workboard -- uvx mcp-workboard-crunchtools
{
"mcpServers": {
"crunchtools-workboard": {
"command": "uvx",
"args": [
"mcp-workboard-crunchtools"
]
}
}
} {
"servers": {
"crunchtools-workboard": {
"command": "uvx",
"args": [
"mcp-workboard-crunchtools"
]
}
}
} codex mcp add crunchtools-workboard -- uvx mcp-workboard-crunchtools
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"crunchtools-workboard": {
"type": "local",
"command": [
"uvx",
"mcp-workboard-crunchtools"
],
"enabled": true
}
}
} openclaw mcp add crunchtools-workboard --command uvx --arg mcp-workboard-crunchtools
mcp_servers:
crunchtools-workboard:
command: "uvx"
args: ["mcp-workboard-crunchtools"] {
"McpServers": {
"crunchtools-workboard": {
"Transport": "stdio",
"Command": "uvx",
"Arguments": [
"mcp-workboard-crunchtools"
]
}
}
} assistant mcp add crunchtools-workboard -t stdio -c uvx -a mcp-workboard-crunchtools
{
"mcpServers": {
"crunchtools-workboard": {
"command": "uvx",
"args": [
"mcp-workboard-crunchtools"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 21 Sept 26 +15
- Malware scan: unverified → pass ▲ security
- 20 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 19 Sept 26 −3
- Stability: pass → 0.80 functional
- 18 Sept 26 −15
- Malware scan: pass → unverified ▼ security
- Stability: 0.97 → pass security
- 17 Sept 26 +16
- Malware scan: unverified → pass ▲ security
- 15 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.
- 14 Sept 26 −15
- Malware scan: pass → unverified ▼ security
- 13 Sept 26 +16
- Malware scan: unverified → pass ▲ security
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 21 Sept 2026 · Analysed pypi/mcp-workboard-crunchtools@0.6.1
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | pypi |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | allowlisted | hatchling.build |
Background: Why install scripts are a supply-chain risk →
Dependencies 23 packages
| Packages resolved | 23 |
|---|---|
| Stale | 1 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
workboard_create_objective_tool Workboard Create Objective Tool ~210
Create a new objective with optional key results (requires Data-Admin token). Provide the goal name, owner, dates, and optionally key results with targets. Each key result dict can include: metric_name, metric_start, metric_target, metric_type.
| Name | Type | Req | Description |
|---|---|---|---|
| goal_type | string | – | "1" for Team objective (default), "2" for Personal objective |
| key_results | – | – | Optional list of key result dicts, each with keys like "metric_name", "metric_start", "metric_target", "metric_type" |
| name | string | yes | Objective name (e.g. "Increase customer retention") |
| narrative | – | – | Optional description/narrative for the objective |
| owner | string | yes | Owner's email address or user ID |
| permission | string | – | Visibility setting (default "internal,team") |
| start_date | string | yes | Start date in YYYY-MM-DD format |
| target_date | string | yes | Target completion date in YYYY-MM-DD format |
Structured output declared, but exposes no named fields.
No examples provided.
workboard_create_user_tool Workboard Create User Tool ~70
Create a new WorkBoard user (requires Data-Admin role).
| Name | Type | Req | Description |
|---|---|---|---|
| designation | – | – | User's job title or designation |
| string | yes | User's email address | |
| first_name | string | yes | User's first name |
| last_name | string | yes | User's last name |
Structured output declared, but exposes no named fields.
No examples provided.
workboard_get_my_key_results_tool Workboard Get My Key Results Tool ~116
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.
| Name | Type | Req | Description |
|---|---|---|---|
| include_prior_years | boolean | – | If True, include key results from prior years. Defaults to False (current year only). |
Structured output declared, but exposes no named fields.
No examples provided.
workboard_get_my_objectives_tool Workboard Get My Objectives Tool ~96
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.
| Name | Type | Req | Description |
|---|---|---|---|
| objective_ids | – | – | Optional list of specific objective IDs to fetch. If not provided, objectives are auto-discovered from the user's key results. |
Structured output declared, but exposes no named fields.
No examples provided.
workboard_get_objective_details_tool Workboard Get Objective Details Tool ~106
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.
| Name | Type | Req | Description |
|---|---|---|---|
| objective_id | integer | yes | Objective ID (positive integer). |
| user_id | integer | yes | User ID (positive integer). Get this from workboard_get_user_tool. |
Structured output declared, but exposes no named fields.
No examples provided.
workboard_get_objectives_tool Workboard Get Objectives Tool ~121
Get objectives associated with a WorkBoard user by their user ID. WARNING: This endpoint has a hard cap of 15 results and returns objectives the user is *associated with* (contributor, viewer, etc.), NOT necessarily ones they own. Prefer workboard_get_my_objectives_tool when the user wants to see their own objectives. Use workboard_get_user_tool (no arguments) to find the current user's ID.
| Name | Type | Req | Description |
|---|---|---|---|
| user_id | integer | yes | User ID (positive integer). Get this from workboard_get_user_tool. |
Structured output declared, but exposes no named fields.
No examples provided.
workboard_get_team_members_tool Workboard Get Team Members Tool ~83
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.
| Name | Type | Req | Description |
|---|---|---|---|
| team_id | integer | yes | The WorkBoard team ID (get from workboard_get_teams_tool) |
Structured output declared, but exposes no named fields.
No examples provided.
workboard_get_teams_tool Workboard Get Teams Tool ~77
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. Returns: List of teams with team_id, team_name, team_owner_id, is_team_owner
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
workboard_get_user_key_results_tool Workboard Get User Key Results Tool ~194
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.
| Name | Type | Req | Description |
|---|---|---|---|
| include_prior_years | boolean | – | If True, include key results from prior years. Defaults to False (current year only). |
| user_id | integer | yes | User ID (positive integer). Get this from workboard_get_team_members_tool. |
Structured output declared, but exposes no named fields.
No examples provided.
workboard_get_user_tool Workboard Get User Tool ~48
Get a WorkBoard user by ID, or the current authenticated user.
| Name | Type | Req | Description |
|---|---|---|---|
| user_id | – | – | User ID (positive integer). If not provided, returns the current authenticated user. |
Structured output declared, but exposes no named fields.
No examples provided.
workboard_list_users_tool Workboard List Users Tool ~31
List all WorkBoard users (requires Data-Admin role). Returns: List of all users
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
workboard_update_key_result_tool Workboard Update Key Result Tool ~121
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.
| Name | Type | Req | Description |
|---|---|---|---|
| comment | – | – | Optional check-in comment describing what changed. |
| metric_id | integer | yes | Metric ID (positive integer). Get this from workboard_get_my_key_results_tool. |
| value | string | yes | The new progress value (e.g. "75" for 75%). |
Structured output declared, but exposes no named fields.
No examples provided.
workboard_update_user_tool Workboard Update User Tool ~79
Update an existing WorkBoard user.
| Name | Type | Req | Description |
|---|---|---|---|
| designation | – | – | User's job title or designation (optional) |
| – | – | User's email address (optional) | |
| first_name | – | – | User's first name (optional) |
| last_name | – | – | User's last name (optional) |
| user_id | integer | yes | User ID (positive integer) |
Structured output declared, but exposes no named fields.
No examples provided.
What is the MCP Workboard server?
MCP Workboard is listed in the public MCP registry as io.github.crunchtools/workboard. Secure MCP server for WorkBoard OKR and strategy execution platform. This page covers its PyPI package (mcp-workboard-crunchtools).
Is the MCP Workboard server safe to use?
MCP Workboard scores 81 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 21 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the MCP Workboard server expose?
MCP Workboard exposes 13 tools: workboard_get_user_tool, workboard_list_users_tool, workboard_create_user_tool, workboard_update_user_tool, workboard_get_teams_tool, and 8 more. Their descriptions and schemas cost roughly 1,352 tokens of context every time the server is loaded.
Is the MCP Workboard server still maintained?
MCP Workboard is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.