Redbooth MCP Server
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., "@Redbooth MCP ServerWhat's overdue in the Website project?"
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.
Redbooth for Claude (MCP Server)
Connect Redbooth to Claude Desktop, Claude Code, Cursor, Antigravity, and other MCP clients in one click—no API keys or developer setup needed.
"What's overdue in the Website project?" · "Create a task for Anna to review the Q3 deck by Friday" · "Summarize the comments on task 12345 and mark it done"
Quick Install
Option A: Claude Desktop (1-Click Extension)
Download
redbooth.mcpbfrom the latest release.Double-click
redbooth.mcpb(or drag it into Claude Desktop → Settings → Extensions) and click Install.Ask Claude anything about your Redbooth workspace (e.g. "List my Redbooth projects").
On your first question, your browser will automatically open to Redbooth—click Allow and you're connected!
Option B: Claude Code (1 Command)
claude mcp add redbooth -- npx -y redbooth-mcpOption C: Cursor / Antigravity / Claude Desktop JSON
Add this to your MCP settings (claude_desktop_config.json, .cursor/mcp.json, or Antigravity MCP settings):
{
"mcpServers": {
"redbooth": {
"command": "npx",
"args": ["-y", "redbooth-mcp"]
}
}
}Related MCP server: redmine-mcp
How Sign-In & Privacy Work
Automatic browser sign-in: The first time you ask your assistant to read or update Redbooth, it opens your default browser to Redbooth's official OAuth screen. Click Allow, and your tokens are saved locally in
~/.config/redbooth-mcp/tokens.json(permissions0600) and refreshed automatically.Direct connection: A tiny, stateless Cloudflare Worker (
worker/) handles only the initial OAuth handshake so you don't have to register your own Redbooth developer app. It stores zero data. All your projects, tasks, and comments flow directly between your computer andhttps://redbooth.com.Switch accounts anytime: Ask Claude to "log out of Redbooth" or run
npx -y redbooth-mcp logout.
Available Tools (21)
Tool | Description | Writes? |
| Connect or disconnect your Redbooth account in the browser | |
| Current user profile | |
| Your organizations | |
| Users (filter by org or project), to find assignee IDs | |
| Projects | |
| Create a project | ✏️ |
| Task lists in a project | |
| Create a task list | ✏️ |
| Filter by project, list, assignee, status | |
| Task details | |
| Create a task (name, description, assignee, due date, urgent) | ✏️ |
| Change any task field, or move it to another list | ✏️ |
| Mark a task resolved | ✏️ |
| Checklist items | ✏️ (create/update) |
| Task comments | ✏️ (add) |
| Read-only escape hatch for any API v3 GET path |
Read-only mode: Enable the Read-only mode toggle in Claude Desktop's extension settings (or set
REDBOOTH_READ_ONLY=true) to disable all ✏️ tools. Delete tools are intentionally excluded.
Advanced: Self-Hosting / Custom OAuth App
If you prefer not to use the default stateless OAuth broker, you can either deploy your own Cloudflare Worker (see worker/README.md) or register a personal Redbooth app at https://redbooth.com/oauth2/applications (Redirect URI http://localhost:8765/callback):
Variable | Purpose |
| Disable all write tools |
| Point to your own Cloudflare Worker OAuth broker |
| Use your own Redbooth OAuth app directly (bypasses the broker) |
| Use a static access token |
| Custom token file location (default |
Development
git clone https://github.com/rmstougaard/redbooth-mcp.git && cd redbooth-mcp
npm install
npm run build
npm test
npm run inspect # opens the MCP Inspector against the local buildLicense
MIT. This is an unofficial project and is not affiliated with Redbooth.
Available Tools
21 toolsadd_commentAdd commentC
Post a comment on a Redbooth task.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Comment text. | |
| task_id | Yes | The task ID. |
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 externally. The description adds nothing beyond that — no detail on return behavior, whether the comment is editable/removable afterward, or any auth/rate-limit constraints, so it contributes almost no behavioral context.
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?
A single efficient sentence with the action front-loaded and zero filler. It is appropriately short for a two-parameter tool, though the brevity edges toward under-specification rather than tightly packed 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?
For a simple two-parameter mutation the schema and annotations cover most needs, but with no output schema the description never says what comes back (e.g., the created comment ID) or whether the body supports markup/mentions. Adequate but with clear gaps.
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 100% (both task_id and body are described in the schema, including minLength and exclusiveMinimum constraints), so the schema carries the semantics. The description adds no format, length, or formatting guidance for the comment body beyond what is already documented.
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 ('Post a comment on a Redbooth task'), which is immediately distinguishable from list_comments and the comment-less task/subtask tools. It does not explicitly name a sibling or contrast scope, but the action is unambiguous.
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 or when-not-to-use guidance, no mention of prerequisites (e.g., the task must exist), and no routing to alternatives such as list_comments or update_task. Only the action itself is conveyed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
complete_taskComplete taskB
Mark a Redbooth task as resolved (done).
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | The task ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false (a mutation), destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds the semantic outcome (task moves to the resolved/done state), but says nothing about reversibility, behavior on an already-completed task, or permission requirements.
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?
A single short sentence with zero filler, front-loaded with the action and resource. Nothing is wasted.
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 one-parameter state-change tool with no output schema and annotations covering safety, this is nearly complete. The only real gap is sibling disambiguation against update_task and any idempotency/error behavior.
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 100% for the single task_id parameter, so the schema fully documents the input. The description adds no format hints or constraints (e.g. how to obtain the ID), so the baseline 3 applies.
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 ('Mark ... as resolved') and resource ('Redbooth task'), and the parenthetical '(done)' pins down the exact target state. It does not distinguish itself from update_task, which could plausibly also change status, so an agent may hesitate between siblings.
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, no mention of the update_task alternative, and no note on prerequisites such as whether the task must be assigned to the caller or already be in progress. Usage must be inferred entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_projectCreate projectC
Create a new Redbooth project in an organization.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Project name. | |
| description | No | Optional project description. | |
| organization_id | Yes | Organization to create the project in. |
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 mutation/open-world profile is covered. The description adds essentially nothing beyond them: no mention of required permissions, name uniqueness constraints, or side effects such as default task lists being created.
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?
A single front-loaded sentence with no filler. It is efficient, though arguably too terse to earn a top mark given the tool's creation semantics.
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 simple 3-parameter create call with a fully documented flat schema and no output schema, the description covers the essentials. It nonetheless omits what an agent would benefit from knowing about a creation operation, such as permissions and whether the returned project ID is usable immediately.
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 100%, so all three parameters (name, description, organization_id) are already documented in the schema with required/optional status. The description only restates the organization scoping, adding no format or constraint detail; baseline 3 applies.
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 ('Create') plus the resource ('Redbooth project') and its scope ('in an organization'). The sibling list contains other create_* tools, but the resource noun makes the target unambiguous; still, the description doesn't explicitly contrast itself with siblings.
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?
No indication of when to use this versus alternatives (e.g., when to nest under an existing project vs. create fresh), no prerequisites such as needing an organization_id from list_organizations first. The reader must infer everything from the schema's required fields.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_subtaskCreate subtaskB
Add a subtask (checklist item) to a Redbooth task.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Subtask text. | |
| task_id | Yes | The task ID. |
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 only the 'checklist item' clarification and says nothing about side effects, whether the subtask is created incomplete, or what the call returns — minimal value beyond structured fields.
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?
A single short sentence with the verb and resource front-loaded and zero filler. Nothing is padded or redundant.
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 simple two-parameter creation tool with a fully documented schema and covering annotations, the description is minimally adequate. However, with no output schema, the agent gets no hint about what a successful creation returns (e.g., the new subtask ID), which is a real gap for a create operation.
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 100%, with both required parameters (task_id, name) documented in the schema itself. The description adds no format, constraint, or relationship detail beyond what the schema already provides, so the baseline 3 applies.
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 ('Add'), the resource ('subtask'), and disambiguates the domain term with '(checklist item)' scoped to 'a Redbooth task'. An agent can distinguish it from update_subtask or list_subtasks by the verb, though no sibling is named explicitly.
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 guidance on when to use this versus update_subtask or create_task, and no stated prerequisites (e.g., that the parent task must already exist or that this creates a checklist item rather than a full task). The agent must infer all usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_taskCreate taskA
Create a Redbooth task. Requires a project_id and a task_list_id (use list_task_lists to find one).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Task title. | |
| due_on | No | Due date in YYYY-MM-DD format. | |
| urgent | No | Mark the task as urgent. | |
| project_id | Yes | The project ID. | |
| description | No | Task description. | |
| task_list_id | Yes | The task list ID. | |
| assigned_user_id | No | User ID to assign the task to. |
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 structurally. The description adds that the operation is against Redbooth and names mandatory identifiers, but says nothing about permissions, side effects (notifications/assignments), or failure modes beyond what annotations supply.
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?
Two short sentences with no filler; the action is front-loaded and the prerequisite guidance follows immediately. Nothing is redundant with the tool name or title.
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 7-parameter create tool with 100% schema coverage, full annotations, and no output schema, this covers the essentials: what it creates and which IDs must be sourced first. It is slightly thin on what the returned entity is and on the optional fields, but nothing critical is missing.
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 100% and every parameter (name, due_on, urgent, project_id, description, task_list_id, assigned_user_id) is documented in the schema. The description only restates the two required IDs and adds no format or constraint detail, so the baseline 3 applies.
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 ("Create a Redbooth task"), which cleanly separates it from create_subtask, create_task_list, and update_task. It does not, however, explain how a task differs from a subtask or a task list, so sibling differentiation is only partial.
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?
Gives a concrete prerequisite workflow — "Requires a project_id and a task_list_id (use list_task_lists to find one)" — which tells the agent it must resolve IDs first. It stops short of stating when to prefer create_task over create_subtask or how it relates to update_task/complete_task.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_task_listCreate task listC
Create a new task list in a Redbooth project.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Task list name. | |
| project_id | Yes | The project ID. |
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 structurally. The description adds only the implicit fact that the list belongs to a project — it says nothing about permissions required, duplicate-name behavior, or what is returned after creation.
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?
A single front-loaded sentence with zero filler, which is appropriate for a simple two-parameter create call. It is however terse to the point of omitting behavioral context, so it is efficient rather than exemplary.
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 straightforward create tool with a fully documented 2-parameter schema and annotations that already cover the mutation/safety profile, the description is minimally sufficient. It leaves gaps around permissions and post-creation behavior, but those are minor for this complexity level.
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 100%: both name and project_id are documented in the schema with type and constraint details. The description adds no syntax or format meaning beyond 'in a Redbooth project', so the baseline 3 applies.
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 clear verb+resource ('Create a new task list') and scopes it to a Redbooth project, which separates it from siblings like create_task, create_project, and create_subtask. It stops short of explicitly naming those alternatives, so it lands just below the top band.
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, no prerequisite (e.g., that the project must exist or that the caller needs write access), and no mention of related tools such as list_task_lists or list_tasks. The agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_meGet current userARead-only
Get the authenticated Redbooth user (useful to find your own user ID).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description reinforces that this returns the caller's own identity (no arguments, no side effects), but adds nothing about permissions or rate limits beyond the structured hints.
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?
A single tight sentence front-loads the action and resource, with the use case in a brief parenthetical. No waste.
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?
No output schema exists, so an agent might benefit from knowing what fields the user record contains; that detail is absent. For a trivial zero-argument read, though, the definition is nearly complete and the missing return detail is minor.
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?
With zero parameters there are no argument semantics to document, so the baseline is a 4. The description correctly signals the no-argument nature via its self-referential scope.
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?
'Get the authenticated Redbooth user' states a specific verb and resource, and 'your own user ID' clarifies the scope is the caller's identity. It implicitly distinguishes itself from sibling list_users by emphasizing the authenticated self, though it never names that sibling directly.
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?
The parenthetical 'useful to find your own user ID' gives a concrete reason to call it, which is better than nothing. However, there is no explicit when-not guidance or naming of alternatives (e.g. list_users for other accounts), leaving the routing choice to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_projectGet projectBRead-only
Get details of a single Redbooth project.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | The project ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is fully covered. The description adds nothing beyond that — no note on lookup failure behavior, live-API latency, or what a project record contains.
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?
One short, front-loaded sentence with no redundancy or filler. Nothing could be removed without losing meaning.
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 trivial single-resource read with a fully documented parameter and annotations covering safety, the description is adequate. It could be slightly richer about source of IDs or error handling, but nothing essential is missing.
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 100% and the single project_id parameter is fully documented in the schema, so the description needn't repeat it. Baseline 3 applies since no additional parameter meaning (e.g. where IDs come from) is provided.
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 ('Get') and resource ('a single Redbooth project'), which separates it from list_projects by implying a single-item lookup. It doesn't name the sibling explicitly, but the scope is unambiguous.
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?
The word 'single' hints at the distinction from list_projects, but there is no explicit when-to-use guidance, no prerequisites, and no named alternative. Usage is only implied by the noun phrase.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_taskGet taskARead-only
Get full details of a single Redbooth task.
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | The task ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered without the description. The description adds only that the result is 'full details', with no note on permissions, missing-task behavior, or rate limits.
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?
A single tight sentence with zero waste and the core resource front-loaded. Nothing extraneous, though it is arguably too terse to be maximally useful.
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 simple single-read tool whose annotations carry the safety profile and whose one parameter is fully documented, the description is close to sufficient. The only gap is that 'full details' does not characterize what the returned task actually contains.
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 100%, so task_id is fully documented in the schema. The description adds no format, constraint, or ID-sourcing detail beyond what the schema already provides, making the baseline 3 appropriate.
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 ('Get') and resource ('single Redbooth task') with the scope qualifier 'full details'. It implicitly distinguishes itself from the sibling list_tasks by emphasizing 'single', but never names it explicitly, so it falls 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?
The phrase 'a single task' implies the fetch-one-by-id use case versus listing, but there is no explicit when-to-use, prerequisites, or named alternative. Usage is only inferable from the required task_id.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_commentsList commentsCRead-only
List comments on a Redbooth task.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of items to return (default 50). | |
| task_id | Yes | The task ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is fully covered elsewhere. The description adds nothing beyond that — no ordering, pagination, or result-shape behavior — so it earns little credit beyond the annotated baseline.
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?
A single front-loaded sentence with zero padding. Its brevity is efficient rather than merely under-specified, though it is close to the minimum viable length.
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?
No output schema exists, so the description could ideally say something about the returned comment objects or ordering. For a simple annotated read-only list tool this is a minor gap, but it is left entirely to inference.
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 100%: task_id and limit are both documented in the schema, including the default of 50 and max of 500. The description adds no syntax or format detail, so the baseline 3 is appropriate.
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 (list) and resource (comments) scoped to a Redbooth task, so the operation is unambiguous. It does not explicitly contrast with the sibling add_comment, which is the one tool an agent could confuse it with, so it falls 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?
There is no when-to-use guidance, no prerequisites, and no mention of the add_comment alternative for writing comments. The only implied usage is the required task_id.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_organizationsList organizationsBRead-only
List Redbooth organizations the current user belongs to.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of items to return (default 50). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered by structured data. The description adds only the membership scoping constraint and says nothing about pagination behavior or the default page size, which the limit parameter makes relevant.
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?
One sentence, front-loaded with the verb and resource, with zero filler. It is efficient, though arguably bordering on under-specified rather than maximally informative.
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 simple, annotation-covered read-only list tool with one optional parameter and no output schema, the description is minimally sufficient. It omits any note on pagination or what an organization record contains, which would be the remaining useful additions but are not strictly required.
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?
There is a single optional limit parameter and schema description coverage is 100%, so the schema already documents default (50) and max (500). The description adds no additional meaning, which is the expected baseline when the schema does the heavy lifting.
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 specific verb (List) and resource (Redbooth organizations) plus a scope qualifier (the current user belongs to), so an agent knows exactly what is returned. It does not, however, distinguish itself from sibling listing tools like list_users or list_projects, 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?
Usage is implied by the scope phrase 'the current user belongs to' — this is your own org list, not a search or an admin-wide enumeration. There is no explicit when-to-use directive, no exclusion, and no named alternative among the many list_* siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_projectsList projectsARead-only
List Redbooth projects (workspaces) you have access to.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of items to return (default 50). | |
| archived | No | true = only archived, false = only active. | |
| organization_id | No | Only projects in this organization. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, covering the safety profile. The description adds the scoping constraint 'you have access to', which is useful context, but does not disclose return format, pagination, or other behavioral details beyond what annotations and schema provide.
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?
A single, front-loaded sentence with zero waste. It states the purpose and access scope efficiently.
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 simple list tool with full parameter documentation and annotations covering safety, the description is largely complete. Minor gaps remain around return format and explicit alternative routing, but these are not critical given the tool's simplicity.
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 100%, so all three parameters (limit, archived, organization_id) are fully documented in the schema. The description adds no additional parameter semantics; baseline 3 is appropriate when the schema does the heavy lifting.
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 ('List') and resource ('Redbooth projects (workspaces)') with an access scope. It is clear what the tool does, but it does not explicitly distinguish itself from siblings like get_project or list_organizations.
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?
The description implies usage (listing projects you have access to) but does not specify when to use this tool versus alternatives such as get_project for a single project or list_organizations. No explicit exclusions or prerequisites are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_subtasksList subtasksBRead-only
List the subtasks (checklist items) of a Redbooth task.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of items to return (default 50). | |
| task_id | Yes | The task ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, covering the safety profile. The description adds nothing beyond that: no pagination behavior, ordering, or return-shape context (the schema's default-50 limit is the only pagination signal). With annotations carrying the safety burden, this is a bare minimum.
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?
A single front-loaded sentence with no wasted words. It is appropriately sized for a trivial read tool, though its brevity borders on under-specification rather than economy.
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 simple read-only list endpoint whose annotations cover the safety profile and whose schema covers both parameters, the description is nearly sufficient. A note on pagination or result ordering would close the remaining gap.
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 100%, so both parameters (limit, task_id) are already documented in the schema, and the description says nothing that adds format or range meaning. Baseline 3 applies when structured fields do the heavy lifting.
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 verb (list) and resource (subtasks/checklist items of a Redbooth task), so the agent knows exactly what comes back. It does not explicitly contrast with siblings like list_tasks or create_subtask, though the parenthetical clarification of 'checklist items' helps disambiguate.
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 implied: the tool operates on a task, and the schema marks task_id as required, so the agent can infer it must supply a parent task. There is no explicit when-to-use, when-not-to-use, or alternative tool guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_task_listsList task listsBRead-only
List the task lists in a Redbooth project. A task must belong to a task list.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of items to return (default 50). | |
| archived | No | true = only archived lists, false = only active lists. | |
| project_id | Yes | The project ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds domain context about task lists but does not elaborate on pagination, default behavior, archived results, or return shape.
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 two concise sentences, front-loads the core operation, and uses the second sentence for relevant domain context. There is no wasted wording.
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 simple read-only listing tool with full parameter schema coverage and clear annotations, the description is nearly complete. It could mention pagination or archived filtering behavior, but the schema already documents those parameters.
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?
The input schema has 100% description coverage for all three parameters, including limit, archived, and project_id. The description only reinforces project scoping and does not add parameter-level meaning beyond the schema, which is acceptable at baseline 3.
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 clear verb and resource: it lists task lists within a Redbooth project. This is specific enough to distinguish it from siblings like create_task_list and list_tasks, though it does not explicitly name alternatives or state exclusions.
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?
The description explains what the tool does but gives no explicit guidance on when to use it versus alternatives such as create_task_list or list_tasks. The domain note that tasks must belong to a task list is contextual but not actionable usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tasksList tasksARead-only
List Redbooth tasks. Filter by project, task list, assignee and/or status. Without filters returns tasks across all your projects.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of items to return (default 50). | |
| status | No | Only tasks with these statuses, e.g. ["new","open"] for unfinished tasks. | |
| project_id | No | Only tasks in this project. | |
| task_list_id | No | Only tasks in this task list. | |
| assigned_user_id | No | Only tasks assigned to this user ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the important default scope behavior, but does not mention pagination behavior or return characteristics beyond the implicit list result.
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 action and followed by filter behavior and the no-filter default. There is no wasted text.
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 simple read-only list tool with complete parameter documentation and safety annotations, the description is nearly complete. It could more explicitly mention that results are paginated or limited, but the schema already documents the limit parameter.
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 100%, so the schema already documents all five parameters in detail. The description maps the filters to project, task list, assignee, and status, but adds no syntax or semantics beyond what the schema provides.
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 clearly states a specific verb and resource: it lists Redbooth tasks and identifies supported filters. It is distinguishable from most siblings, though it does not explicitly differentiate itself from get_task or list_subtasks.
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 explains that filters can be used and that omitting filters returns tasks across all projects, which is clear usage context. It stops short of naming when to use an alternative such as get_task for a single task.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_usersList usersARead-only
List Redbooth users visible to you. Use this to find user IDs for assigning tasks. Optionally filter by organization or project.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of items to return (default 50). | |
| project_id | No | Only users in this project. | |
| organization_id | No | Only users in this organization. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds the useful visibility constraint ('visible to you'), but says nothing about pagination, result ordering, or how the limit interacts with the filters.
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, purpose and use-case front-loaded, filtering capability last. No filler and nothing repeated from the schema or title.
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, the description is silent on what a returned user record contains (name, email, id fields) and on pagination behavior. Everything else an agent needs to invoke the tool correctly is present, so the gap is minor.
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 100%, so limit, project_id and organization_id are already documented in the schema, including the default and maximum. The description's mention of organization/project filtering adds no syntax or semantics beyond what the schema provides, so the baseline 3 applies.
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 ('List Redbooth users') plus a scope qualifier ('visible to you'), so the agent knows exactly what is returned. It doesn't explicitly name the sibling tools it is distinct from (list_organizations, list_projects, get_me), but the resource noun is unambiguous.
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?
'Use this to find user IDs for assigning tasks' gives a concrete motivating scenario, which most definitions lack. It stops short of naming alternatives or stating when not to use it, so it does not reach the explicit when/when-not bar.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
loginLog in to RedboothARead-only
Sign in to your Redbooth account in the browser. Zero configuration required – opens your browser to Redbooth's authorization screen and waits for you to click Allow.
| Name | Required | Description | Default |
|---|---|---|---|
| wait_seconds | No | How long to wait for browser approval (default 90). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/openWorld/non-destructive, so the bar is lower, yet the description still adds real behavioral context: it opens a browser, requires the human to click Allow, and blocks while waiting. It does not cover failure/timeout behavior or whether the session persists.
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?
Two short sentences, front-loaded with the action and followed by the mechanism. Nothing redundant and nothing that could be trimmed 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?
For a one-parameter, interactive auth tool with annotations covering the safety profile, the description supplies what an agent needs to know: it is interactive, browser-based, and blocking. It stops short of describing timeout/failure outcomes, which is the only notable gap.
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 100% and the single parameter is fully documented in the schema (type, bounds, default 90). The description's 'waits for you to click Allow' reinforces what wait_seconds means but adds no syntax or default information beyond the schema, so baseline 3 applies.
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 ('Sign in to your Redbooth account') and immediately clarifies the mechanism — browser-based authorization rather than a token/credential call. This makes it unmistakable next to logout and the data-reading siblings.
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?
'Zero configuration required' implies no prerequisites and hints this is the entry point for browser auth, but there is no explicit when-to-use guidance, no mention of when it is unnecessary (e.g., already authenticated), and no alternative named. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logoutLog out of RedboothARead-only
Disconnect the current Redbooth account and remove locally stored OAuth tokens.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description states the tool removes locally stored OAuth tokens, i.e. it modifies environment state, while the annotations declare readOnlyHint=true (destructiveHint=false). This is a direct conflict on the read-only/mutation axis. Per the rubric, a contradiction with annotations caps this dimension at 1.
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?
One sentence that front-loads the account disconnect and follows with the token removal. No filler, no redundancy.
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 zero-parameter, no-output-schema tool the description covers the essential behavior: ending the session and clearing credentials. It does not say whether the disconnect is server-side revocation or purely local, or what happens if no session exists, but the complexity is low enough that this is a minor omission.
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?
The schema has zero parameters, so the baseline is 4. The description adds no parameter behavior because there is nothing to parameterize, which is acceptable here.
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?
Names a specific verb+resource pair ('Disconnect the current Redbooth account') plus the concrete side effect ('remove locally stored OAuth tokens'). An agent can distinguish this from the sibling 'login' without opening either schema.
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: 'disconnect the current account' suggests the agent invokes it when ending a session, but there is no explicit when/when-not statement or named alternative. For a tool whose only counterpart is 'login', this is adequate but leaves the trigger condition to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
redbooth_api_getRaw Redbooth GETARead-only
Escape hatch: perform a read-only GET against any Redbooth API v3 path (e.g. path '/notes' with query {"project_id": 1}). Use only when no dedicated tool fits. Returns the raw JSON.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | API path relative to https://redbooth.com/api/3, e.g. '/conversations'. | |
| query | No | Query parameters, e.g. {"project_id": 123}. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint=false, and openWorldHint, so safety and openness are covered. The description adds genuine context beyond them: it is an escape hatch hitting arbitrary API paths, and it returns raw JSON rather than a normalized object. Auth requirements and rate limits are not mentioned, but that is a minor gap given the annotation coverage.
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 'Escape hatch' framing that tells the agent what kind of tool this is, followed by the usage constraint and return type. No filler.
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 generic passthrough tool with no output schema, the description covers the essentials: what it does, when to use it, and that the response is raw JSON. It does not sketch the response shape or pagination, but since the path is arbitrary that would be difficult and largely unnecessary.
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 100%, and the schema already supplies examples for both params ('/conversations', {"project_id": 123}). The description's example ('/notes' with {"project_id": 1}) reinforces the same pattern but adds no new syntax or constraint information, so the baseline 3 applies.
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 ('perform a read-only GET against any Redbooth API v3 path') and frames itself as an escape hatch, which cleanly separates it from the dedicated list_/get_/create_ siblings. An agent can identify its role without opening the schema.
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?
Gives an explicit usage condition and exclusion: 'Use only when no dedicated tool fits,' which steers the agent toward the specialized tools first. It does not name any specific alternative, but the exclusion is unambiguous and sufficient for routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_subtaskUpdate subtaskB
Rename a subtask and/or mark it resolved/unresolved.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| resolved | No | true = checked off, false = reopen. | |
| subtask_id | Yes | The subtask ID. |
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 that only name and resolved state can be changed (an implicit partial-update contract), but says nothing about auth requirements, what happens to omitted fields, or whether renames/resolution are reversible. Modest added value over annotations.
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?
A single efficient sentence with the two mutation modes front-loaded; nothing is wasted. It is terse to the point of omitting useful context, but there is no padding or repetition.
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 3-parameter mutation tool with no output schema and only annotation-level safety coverage, the description covers the core semantics but leaves auth/permission needs, precedence when both fields are supplied, and the result of the operation unstated. Adequate minimum but with clear gaps.
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 67%: resolved and subtask_id carry their own descriptions, but name is only typed as a non-empty string. The description compensates partly by naming 'rename' and 'resolved/unresolved' as the two changeable aspects, linking them to the parameters. It adds no format, length, or uniqueness constraints beyond the schema.
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 the specific operations (rename, mark resolved/unresolved) on a specific resource (subtask), so an agent knows exactly what the tool mutates. It does not explicitly compare itself to siblings like update_task or complete_task, which is its only gap.
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, no mention of alternatives (e.g., update_task at the parent level, or create_subtask), and no statement of preconditions such as the subtask already existing. The 'and/or' phrasing implies partial updates are allowed but stops short of usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_taskUpdate taskA
Update fields on an existing Redbooth task. Only the provided fields are changed.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | New title. | |
| due_on | No | Due date in YYYY-MM-DD format. | |
| status | No | New status ("resolved" marks it done). | |
| urgent | No | ||
| task_id | Yes | The task ID. | |
| description | No | New description. | |
| task_list_id | No | Move to another task list. | |
| assigned_user_id | No | Reassign to this user ID. |
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 the partial-update guarantee, which is meaningful behavioral context, but says nothing about permissions, whether moving between task lists has side effects, or what the response contains.
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?
Two short sentences, zero filler, with the core action stated first and the mutation semantics second. Nothing could be removed 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?
For an 8-parameter mutation tool with no output schema, the description covers the essential contract (partial update of an existing task). It is a bit thin on the notable side effects of task_list_id and assigned_user_id, but the schema descriptions carry those details.
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 88%, so the schema already documents nearly every field including enum semantics for status and the YYYY-MM-DD constraint for due_on. The description adds only the general rule that unlisted fields remain untouched, so the baseline 3 applies.
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 ("Update fields on an existing Redbooth task"), distinguishing it from create_task and completing tools like complete_task by naming the domain entity. It does not explicitly contrast with complete_task or update_subtask, so sibling differentiation is only implicit.
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?
The phrase "Only the provided fields are changed" implies a partial-update usage pattern, which is a useful hint. However, it never states when to use this tool versus complete_task (which presumably changes status) or update_subtask, and offers no prerequisites or exclusions.
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.
21 tool updates
v0.1.0- First observed
add_comment - First observed
complete_task - First observed
create_project - First observed
create_subtask - First observed
create_task - First observed
create_task_list - First observed
get_me - First observed
get_project - First observed
get_task - First observed
list_comments - First observed
list_organizations - First observed
list_projects - First observed
list_subtasks - First observed
list_task_lists - First observed
list_tasks - First observed
list_users - First observed
login - First observed
logout - First observed
redbooth_api_get - First observed
update_subtask - First observed
update_task
TDQS
Scored across 21 tools
Each tool targets a distinct resource+action (projects, tasks, subtasks, comments, users), so selection is mostly clear. The only mild overlap is complete_task vs update_task, but the description explicitly distinguishes the resolved-state shortcut.
Nearly all tools follow a consistent snake_case verb_noun pattern (list_tasks, create_task, update_subtask). Minor deviations are login/logout (verb-only) and redbooth_api_get, which reverses the order and prefixes the domain.
21 tools is on the heavier side but justified for a full project-management surface spanning auth, orgs, users, projects, task lists, tasks, subtasks, and comments. No obvious filler tools.
Core create/read/update flows exist for tasks, subtasks, and comments, but the surface lacks delete operations (tasks, subtasks, projects, comments) and update_project/update_task_list, leaving notable lifecycle gaps. The read-only escape hatch helps but cannot cover writes.
Maintenance
Related MCP Connectors
- RedboothOAuthcom.redbooth
Manage Redbooth tasks, task lists, comments, tags and files from Claude and other AI assistants.
Task management for people and AI agents, with scoped OAuth access to issues, projects, and docs.
Task management for people and AI agents, with scoped OAuth access to issues, projects, and docs.
Hosted MCP server with managed OAuth for 15+ toolkits: Google Workspace, Fitbit, Oura, Kalshi, etc.
Related MCP Servers
- FlicenseNot gradedqualityAmaintenanceEnables MCP-capable clients to read and manage Basecamp 3 projects, todos, messages, card tables, documents, uploads, and search through OAuth-authenticated API calls.-
- AlicenseCqualityAmaintenanceEnables Claude to read and, when explicitly enabled, update projects, issues, time entries, versions, wiki pages, and supported helpdesk, agile, CRM, and checklist data through the Redmine REST API. It runs read-only by default with separate HTTP and Redmine-permission safeguards.171Apache 2.0
- FlicenseNot gradedqualityAmaintenanceEnables MCP-capable clients to browse, search, and manage Basecamp 3 projects, todolists, todos, messages, campfires, card tables, inbox forwards, documents, uploads, comments, events, and webhooks through OAuth-authenticated API calls, including downloading attachments as readable content.-
- FlicenseNot gradedqualityAmaintenanceEnables MCP-capable clients to read and manage Basecamp 3 projects, todos, messages, card tables, documents, uploads, and search through OAuth-authenticated API calls.-