Skip to main content
Glama

Get task dependencies

tasks_get_dependencies
Read-onlyIdempotent

Everything linked to one task, in both directions: what it is waiting on, what is waiting on it, and what it is merely related to. blocked is the answer that matters - true when something this task waits on is not Done yet, with blocked_by naming those. A task can be perfectly ready in every other respect and still be unstartable, so check this before telling anyone to get on with it. TWO DIFFERENT IDS COME BACK IN EVERY ENTRY, AND THEY ARE NOT INTERCHANGEABLE. dependency_id is the LINK between the two tasks - it is what tasks_remove_dependency deletes. task_id is the TASK on the other end - it is what tasks_get or tasks_update work on. Deleting takes dependency_id. Handing a task_id to tasks_remove_dependency matches no row, removes nothing, and still reports success.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
task_idYesThe task whose links you want, by title or id. A task id, never a dependency id.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only and idempotent behavior, but the description adds substantial behavioral context: the bidirectional nature of links, the blocked logic, the distinction between dependency_id and task_id, and the important warning that deleting with task_id silently removes nothing but still reports success. This goes well beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but every sentence earns its place: scope, meaningful blocked logic, usage guidance, and the critical ID warning. The front-loading of the core answer and the all-caps warning make the most important behavioral trap immediately visible.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description carries the burden of explaining return values; it does explain key fields like blocked, blocked_by, dependency_id, and task_id. It does not fully specify the exact output shape or every possible field, but it covers the information needed to call the tool and interpret its results correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single task_id parameter is already well described in the schema as 'by title or id' and 'never a dependency id.' The body description reinforces this distinction but does not add meaningfully new parameter semantics beyond what the schema already provides, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states what the tool does: returns everything linked to one task in both directions—waiting on, waiting for it, and merely related. It also names specific output concepts like blocked and blocked_by, which makes it easy to distinguish from general task lookup tools like tasks_get.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly advises checking this tool before telling anyone to proceed on a task, giving a clear when-to-use signal. It also distinguishes task_id from dependency_id and references tasks_remove_dependency, tasks_get, and tasks_update, so the agent knows which tool works with which ID.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

B3.4/5.0
Disambiguation4/5

Most tools follow a clear resource+action pattern and the descriptions are unusually precise about boundaries. A few near-overlaps remain: projects_get_finance vs projects_get_financials, and notes_create vs crm_log_activity on a deal are both plausible for recording a note on a deal.

Naming Consistency4/5

The domain_prefix_action convention is consistent across nearly all tools, e.g. crm_create_lead, projects_update_risk, timelog_approve_time. Deviations include standalone list_trash, meta tools like whoami/tool_search/tool_invoke, and the confusing projects_get_finance/projects_get_financials pair.

Tool Count1/5

With 105 tools, this far exceeds the 50+ threshold defined as an extreme mismatch. Even for a full ERP/CRM suite, the fine-grained split—39 project tools alone—creates a massive tool-selection surface that is hard for an agent to navigate reliably.

Completeness4/5

The surface covers CRM, projects, tasks, time/expenses, HR, notes, notifications, contracts, and reporting with create/read/update/delete for most primary entities. Minor gaps exist: crm_log_activity has no read-back path, contracts lack delete/restore, and proposals are intentionally read-only, but agents can work around these.