Workbuddy Local Worker
You can use this server to delegate and manage WorkBuddy tasks from your AI assistant, sharing context/project files and retrieving results.
Start or continue a dedicated WorkBuddy conversation/task, including replying to pending permission or elicitation requests.
Read or wait for incremental task events, accumulated answers, and terminal status using cursors and timeouts.
List or select execution models, and create/use managed sessions.
List, enable, or disable configured MCP servers and SKILL.md instructions for new sessions.
Check server health, MCP/skill catalogs, session state, task state, and pending input.
Stop/cancel a task, optionally force-terminating only the listener-owned worker after a grace period.
From the README: get charts, models, and other results back in chat; use existing WorkBuddy tools/skills; choose a model; check progress; and stop work.
Enables delegating Blender modeling tasks through WorkBuddy, including passing dimensions and design requirements and saving .blend files and preview images.
Enables delegating Origin plotting tasks through WorkBuddy, including passing data file paths, labels, and style requirements and exporting charts as PNG and PDF.
Click on "Deploy 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., "@Workbuddy Local WorkerStart a worker session and ask it to review my latest code changes."
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.
WorkBuddy-Link
Let WorkBuddy do the work. Stay in your AI assistant.
Ask your AI assistant to delegate a task to WorkBuddy, pass along the relevant conversation context, and work in the same project folder. Get charts, models, and other results back in your current chat.
The connector is free and needs no separate API key. Tasks use your WorkBuddy account; its limits and any model charges still apply.
✨ What you get
What it means for you | |
💬 One conversation | Delegate work and receive results without switching to another chat. |
📂 Shared project files | Pass the task brief, agreed requirements, and project folder path together. |
🛠️ Your existing tools | Use the MCP tools and skills you have configured in WorkBuddy. |
🎛️ Your choice of model | Choose the execution model, check progress, or stop a task. |
Related MCP server: workbuddy-mcp
🚀 Get started
Copy this and send it to your AI assistant:
Install WorkBuddy-Link for me: https://github.com/P-PPPP/WorkBuddy-Link📋 Before you start
A Windows computer with WorkBuddy installed and signed in.
Node.js 24+ and Git.
An AI assistant that supports local MCP servers and can run the installation steps on your computer.
For drawing or modeling: the corresponding tool must already work in WorkBuddy.
Open PowerShell in the folder where you want to keep the project:
git clone https://github.com/P-PPPP/WorkBuddy-Link.git
Set-Location WorkBuddy-Link
npm ci --ignore-scripts --no-audit --no-fund
npm run smoke
npm run configureCopy the generated workbuddy-link entry into your AI assistant's MCP settings, keeping any existing servers. Reconnect the assistant, then ask it to check WorkBuddy's status. The smoke check does not call a model.
💬 Just ask your assistant
Start with your current project:
Give this task to WorkBuddy. Share the relevant context and our project folder path. Ask me which model to use first, then save the results in that folder and report back here.
Your assistant passes the context it selects; the full chat history is not synced automatically.
📈 Draw a chart in Origin
Have WorkBuddy use Origin MCP to plot this data. Include the file paths, labels, and style we agreed on. Ask me which model to use, then save PNG and PDF files in our project folder.
The chart below was created through WorkBuddy using OriginPro 2024 and synthetic sine/cosine data. Test notes

