MCP WorkBoard CrunchTools
This server provides secure tools for managing users, objectives/goals, key results, and workstreams within the WorkBoard OKR and strategy execution platform.
User Management
Retrieve a specific user by ID or the current authenticated user (
workboard_get_user)List all users — requires Data-Admin role (
workboard_list_users)Create new users — requires Data-Admin role (
workboard_create_user)Update existing user information (
workboard_update_user)
Objective & Goal Management
Get objectives associated with a user (
workboard_get_objectives)Get details for a specific objective including key results (
workboard_get_objective_details)Get the current user's owned objectives (
workboard_get_my_objectives)Create new objectives with key results — requires Data-Admin role (
workboard_create_objective)Get all goals for a user (
workboard_get_goals)Get details for a specific goal (
workboard_get_goal_details)
Key Result Management
List the current user's key results with metric IDs and progress (
workboard_get_my_key_results)Update key result progress for weekly OKR check-ins (
workboard_update_key_result)
Workstream Management
Retrieve team workstreams accessible to the authenticated user (
workboard_get_workstreams)Get workstream details with all action items (
workboard_get_workstream_activities)Retrieve all workstreams for a specific team (
workboard_get_team_workstreams)Create new workstreams for a team (
workboard_create_workstream)Update workstream properties — name, dates, pace, health, priority (
workboard_update_workstream)
Security: Runs locally via stdio with no third-party services, comprehensive input validation, token protection, automated CVE scanning, and containerized deployment.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP WorkBoard CrunchToolsshow me my current goals"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP WorkBoard CrunchTools
A secure MCP (Model Context Protocol) server for WorkBoard OKR and strategy execution platform.
Overview
This MCP server is designed to be:
Secure by default - Comprehensive threat modeling, input validation, and token protection
No third-party services - Runs locally via stdio, your API token never leaves your machine
Cross-platform - Works on Linux, macOS, and Windows
Automatically updated - GitHub Actions monitor for CVEs and update dependencies
Containerized - Available at
quay.io/crunchtools/mcp-workboardbuilt on Hummingbird Python base image
Naming Convention
Component | Name |
GitHub repo | |
Container |
|
Python package (PyPI) |
|
CLI command |
|
Module import |
|
Why Hummingbird?
The container image is built on the Hummingbird Python base image from Project Hummingbird, which provides:
Minimal CVE exposure - Built with a minimal package set, dramatically reducing attack surface
Regular updates - Security patches applied promptly
Optimized for Python - Pre-configured with uv package manager
Production-ready - Proper signal handling and non-root user defaults
Features
User Management (4 tools)
workboard_get_user- Get a user by ID or the current authenticated userworkboard_list_users- List all users (Data-Admin role required)workboard_create_user- Create a new user (Data-Admin role required)workboard_update_user- Update an existing user
Objective Management (4 tools)
workboard_get_objectives- Get objectives associated with a user (API capped at 15)workboard_get_objective_details- Get details for a specific objective with key resultsworkboard_get_my_objectives- Get the current user's owned objectives by ID (recommended)workboard_create_objective- Create a new objective with key results (Data-Admin required)
Key Result Management (2 tools)
workboard_get_my_key_results- List current user's key results with metric IDs and progressworkboard_update_key_result- Update key result progress for weekly OKR check-ins
Workstream Management (5 tools)
workboard_get_workstreams- Get team workstreams accessible to the authenticated userworkboard_get_workstream_activities- Get workstream details with all action itemsworkboard_get_team_workstreams- Get all workstreams belonging to a specific teamworkboard_create_workstream- Create a new workstream for a teamworkboard_update_workstream- Update workstream properties (name, dates, pace, health, priority)
Installation
With uvx (Recommended)
uvx mcp-workboard-crunchtoolsWith pip
pip install mcp-workboard-crunchtoolsWith Container
podman run -e WORKBOARD_API_TOKEN=your_token \
quay.io/crunchtools/mcp-workboardConfiguration
Getting a WorkBoard API Token
Log in to your WorkBoard instance
Navigate to Admin Settings > API Configuration
Generate a JWT API token
Copy the token immediately - store it securely
Add to Claude Code
claude mcp add mcp-workboard \
--env WORKBOARD_API_TOKEN=your_token_here \
-- uvx mcp-workboard-crunchtoolsOr for the container version:
claude mcp add mcp-workboard \
--env WORKBOARD_API_TOKEN=your_token_here \
-- podman run -i --rm -e WORKBOARD_API_TOKEN quay.io/crunchtools/mcp-workboardUsage Examples
Get Current User
User: Who am I in WorkBoard?
Assistant: [calls workboard_get_user with no args]List All Users
User: List all WorkBoard users
Assistant: [calls workboard_list_users]Get User Objectives
User: Show me objectives for user 12345
Assistant: [calls workboard_get_objectives with user_id=12345]Get Objective Details
User: Get details on objective 67890 for user 12345
Assistant: [calls workboard_get_objective_details with user_id=12345, objective_id=67890]Get My Objectives
User: Show me my objectives (IDs: 2900058, 2900075, 2901770)
Assistant: [calls workboard_get_my_objectives with objective_ids=[2900058, 2900075, 2901770]]List My Key Results
User: Show me my key results
Assistant: [calls workboard_get_my_key_results]Update Key Result Progress
User: Update key result 12345 to 75
Assistant: [calls workboard_update_key_result with metric_id=12345, value="75"]Create an Objective
User: Create an objective called "Increase retention" owned by user@example.com
Assistant: [calls workboard_create_objective with name, owner, dates, and optional key_results]List Workstreams
User: Show me my workstreams
Assistant: [calls workboard_get_workstreams]Get Workstream Action Items
User: Show me the agenda for workstream 4130463
Assistant: [calls workboard_get_workstream_activities with ws_id=4130463]Security
This server was designed with security as a primary concern. See SECURITY.md for:
Threat model and attack vectors
Defense in depth architecture
Token handling best practices
Input validation rules
Key Security Features
Token Protection
Stored as SecretStr (never accidentally logged)
Environment variable only (never in files or args)
Sanitized from all error messages
Input Validation
Pydantic models for all inputs
Positive integer validation for IDs
Email validation for user creation
API Hardening
Hardcoded API base URL (prevents SSRF)
TLS certificate validation
Request timeouts
Response size limits
Automated CVE Scanning
GitHub Actions scan dependencies weekly
Automatic issues for security updates
Dependabot alerts enabled
Development
Setup
git clone https://github.com/crunchtools/mcp-workboard.git
cd mcp-workboard
uv syncRun Tests
uv run pytestLint and Type Check
uv run ruff check src tests
uv run mypy srcBuild Container
podman build -t mcp-workboard .License
AGPL-3.0-or-later
Contributing
Contributions welcome! Please read SECURITY.md before submitting security-related changes.
Links
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/crunchtools/mcp-workboard'
If you have feedback or need assistance with the MCP directory API, please join our Discord server