Skip to main content
Glama
dbos-inc

DBOS MCP Server

Official
by dbos-inc

list_workflows

Retrieve workflows from DBOS Conductor with optional filters by status, time, user, or queue. Use to inspect workflow history 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 forked workflows. If false, only return non-forked workflows. has_parent (bool, optional): If true, only return child workflows. If false, only return workflows without a parent.

Returns: workflows: Array of workflow objects, each containing: - WorkflowUUID (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 - WorkflowClassName (string, optional): The name of the workflow's class, if any - WorkflowConfigName (string, optional): The name with which the workflow's class instance was configured, if any - AuthenticatedUser (string, optional): The user who ran the workflow, if specified - AssumedRole (string, optional): The role with which the workflow ran, if specified - AuthenticatedRoles (string, optional): All roles which the authenticated user could assume (JSON array) - Input (string, optional): The workflow input (JSON string, only if load_input=true) - Output (string, optional): The workflow's output, if any (JSON string, only if load_output=true) - Error (string, optional): The error the workflow threw, if any - CreatedAt (string): Workflow start time as Unix epoch milliseconds - UpdatedAt (string): Last time the workflow status was updated as Unix epoch milliseconds - QueueName (string, optional): If this workflow was enqueued, on which queue - ApplicationVersion (string): The application version on which this workflow was started - ExecutorID (string, optional): The executor to most recently execute this workflow - WorkflowTimeoutMS (string, optional): The start-to-close timeout of the workflow in ms - WorkflowDeadlineEpochMS (string, optional): The deadline of the workflow, computed by adding its timeout to its start time (epoch ms) - DeduplicationID (string, optional): Unique ID for deduplication on a queue - Priority (string, optional): 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 (Unix epoch milliseconds) - WasForkedFrom (bool): Whether this workflow was forked from another workflow - DelayUntilEpochMS (string, optional): If this workflow has a delayed start, the epoch ms timestamp until which it is delayed - CompletedAt (string, optional): When this workflow completed (Unix epoch milliseconds) 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
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

Behavior5/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. It thoroughly describes default behaviors (sort order, load_input/load_output defaults), caveats (private-mode applications always return false for input/output), pagination semantics (limit/offset), and filter behaviors. This goes well beyond a basic listing tool and gives the agent a clear picture of what to expect.

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 well-structured with an Args section and a Returns section, and the first sentence gives a high-level summary. However, it is quite long, and the Returns section duplicates what the output schema likely already provides. This redundancy prevents a perfect score, but the organization makes it easy to navigate.

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 complexity of 25 parameters and the presence of an output schema, the description covers all essential aspects: required vs optional args, filter semantics, status values, defaults, pagination, and notable behavior changes (private-mode). It is thorough enough for an agent to use this tool effectively without additional context.

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?

The input schema has 0% description coverage, but the description's Args section compensates fully by explaining every parameter's purpose, type constraints, allowed values (e.g., status enums), and default behavior. This is exactly the compensation required for low schema coverage, making the semantics exceptionally clear.

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', clearly identifying the action (list), the resource (workflows), and the scope (optional filters). This distinguishes it from sibling tools like get_workflow (single workflow) and list_steps (workflow steps). It is specific and unambiguous.

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

Usage Guidelines4/5

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

The description makes clear this is the listing/filtering tool for workflows, which differentiates it from get_workflow or list_steps. It does not explicitly name alternatives or when to avoid it, but the context of 'list' and the extensive filter parameters strongly imply its use case. The absence of exclusions keeps it at a strong 4.

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

Install Server

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