🧊 Make a model in Blender
Have WorkBuddy use Blender MCP to make a desk organizer using the dimensions and design we discussed. Ask me which model to use, then return the .blend file and a preview image in our project folder.
This is a suggested workflow; Blender has not been tested in this project.
⏯️ Check in or change direction
“Which tools and skills can WorkBuddy use?”
“Check the progress of my WorkBuddy task.”
“Stop the current WorkBuddy task.”
❓ Quick answers
Question | Answer |
Does it control my open WorkBuddy chat? | It starts a separate task session. Do not expect it to appear in the desktop chat history. |
Which model does it use? | Ask your assistant to let you choose first. Otherwise WorkBuddy uses its default, which may be Auto. |
My assistant cannot connect. | Check Node.js 24+, reconnect the MCP server, and run |
WorkBuddy asks me to sign in. | Sign in through the desktop app, then start a new task session. |
More settings and troubleshooting · Report an issue
🔐 Privacy & compatibility
WorkBuddy-Link uses your local WorkBuddy sign-in. Task records stay on your computer; WorkBuddy sends the task and any tool-provided content to the services it uses. Only delegate files and tasks you intend it to access. Do not upload local account files or the data folder.
This is an unofficial community project, tested with WorkBuddy 5.9.3 on Windows. WorkBuddy updates may require compatibility fixes.
📄 License
MIT. Personal learning and non-commercial use are encouraged as a voluntary preference; commercial use is permitted by the license.
Available Tools
7 toolsget_messageBRead-only
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| task_id | Yes | ||
| after_cursor | No | 0 | |
| include_partial | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, non-destructive, and closed-world, so the safety profile is covered. The description adds real value beyond that by naming the response fields (next_cursor, has_more, status) and noting that the accumulated answer appears only on terminal tasks, plus a data-scope disclosure that private reasoning is not collected. It still omits rate limits, cursor expiry, and whether has_more=false means the task finished.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, each earning its place: the operation, the return shape, and the data-scope caveat are front-loaded with no filler. Nothing could be cut without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and 0% schema description coverage, the description is the only documentation for a four-parameter tool, and it leaves limit and include_partial entirely undefined. Listing return fields is helpful, but the pagination contract (how to advance the cursor, what happens when has_more is false) is missing for a tool whose whole purpose is cursor-based iteration.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across four parameters, so the description carries the burden and mostly does not: only after_cursor is hinted at, while task_id, limit, and especially include_partial (which governs partial events) go unexplained. An agent cannot infer from the description what include_partial=false changes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description pairs a specific verb ("Read") with a specific resource ("incremental task events after a cursor") and even enumerates the returned fields. It is clear what the tool does, but it never distinguishes itself from the close sibling wait_for_message or get_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by "after a cursor," which suggests a polling loop, but the description never states when to poll with this tool versus blocking on wait_for_message or checking get_status. No exclusions, prerequisites, or alternatives are named despite two very similar siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_statusCRead-only
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.
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | No | ||
| session_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds one piece of genuinely useful context beyond that — that connectivity is not the same as active execution — but says nothing about whether the result is a snapshot, cached, or what each mode returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence with no filler, which is good, but the list of resources is comma-spliced into one clause and the trailing worker caveat reads as an afterthought rather than an integrated point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a multi-mode tool with two undocumented optional parameters and no output schema, the description should indicate what each call shape returns. It does not, so an agent knows the tool's topic but not how to drive it or what to expect back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and both parameters are optional with no documentation. The phrase 'session state, or task state' faintly implies the two parameters, but the description never states what each one selects, what happens when both are omitted or both are supplied, or which takes precedence.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names several concrete resources (server health, MCP/skill catalogs, session state, task state), but bundles them into one sprawling 'get' with no indication of how the mode is selected or how it differs from the sibling select_mcp_or_skills, which overlaps with 'available MCP/skill catalogs'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all: nothing says when to call this versus wait_for_message or get_message, nor when to supply task_id, session_id, or neither. The closing caveat 'A connected worker is not necessarily executing a task' is an interpretation hint, not a usage rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| skills | No | ||
| session_id | No | ||
| mcp_servers | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations only declare readOnlyHint=false, destructiveHint=false and openWorldHint=true, and the description adds the mutation semantics beyond that. It states that empty arrays disable a category, that omitted fields preserve the current selection, and that running workers are unaffected. Those behaviors matter for safe invocation. What is still missing is what happens when no arguments are passed, that is, whether that triggers listing mode.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, no wasted words, and the most important constraint, that empty arrays disable a category, comes early. The dual opening 'List available choices, or select...' is slightly ambiguous as a first sentence, but overall the structure is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter configuration tool with no output schema and no readable annotations, the description covers the selection semantics well. It still leaves the listing mode and the session_id parameter undefined, which are real gaps for an agent trying to call this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the schema supplies no meaning for any of the three parameters. The description does explain the semantics of the two array parameters: empty arrays disable a category, and omitted fields keep the current selection. The third parameter, session_id, is never mentioned, and its relationship to the 'running worker' note is left to inference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a concrete verb-and-resource pair: list available choices, or select MCP servers and SKILL.md instructions for new sessions. That is a clear purpose. It does not, however, distinguish itself from the sibling select_model, which follows the same 'select a thing' pattern, so an agent must infer the boundary rather than read it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'for new sessions' and 'a running worker keeps its configuration' imply scope boundaries. However, the description never states when to invoke listing mode versus selection mode, or whether this is appropriate for mid-session changes. The when-to-use guidance is suggested rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| model_id | No | ||
| session_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=true, so the agent knows this mutates non-destructively in an open world. The description adds real context beyond that: the 'idle session' precondition and that changes are acknowledged by WorkBuddy. It omits what happens if the session is busy, whether an existing model selection is replaced, and whether other sessions are affected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the primary operation and then the parameter-dependent branches. The parenthetical '(omit model_id)' is slightly awkward but eliminates ambiguity efficiently; no filler sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-optional-parameter tool with no output schema and no required fields, the description covers the modes of operation adequately. Gaps remain around how the model list is returned and what 'idle' means operationally, which matter because the same tool both reads and mutates.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description carries the full burden, and it does explain the presence/absence semantics of both parameters precisely (omit model_id = list, omit session_id = new session). It does not indicate what a valid model_id looks like or where to obtain one, leaving a gap on value format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (runtime-reported models) and a specific action (select one for a session), and it resolves the ambiguity created by the tool name by explaining that omitting model_id turns it into a list operation. It does not distinguish this tool from siblings such as select_mcp_or_skills, which likely also performs selection, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives concrete trigger conditions for parameter omission (omit model_id to list, omit session_id to create a new managed session) and notes selection applies to an 'idle session'. However, it never names an alternative tool or says when not to use this one versus select_mcp_or_skills or send_message, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No | ||
| message | No | ||
| request_id | No | ||
| session_id | No | ||
| elicitation_action | No | ||
| elicitation_content | No | ||
| permission_option_id | No | ||
| reply_to_interruption_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds meaningful behavioral context beyond that: it returns a task_id immediately (asynchronous), request_id reuse with the same payload is idempotent, and it can reply to structured permission/elicitation IDs. It does not discuss auth or rate limits, but for a tool with annotations that is not a major gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences and front-loads the primary purpose. Every sentence adds information (async return, idempotency, reply capability), though the third sentence is slightly vague about how the structured ID is used.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 8 optional parameters, nested object content, an enum, and no output schema, the description is incomplete. It does not explain parameter combinations (e.g., what is required to reply to a permission versus send a normal message), the meaning of elicitation_action values, or the roles of cwd and session_id. The core behavior is covered, but the definition is not complete enough for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 8 parameters, so the description carries the full burden. It explains idempotency for request_id and hints at reply_to_interruption_id / permission_option_id via 'structured ID,' but leaves cwd, message, session_id, elicitation_action, and elicitation_content entirely undocumented. The partial compensation is not enough for this many parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Start or continue a dedicated WorkBuddy conversation,' and adds that it returns a task_id and can reply to permissions/elicitations. It does not explicitly differentiate itself from siblings like get_message or wait_for_message, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies when to use the tool (starting or continuing a conversation, replying to a pending permission or elicitation) but gives no explicit exclusions or named alternatives. An agent can infer usage, but there is no guidance on when to choose this over get_message or wait_for_message.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| force | No | ||
| task_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=false, destructiveHint=false and openWorldHint=true; the description adds genuinely new context: the tool is asynchronous ('reports cancelling until WorkBuddy confirms cancellation') and force=true is scoped to the listener-owned worker after a grace period, explicitly never the desktop application. This bounded-destruction language is consistent with destructiveHint=false rather than contradicting it. It does not cover failure modes, such as cancelling a nonexistent or already-completed task.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the core action and followed by the async behavior and the force-safety boundary. Every sentence carries distinct information with no repetition of the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with no output schema, the description covers the essentials: what happens on call, the asynchronous confirmation state, and the exact blast radius of force. Only edge cases (invalid task_id, already-finished tasks) are left out.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter burden. It does so well for the non-obvious parameter, explaining that force=true may terminate only the listener-owned worker after a grace period; task_id is self-explanatory from its name and required status. The 'grace period' duration and worker scope details remain unspecified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Request native task cancellation' for a given task. The purpose is unambiguous and no sibling (send_message, get_status, wait_for_message, etc.) overlaps with task cancellation, though the description never explicitly contrasts itself with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent infers it should call this when it wants to cancel a running task. There is no explicit 'use when' statement, no guidance on when cancellation is inappropriate, and no mention of preconditions such as the task being active or owned by the caller.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wait_for_messageBRead-only
Wait for task events, terminal state or required user input. Timeout returns without stopping the task. Continue with next_cursor.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| task_id | Yes | ||
| after_cursor | No | 0 | |
| include_partial | No | ||
| timeout_seconds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a safe read (readOnlyHint=true, destructiveHint=false, openWorldHint=false), but the description adds the non-obvious blocking behavior: a timeout expires without terminating the task, and results are continued via a cursor. That is exactly the kind of trait an agent cannot infer from the annotations. It omits the 60-second maximum wait and whether partial data can come back.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the core purpose and followed by the two behavioral facts that matter. Nothing is padded, though the terseness is partly why the parameter and return semantics go unexplained.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With five undocumented parameters, no output schema, and a polling/long-wait contract, the description is too thin. An agent learns how to continue a stream but not what a call returns, what happens to partial events, or how limit interacts with paging. The cursor/paging loop is the only area adequately covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across five parameters, so the description must carry the load, and it does not. It mentions 'next_cursor', which does not match the actual parameter name 'after_cursor', and says nothing about limit, include_partial, or the 0-60 timeout_seconds bound. The one cursor reference is at least directionally useful, which keeps this above 1.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Wait for task events, terminal state or required user input.' That clearly separates it from the fire-and-forget siblings like send_message and get_message, which return immediately. It stops short of naming a sibling explicitly, so it lands at 4 rather than 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Timeout returns without stopping the task. Continue with next_cursor' gives a concrete loop pattern for repeated calls, which is genuinely usable guidance. However, it never says when to prefer this over get_status or get_message, nor whether calling it is required before reading results, so the when-to-use guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
7 tool updates
v0.1.0- First observed
get_message - First observed
get_status - First observed
select_mcp_or_skills - First observed
select_model - First observed
send_message - First observed
stop_task - First observed
wait_for_message
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.
Maintenance
Related MCP Connectors
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Your org's AI agents, tasks, runs, search, and brain files as MCP tools and resources.
Build and run AI workflows, agents, data tables and 1000+ API integrations from any MCP client.
Hosted MCP runtime where your agent publishes its own tools by tool call and keeps working.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI agents and users to manage workspace files, monitor system metrics, take persistent notes, and retrieve weather data via MCP tools and resources.-
- AlicenseAqualityBmaintenanceEnables AI coding agents like Claude Code, Codex, Cursor, and OpenCode to delegate tasks to the WorkBuddy CLI as a sub-agent via an MCP tool, with one-command setup and configurable model/permission options.1262 npm7MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI clients to securely control and interact with a local Windows machine through 218 configurable tools for files, Git, processes, Windows UI, browser automation, WSL, Office, recovery, skills, and child MCP servers.1 npmMIT
- AlicenseAqualityAmaintenanceEnables a main agent to delegate execution tasks to WorkBuddy through MCP, supporting multi-turn sessions, task status tracking, permission approvals, execution reports, and CLI fallback.1058 npm2MIT