Workbuddy Local Worker
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| WORKBUDDY_HOME | No | Desktop MCP/skill configuration root. | %USERPROFILE%/.workbuddy |
| WORKBUDDY_AUTH_FILE | No | Authorized desktop account file. | %LOCALAPPDATA%/CodeBuddyExtension/Data/Public/auth/workbuddy-desktop.info |
| WORKBUDDY_INSTALL_DIR | No | Installed application directory. | %USERPROFILE%/AppData/Local/Programs/WorkBuddy |
| WORKBUDDY_LISTENER_DATA | No | Journal and isolated worker profiles. | <checkout>/data |
| WORKBUDDY_LISTENER_CONFIG | No | Optional local overrides. | <checkout>/listener.config.json |
| WORKBUDDY_LISTENER_WORKSPACE | No | Default task working directory. | <data>/workspace |
| WORKBUDDY_LISTENER_TASK_TIMEOUT_MS | No | Maximum native prompt wait in milliseconds. | 1800000 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| send_messageB | Start or continue a dedicated WorkBuddy conversation. Returns task_id immediately. Reusing request_id with the same payload is idempotent. Can also reply to a specific pending permission or elicitation using its structured ID. |
| get_messageB | Read incremental task events after a cursor. Returns next_cursor, has_more, status, and the accumulated answer on terminal tasks. Private reasoning is not collected. |
| select_modelA | List runtime-reported models (omit model_id) or select one for an idle session. Omit session_id to create a new managed session. Changes are acknowledged by WorkBuddy. |
| wait_for_messageB | Wait for task events, terminal state or required user input. Timeout returns without stopping the task. Continue with next_cursor. |
| get_statusC | Get server health and available MCP/skill catalogs, session state, or task state including pending input. A connected worker is not necessarily executing a task. |
| stop_taskA | Request native task cancellation. Reports cancelling until WorkBuddy confirms cancellation. force=true may terminate only the listener-owned worker after a grace period, never the desktop application. |
| select_mcp_or_skillsA | List available choices, or select configured MCP servers and SKILL.md instructions for new sessions. Empty arrays disable that category. Omitted fields keep their selection. A running worker keeps its configuration. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Most tools have clearly distinct roles: send_message starts or continues work, stop_task cancels, and the select_* tools configure model or MCP/skills. However, get_message, wait_for_message, and get_status overlap somewhat in observing task events and pending input, which could require careful reading of descriptions to choose correctly.
All seven tools follow a consistent snake_case verb_noun pattern such as send_message, get_status, stop_task, and select_model. The naming is predictable and easy to map to actions.
Seven tools is well-scoped for an asynchronous worker interface covering task messaging, observation, cancellation, and configuration. Each tool appears to earn its place without obvious redundancy.
The surface covers the full interaction lifecycle: starting/continuing tasks, reading incremental events, waiting for events or input, checking health/status, cancelling tasks, and selecting runtime model and MCP/skill configuration. No obvious operational gaps are apparent for a local async worker.