Skip to main content
Glama
dbos-inc

DBOS MCP Server

Official
by dbos-inc

list_workflows

Find and filter workflows in DBOS Conductor by status, user, time, queue, parent, or schedule to inspect execution details and debug application issues.

Instructions

List workflows from DBOS Conductor with optional filters.

Args: application_name (string, required): Name of the DBOS application workflow_uuids (array of strings, optional): Filter to only these specific workflow IDs workflow_name (string or array of strings, optional): Filter by workflow function name authenticated_user (string or array of strings, optional): Filter by the user who started the workflow start_time (string, optional): Filter workflows created after this time (ISO 8601) end_time (string, optional): Filter workflows created before this time (ISO 8601) completed_after (string, optional): Filter workflows completed after this time (ISO 8601) completed_before (string, optional): Filter workflows completed before this time (ISO 8601) dequeued_after (string, optional): Filter workflows dequeued after this time (ISO 8601) dequeued_before (string, optional): Filter workflows dequeued before this time (ISO 8601) status (string or array of strings, optional): Filter by status - PENDING, SUCCESS, ERROR, CANCELLED, ENQUEUED, DELAYED, or MAX_RECOVERY_ATTEMPTS_EXCEEDED application_version (string or array of strings, optional): Filter by application version forked_from (string or array of strings, optional): Filter to workflows forked from this workflow ID parent_workflow_id (string or array of strings, optional): Filter to child workflows of this parent workflow ID queue_name (string or array of strings, optional): Filter by workflow queue name limit (int, optional): Maximum number of workflows to return offset (int, optional): Number of workflows to skip (for pagination) sort_desc (bool, optional): Sort by creation time descending (default: false, ascending) workflow_id_prefix (string or array of strings, optional): Filter to workflow IDs starting with this prefix load_input (bool, optional): Include workflow input data in response (default: false; always false for private-mode applications) load_output (bool, optional): Include workflow output data in response (default: false; always false for private-mode applications) executor_id (string or array of strings, optional): Filter by executor ID running the workflow queues_only (bool, optional): Only return workflows that are on a queue (default: false) was_forked_from (bool, optional): If true, only return workflows that other workflows have been forked from (fork sources). If false, only return workflows that have never been forked from. To find the forks themselves, use forked_from instead. has_parent (bool, optional): If true, only return child workflows. If false, only return workflows without a parent. schedule_name (string or array of strings, optional): Filter to workflows started by these schedules

Returns: workflows: Array of workflow objects, each containing: - workflowId (string): The workflow ID - status (string): PENDING, SUCCESS, ERROR, CANCELLED, ENQUEUED, DELAYED, or MAX_RECOVERY_ATTEMPTS_EXCEEDED - workflowName (string): The name of the workflow function - workflowClass (string, optional): The name of the workflow's class, if any - workflowConfig (string, optional): The name with which the workflow's class instance was configured, if any - user (string, optional): The user who ran the workflow, if specified - assumedRole (string, optional): The role with which the workflow ran, if specified - roles (string, optional): All roles which the authenticated user could assume (JSON array) - input (string, optional): The workflow input, in a human-readable representation (only if load_input=true) - output (string, optional): The workflow's output, if any, in a human-readable representation (only if load_output=true) - error (string, optional): The error the workflow threw, if any (only if load_output=true; get_workflow always returns it) - createdAt (string): Workflow start time (ISO 8601) - updatedAt (string): Last time the workflow status was updated (ISO 8601) - queueName (string, optional): If this workflow was enqueued, on which queue - appVersion (string): The application version on which this workflow was started - executorId (string, optional): The executor to most recently execute this workflow - timeoutMs (int, optional): The start-to-close timeout of the workflow in ms - deadline (string, optional): The deadline of the workflow, computed by adding its timeout to its start time (ISO 8601) - deduplicationId (string, optional): Unique ID for deduplication on a queue - priority (int): Priority of the workflow on the queue (1-2147483647, lower is higher priority) - queuePartitionKey (string, optional): If this workflow is enqueued on a partitioned queue, its partition key - forkedFrom (string, optional): If this workflow was forked from another, that workflow's ID - parentWorkflowId (string, optional): If this is a child workflow, the ID of the parent workflow that started it - dequeuedAt (string, optional): When this workflow was dequeued from its queue (ISO 8601) - wasForkedFrom (bool): Whether another workflow has been forked from this one (true on the fork's source, not on the fork itself; a fork has forkedFrom set instead) - delayUntil (string, optional): If this workflow has a delayed start, the time until which it is delayed (ISO 8601) - completedAt (string, optional): When this workflow completed (ISO 8601) - attributes (string, optional): Application-defined attributes attached to the workflow, if any - scheduleName (string, optional): If this workflow was started by a schedule, that schedule's name - applicationName (string, optional): Name of the application that owns the workflow count (int): Number of workflows returned application (string): Name of the application queried

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
statusNo
end_timeNo
sort_descNo
has_parentNo
load_inputNo
queue_nameNo
start_timeNo
executor_idNo
forked_fromNo
load_outputNo
queues_onlyNo
schedule_nameNo
workflow_nameNo
dequeued_afterNo
workflow_uuidsNo
completed_afterNo
dequeued_beforeNo
was_forked_fromNo
application_nameYes
completed_beforeNo
authenticated_userNo
parent_workflow_idNo
workflow_id_prefixNo
application_versionNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Install Server

TDQS

A4.3/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure, and it does so thoroughly: it documents defaults (sort_desc default false/ascending), private-mode constraints ('always false for private-mode applications'), nuanced filter semantics for was_forked_from (true/false behavior plus pointer to forked_from), and cross-tool notes like 'get_workflow always returns it'. This goes far beyond a minimal statement of side effects.

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

Conciseness4/5

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

The description is long (~60 lines) but well-structured with clear Args and Returns sections and no filler prose. The purpose line is front-loaded, and parameter lines are consistently formatted. The return-field enumeration is extensive but necessary given the lack of output schema details; overall the length is justified by the 26-parameter, 30-field surface.

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

Completeness5/5

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

Given the tool's complexity and the absence of annotations and schema descriptions, this description is essentially complete: it covers all parameters, defaults, return fields, conditional output behavior, and special cases like private-mode applications and fork/parent semantics. The only missing element is explicit sibling-tool routing, which is already scored under usage guidelines.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must fully compensate, and it does. All 26 parameters receive type, optionality, default, and behavioral detail (e.g., status lists valid enum values, was_forked_from clarifies fork-source semantics, limit/offset explain pagination). This is a model of how parameter descriptions should augment an empty schema.

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 opens with 'List workflows from DBOS Conductor with optional filters' – a specific verb, resource, and scope. It clearly separates this from sibling tools like get_workflow (singular) and list_applications/list_steps (other resources), even without naming them. The purpose is immediately understandable.

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

Usage Guidelines2/5

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

There is no explicit guidance about when to use this tool versus siblings such as get_workflow, list_workflow_aggregates, or list_executors. The optional filters suggest a search/browse use case, but no when-to-use context or exclusion conditions are given. The agent must infer usage solely from the tool name and verb.

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

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dbos-inc/dbos-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server