Skip to main content
Glama
fabdendev

dagster-mcp

by fabdendev

Get Asset Health

get_asset_health

Check if Dagster assets are fresh and materialized successfully. Retrieve staleness reasons and last run status for a single asset or an entire group.

Instructions

Get a consolidated health view for a single asset or all assets in a group.

This is the BEST tool to assess whether assets are healthy and up-to-date.

  • asset_key_or_group: pass either a single asset key (e.g. 'my_report') or a group name (e.g. 'analytics'). If it matches a group, returns health for ALL assets in that group.

Returns per asset:

  • asset_key, group, description

  • last_materialization: {run_id, timestamp, status} of the latest run

  • freshness_policy: {maximum_lag_minutes, cron_schedule} if defined

  • staleness: {is_stale, reasons[]} explaining why the asset is stale

When to use: to check if critical assets are fresh, find stale assets in a group, or verify that recent materializations succeeded. Prefer this over get_recent_materializations when you need a health assessment rather than raw materialization history.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
envNo
asset_key_or_groupYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.8.0

TDQS

A4.6/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full behavioral burden. It discloses the non-obvious behavior that passing a group name expands to health for ALL assets in that group, and explains staleness semantics via the reasons[] field. It does not explicitly state read-only status, permission needs, or cost/latency implications of a group-wide call, so a small gap remains.

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?

Front-loaded with the core purpose, then a scoping note, then a bulleted parameter explanation, then usage guidance. The returns list is somewhat redundant against the output schema but is short and aids scanning; no sentence is wasted and formatting is scannable.

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?

For a two-parameter read tool with an output schema, the description covers purpose, scope, alternatives, and key result fields well. The only material omission is any mention of the env parameter, which leaves a minor blind spot given 0% schema coverage.

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

Parameters4/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 compensate, and it does so thoroughly for the required asset_key_or_group parameter: dual meaning, concrete examples ('my_report' vs 'analytics'), and the group-expansion consequence. The second parameter, env, is never mentioned in the description or schema, which is the remaining shortfall.

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?

States a specific verb and resource ('get a consolidated health view') plus the scope ('single asset or all assets in a group'), and explicitly positions itself against siblings by naming get_recent_materializations. An agent can distinguish it from get_asset_details or get_runs without opening any schema.

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?

Contains an explicit 'When to use' clause (check freshness, find stale assets in a group, verify recent materializations succeeded) and an explicit alternative with the selecting condition ('Prefer this over get_recent_materializations when you need a health assessment rather than raw materialization history'). This is the when/when-not/alternative pattern in full.

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