Skip to main content
Glama

Get Report

deerflow_get_report
Read-onlyIdempotent

Fetch a DeerFlow thread's synthesized report, including assistant message, title, artifact paths, run status, and report source after a run completes.

Instructions

Fetch the synthesized report for a DeerFlow thread: the most recent assistant message, its title, and any produced artifact file paths. Resolves the report text through a fallback chain (run messages → thread state → summary) and, when no assistant message exists, auto-inlines the first text artifact (≤256 KB) as the report. Also reports the run's terminal status and where the text came from (report_source). Call after a run reaches a terminal status. Optionally pass run_id to scope the report to a specific run.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
run_idNoOptional run id to scope the report to a specific run.
thread_idYesThe thread id.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
titleNo
reportYes
web_urlYes
terminalNo
artifactsYes
run_statusNo
summary_textNo
artifact_noteNo
report_sourceNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.5

TDQS

A4.4/5.0
Behavior5/5

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

Annotations declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered. The description adds critical behavioral detail beyond annotations: the fallback resolution chain (run messages → thread state → summary), the auto-inline of the first text artifact (≤256 KB) when no assistant message exists, and the reporting of terminal status and report_source. This is exactly the kind of runtime behavior an agent needs.

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?

Three sentences, front-loaded with the core purpose, then behavioral details, then usage timing. Every sentence carries useful information, though the fallback-chain and auto-inline details could be slightly condensed. No redundancy or 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 (fallback logic, artifact handling, status reporting), the description covers all the key behavioral aspects an agent would need to interpret the output correctly. An output schema exists, so return value structure needn't be explained, and the description correctly focuses on the resolution process and conditions. Nothing essential is missing.

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%, so both parameters are already documented in the schema with clear descriptions. The description's mention of run_id scoping adds only slight emphasis beyond the schema, and it doesn't explain thread_id at all. Baseline 3 is appropriate when the schema fully handles parameter documentation.

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 states a specific verb and resource ('Fetch the synthesized report for a DeerFlow thread') and enumerates exactly what is returned (assistant message, title, artifact file paths). It's clearly distinguishable from deerflow_run_status and deerflow_get_artifact because it explicitly says it returns the synthesized report and artifact paths, not raw status or artifact content.

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?

Explicitly says 'Call after a run reaches a terminal status,' giving a clear condition for invocation. It also explains the optional run_id scoping. However, it doesn't explicitly contrast with sibling tools like deerflow_run_status or deerflow_list_artifacts, leaving some ambiguity about when to use this versus those alternatives.

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