Skip to main content
Glama
dbos-inc

DBOS MCP Server

Official
by dbos-inc

get_workflow_aggregates

Fetch workflow aggregate metrics grouped by dimensions like status, queue, or name to monitor workflow health and identify bottlenecks such as failures or queue delays.

Instructions

Get workflow aggregate metrics from DBOS Conductor.

Returns workflow aggregates grouped by one or more dimensions. Useful for dashboards and understanding workflow status at a glance (e.g., "how many workflows failed today?", "how many workflows are pending per queue?", "what's the worst queue-wait time per workflow name?").

Select at least one select_* flag to populate aggregate values. At least one group_by_* flag is mandatory to break the results down by dimension; a query with no group_by_* will fail.

Args: application_name (string, required): Name of the DBOS application group_by_status (bool, optional): Group results by workflow status (default: false) group_by_name (bool, optional): Group results by workflow name (default: false) group_by_queue_name (bool, optional): Group results by queue name (default: false) group_by_executor_id (bool, optional): Group results by executor ID (default: false) group_by_application_version (bool, optional): Group results by application version (default: false) select_count (bool, optional): Include count of workflows in each group (default: false) select_min_created_at (bool, optional): Include min created_at (epoch ms) in each group (default: false) select_max_queue_wait_ms (bool, optional): Include max queue wait time (ms) in each group (default: false) select_max_total_latency_ms (bool, optional): Include max end-to-end latency (ms) in each group (default: false) status (array of strings, optional): Filter to these statuses before aggregating 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) name (array of strings, optional): Filter to these workflow names before aggregating app_version (array of strings, optional): Filter to these application versions executor_id (array of strings, optional): Filter to these executor IDs queue_name (array of strings, optional): Filter to these queue names workflow_id_prefix (array of strings, optional): Filter to workflow IDs starting with these prefixes time_bucket_size_ms (int, optional): Bucket aggregates into time windows of this many milliseconds

Returns: aggregates: Array of aggregate objects, each containing: - group (object): Map of dimension names to values (e.g., {"status": "ERROR", "name": "processOrder"}) - count (int, optional): Number of workflows matching this group (if select_count) - min_created_at (int, optional): Earliest created_at in epoch ms (if select_min_created_at) - max_queue_wait_ms (int, optional): Max queue wait time in ms (if select_max_queue_wait_ms) - max_total_latency_ms (int, optional): Max end-to-end latency in ms (if select_max_total_latency_ms) application (string): Name of the application queried

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNo
statusNo
end_timeNo
queue_nameNo
start_timeNo
app_versionNo
executor_idNo
select_countNo
group_by_nameNo
dequeued_afterNo
completed_afterNo
dequeued_beforeNo
group_by_statusNo
application_nameYes
completed_beforeNo
workflow_id_prefixNo
group_by_queue_nameNo
time_bucket_size_msNo
group_by_executor_idNo
select_min_created_atNo
select_max_queue_wait_msNo
select_max_total_latency_msNo
group_by_application_versionNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior4/5

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

No annotations are provided, so the description bears the full burden. It discloses key behavioral traits: the query fails without a group_by_* flag, select_* flags control which aggregate values populate, and it documents the return shape in detail. It does not explicitly state whether the operation is read-only or mention permissions/auth, but the tool name and description imply a safe read operation. It adds meaningful context about failure modes and output structure beyond what annotations would offer.

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 appropriately sized for a 23-parameter tool. It leads with a clear purpose and concrete use case examples, then systematically presents Args and Returns. Every sentence earns its place: the examples illustrate semantics, the Args list is complete, and the return structure is explicit. There is no redundant fluff or vague filler.

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 parameter descriptions in the schema, the description is entirely sufficient. It covers all 23 parameters, explains the required selection of group_by_* and select_* flags, describes the failure scenario, and details the return object structure. The output schema exists, but the description goes beyond it by explaining the meaning and relationships between parameters, making it easy for an agent to invoke correctly.

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 schema provides only titles and defaults, with 0% description coverage. The description fully compensates with a detailed Args list explaining each parameter's meaning, type, default, and required status. It clarifies the purpose of select_* and group_by_* flags, and describes filter parameters like status, time windows, and workflow_id_prefix in actionable terms. This is a model of how to document intricate parameters.

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 a specific verb and resource: 'Get workflow aggregate metrics from DBOS Conductor.' It distinguishes this tool from siblings like list_workflows by emphasizing aggregated, grouped metrics for dashboards and status-at-a-glance, with example questions that illustrate its unique purpose.

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 gives clear context: it's for dashboards and understanding workflow status, with concrete examples like counting failed workflows or pending per queue. It also states mandatory requirements: at least one select_* flag and one group_by_* flag, and explicitly warns that a query with no group_by_* will fail. However, it does not explicitly compare to alternatives such as list_workflows or get_workflow, so it lacks direct 'when not to use' guidance.

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