Skip to main content
Glama

WBSO MCP Server

Generic MCP (Model Context Protocol) server for WBSO R&D documentation and time tracking. Enables AI assistants like Claude Code to automatically detect WBSO-relevant work and log entries.

Features

  • WBSO Detection - Analyze commits, code, and work descriptions for WBSO eligibility

  • Work Classification - Classify work into technical challenge areas

  • Automatic Logging - Log research and development entries to documentation

  • Multi-year Support - Track hours across multiple WBSO project years

  • Configurable - Define your own technical challenges and keywords

Related MCP server: timecamp-mcp-server

Installation

git clone https://github.com/rubenmaas/wbso-mcp-server.git
cd wbso-mcp-server
npm install

Configuration

The server loads project configuration from wbso.config.json in your WBSO documentation directory.

  1. Copy the example config:

cp wbso.config.example.json /path/to/your/wbso-docs/wbso.config.json
  1. Edit the config with your project details:

{
  "project": {
    "name": "Your Project Name",
    "projectNumber": "2025-1",
    "company": "Your Company B.V."
  },
  "years": {
    "2025": {
      "totalHours": 1000,
      "type": "New project"
    }
  },
  "technicalChallenges": [
    {
      "id": "challenge-1",
      "name": "Challenge Name",
      "keywords": ["keyword1", "keyword2"],
      "researchLogs": ["research-log"],
      "devLogs": ["dev-log"]
    }
  ]
}

Setup with Claude Code

Add to your Claude Code config (~/.claude/claude_desktop_config.json):

{
  "mcpServers": {
    "wbso": {
      "command": "node",
      "args": ["/path/to/wbso-mcp-server/index.js"],
      "env": {
        "WBSO_DIR": "/path/to/your/wbso-docs"
      }
    }
  }
}

Available Tools

Detection Tools

Tool

Description

analyze_wbso_relevance

Analyze if code/commits are WBSO-relevant

classify_work

Classify work into technical challenge areas

check_commit_wbso

Check if a git commit qualifies as WBSO work

get_wbso_criteria

Get full project criteria and challenges

Logging Tools

Tool

Description

log_research

Log research entries to documentation

log_development

Log development entries to documentation

log_time

Log time entries for the current week

get_wbso_status

Get current WBSO hours status

Configuration Schema

Project

{
  "project": {
    "name": "Project Name",
    "projectNumber": "2025-1",
    "company": "Company B.V."
  }
}

Years

{
  "years": {
    "2025": {
      "applicationNumber": "SO25XXXXXX",
      "period": "January - December 2025",
      "totalHours": 1000,
      "type": "New project"
    }
  }
}

Technical Challenges

{
  "technicalChallenges": [
    {
      "id": "unique-id",
      "name": "Challenge Name",
      "description": "Description of technical uncertainty",
      "keywords": ["keyword1", "keyword2"],
      "filePatterns": ["pattern1", "pattern2"],
      "researchLogs": ["log-name"],
      "devLogs": ["log-name"]
    }
  ]
}

File Patterns

{
  "relevantPaths": ["service", "repository", "controller"],
  "excludePatterns": ["node_modules", "vendor", "\\.lock$"]
}

Environment Variables

Variable

Description

Default

WBSO_DIR

Path to WBSO documentation directory

Current working directory

License

MIT

Available Tools

8 tools
analyze_wbso_relevanceC

Analyze whether code, commits, or work description is relevant to the WBSO project.

Inputs: content (required), diff, files_changed.

check_commit_wbsoC

Check if a git commit should be logged as WBSO work

Inputs: commit_hash, repository_path.

classify_workC

Classify work into the appropriate WBSO technical challenge area

Inputs: description (required), filename.

get_wbso_criteriaB

Get the full WBSO project criteria and technical challenges

Inputs: no named parameters.

get_wbso_statusB

Get current WBSO documentation status

Inputs: no named parameters.

log_developmentC

Log a development entry to WBSO documentation

Inputs: hours (required), results (required), log_name (required), technical_challenge (required), +6 more.

log_researchB

Log a research entry to WBSO documentation

Inputs: hours (required), findings (required), log_name (required), technical_uncertainty (required), +3 more.

log_timeB

Log time spent on WBSO R&D work

Inputs: hours (required), description (required), activity_type (required), jira_ref.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.2/5.0

    Scored across 8 tools

    Disambiguation2/5

    The tools analyze_wbso_relevance, classify_work, and check_commit_wbso all serve to determine whether work qualifies as WBSO and how to categorize it, creating significant overlap. While descriptions differ slightly (relevance check, classification, commit-specific check), an agent could easily misselect among them.

    Naming Consistency4/5

    All tool names follow a snake_case verb_noun pattern (analyze_, classify_, check_, get_, log_), which is consistent. Minor inconsistency exists in whether 'wbso' appears in the noun part (analyze_wbso_relevance, get_wbso_criteria vs. classify_work, log_time), but overall the pattern is clear and predictable.

    Tool Count5/5

    With 8 tools, the server is well-scoped for WBSO management, covering analysis, classification, logging, and status retrieval without unnecessary redundancy. The number feels appropriate for the domain and each tool appears to contribute to the workflow.

    Completeness4/5

    The tool set covers the core WBSO workflow: checking relevance, classifying work, logging research/development/time, and viewing criteria/status. Minor gaps exist—such as no update or delete operations for logged entries—but for the apparent purpose of documentation and tracking, the surface is reasonably complete.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers