MCP Workboard

io.github.crunchtools由 GitHub 帳號 crunchtools 發布v0.6.1更新於 Oct 24, 2026

Secure MCP server for WorkBoard OKR and strategy execution platform

已驗證STDIO僅桌面效率與工作流商業與電商

概覽

AI 產生的概覽

針對 WorkBoard OKR 與策略執行平台的本地 MCP 伺服器,讓助理讀取與更新使用者、目標、關鍵結果與工作流。

可以做什麼
  • 查詢使用者:取得目前使用者或依 ID 取得使用者、列出所有使用者、建立與更新使用者
  • 讀取目標:使用者擁有的目標、依時間區間查詢團隊目標、含關鍵結果的目標詳情,以及依 ID 取得目前使用者的目標
  • 建立含關鍵結果的目標,並列出或更新關鍵結果進度以完成每週 OKR 檢視
  • 處理工作流:列出可存取或團隊的工作流、讀取詳情與待辦項目、列出看板欄位、建立與更新工作流屬性
  • 檢查授權狀態,在 OAuth 模式下啟動瀏覽器授權並回報最近一次重新導向的結果
適用情境
適合在 WorkBoard 中管理 OKR 與策略執行的團隊,希望助理直接回答目標、關鍵結果與工作流相關問題,或記錄進度更新、建立目標而不必切換應用程式。
執行需求
透過 PyPI 套件 mcp-workboard-crunchtools(uvx 或 pip)或容器映像在本機以 stdio 執行。需要 WorkBoard API 權杖,透過環境變數 WORKBOARD_API_TOKEN 提供;或使用 OAuth 模式,需 WORKBOARD_CLIENT_ID 與 WORKBOARD_CLIENT_SECRET,OAuth 重新導向設定另涉及 WORKBOARD_OAUTH_REDIRECT_URI 與 WORKBOARD_TOKEN_STORE_PATH。需要連線至 WorkBoard API 的網路存取。
安裝前請注意
WorkBoard API 權杖是可存取組織 OKR 資料的憑證,應只放在環境變數中,避免寫入檔案或命令列參數。多個工具會寫入資料:建立與更新使用者、建立目標、更新關鍵結果進度、建立或更新工作流。列出與建立使用者需要 Data-Admin 角色。OAuth 模式下權杖會儲存到磁碟上的權杖存放檔案。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 MCP Workboard,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

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 - 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-workboard built on Hummingbird Python base image

Naming Convention

ComponentName
GitHub repocrunchtools/mcp-workboard
Containerquay.io/crunchtools/mcp-workboard
Python package (PyPI)mcp-workboard-crunchtools
CLI commandmcp-workboard-crunchtools
Module importmcp_workboard_crunchtools

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_tool - Get a user by ID or the current authenticated user
  • workboard_list_users_tool - List all users (Data-Admin role required)
  • workboard_create_user_tool - Create a new user (Data-Admin role required)
  • workboard_update_user_tool - Update an existing user

Objective Management (5 tools)

  • workboard_get_objectives_tool - Get all objectives a user owns
  • workboard_get_team_objectives_tool - Get a team's objectives overlapping a date window, past quarters included (slow: reads every visible objective)
  • workboard_get_objective_details_tool - Get details for a specific objective with key results
  • workboard_get_my_objectives_tool - Get the current user's owned objectives by ID (recommended)
  • workboard_create_objective_tool - Create a new objective with key results (Data-Admin required)

Key Result Management (2 tools)

  • workboard_get_my_key_results_tool - List current user's key results with metric IDs and progress
  • workboard_update_key_result_tool - Update key result progress for weekly OKR check-ins

Workstream Management (6 tools)

  • workboard_get_workstreams_tool - Get team workstreams accessible to the authenticated user
  • workboard_get_workstream_activities_tool - Get workstream details with all action items
  • workboard_get_workstream_columns_tool - List the Kanban columns in use on a workstream
  • workboard_get_team_workstreams_tool - Get all workstreams belonging to a specific team
  • workboard_create_workstream_tool - Create a new workstream for a team
  • workboard_update_workstream_tool - Update workstream properties (name, dates, pace, health, priority)

Authorization (3 tools)

  • workboard_auth_status_tool - Report auth mode, token store, and whether the credential works (GET /user)
  • workboard_auth_start_tool - Return the WorkBoard authorize URL for browser approval (OAuth mode)
  • workboard_auth_result_tool - Report the outcome of the most recent authorization redirect

