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.
- 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
git clone https://github.com/rubenmaas/wbso-mcp-server.git
cd wbso-mcp-server
npm installThe server loads project configuration from wbso.config.json in your WBSO documentation directory.
- Copy the example config:
cp wbso.config.example.json /path/to/your/wbso-docs/wbso.config.json- 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"]
}
]
}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"
}
}
}
}| 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 |
| 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 |
{
"project": {
"name": "Project Name",
"projectNumber": "2025-1",
"company": "Company B.V."
}
}{
"years": {
"2025": {
"applicationNumber": "SO25XXXXXX",
"period": "January - December 2025",
"totalHours": 1000,
"type": "New project"
}
}
}{
"technicalChallenges": [
{
"id": "unique-id",
"name": "Challenge Name",
"description": "Description of technical uncertainty",
"keywords": ["keyword1", "keyword2"],
"filePatterns": ["pattern1", "pattern2"],
"researchLogs": ["log-name"],
"devLogs": ["log-name"]
}
]
}{
"relevantPaths": ["service", "repository", "controller"],
"excludePatterns": ["node_modules", "vendor", "\\.lock$"]
}| Variable | Description | Default |
|---|---|---|
WBSO_DIR |
Path to WBSO documentation directory | Current working directory |
MIT