Installation

With uvx (Recommended)

bash
uvx mcp-workboard-crunchtools

With pip

bash
pip install mcp-workboard-crunchtools

With Container

bash
podman run -e WORKBOARD_API_TOKEN=your_token \    quay.io/crunchtools/mcp-workboard

Configuration

Getting a WorkBoard API Token

  1. Log in to your WorkBoard instance
  2. Navigate to Admin Settings > API Configuration
  3. Generate a JWT API token
  4. Copy the token immediately - store it securely

Add to Claude Code

bash
claude mcp add mcp-workboard \    --env WORKBOARD_API_TOKEN=your_token_here \    -- uvx mcp-workboard-crunchtools

Or for the container version:

bash
claude mcp add mcp-workboard \    --env WORKBOARD_API_TOKEN=your_token_here \    -- podman run -i --rm -e WORKBOARD_API_TOKEN quay.io/crunchtools/mcp-workboard

OAuth on a Server (Container Behind a Reverse Proxy)

In OAuth mode (WORKBOARD_CLIENT_ID + WORKBOARD_CLIENT_SECRET), a server reachable over HTTPS can be re-authorized without a shell:

  1. Register the public callback URL, e.g. https://workboard.example.com/callback, as the redirect URI of the WorkBoard app.
  2. Run the server with an HTTP transport and set WORKBOARD_OAUTH_REDIRECT_URI to that same URL. The proxy must route /callback to the server.
  3. Call workboard_auth_start_tool, open the URL it returns and approve. WorkBoard redirects to /callback; the server exchanges the code and saves the tokens to the token store. The authorization expires after 10 minutes.
  4. Call workboard_auth_status_tool to confirm (or workboard_auth_result_tool to see why it failed).
bash
podman run -p 8000:8000 \    -e WORKBOARD_CLIENT_ID -e WORKBOARD_CLIENT_SECRET \    -e WORKBOARD_OAUTH_REDIRECT_URI=https://workboard.example.com/callback \    -e WORKBOARD_TOKEN_STORE_PATH=/data/tokens.json -v workboard-tokens:/data:Z \    quay.io/crunchtools/mcp-workboard --transport streamable-http --host 0.0.0.0
VariableDefaultDescription
WORKBOARD_OAUTH_REDIRECT_URIunsetPublic URL of this server's /callback route. Required for workboard_auth_start_tool; the CLI login ignores it and uses http://localhost:8963/callback.
WORKBOARD_TOKEN_STORE_PATH~/.config/mcp-workboard/tokens.jsonWhere OAuth tokens are stored

Usage 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 usersAssistant: [calls workboard_list_users]

Get User Objectives

User: Show me objectives for user 12345Assistant: [calls workboard_get_objectives with user_id=12345]

Get Objective Details

User: Get details on objective 67890 for user 12345Assistant: [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 resultsAssistant: [calls workboard_get_my_key_results]

Update Key Result Progress

User: Update key result 12345 to 75Assistant: [calls workboard_update_key_result with metric_id=12345, value="75"]

Create an Objective

User: Create an objective called "Increase retention" owned by [email protected]Assistant: [calls workboard_create_objective with name, owner, dates, and optional key_results]

List Workstreams

User: Show me my workstreamsAssistant: [calls workboard_get_workstreams]

Get Workstream Action Items

User: Show me the agenda for workstream 4130463Assistant: [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

  1. Token Protection

    • Stored as SecretStr (never accidentally logged)
    • Environment variable only (never in files or args)
    • Sanitized from all error messages
  2. Input Validation

    • Pydantic models for all inputs
    • Positive integer validation for IDs
    • Email validation for user creation
  3. API Hardening

    • Hardcoded API base URL (prevents SSRF)
    • TLS certificate validation
    • Request timeouts
    • Response size limits
  4. Automated CVE Scanning

    • GitHub Actions scan dependencies weekly
    • Automatic issues for security updates
    • Dependabot alerts enabled

Development

Setup

bash
git clone https://github.com/crunchtools/mcp-workboard.gitcd mcp-workboarduv sync

Run Tests

bash
uv run pytest

Lint and Type Check

bash
uv run ruff check src testsuv run mypy src

Build Container

bash
podman build -t mcp-workboard .

License

AGPL-3.0-or-later

Contributing

Contributions welcome! Please read SECURITY.md before submitting security-related changes.

Links

來源:README.md,提交 ea07dcf

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.6.1最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分