Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
DEERFLOW_PATNoPersonal Access Token (starts with `dfp_`); threads/runs routes only
DEERFLOW_BASE_URLYesBase URL of the deployed DeerFlow instance (trailing slashes ignored)
DEERFLOW_TIMEOUT_MSNoPer-request HTTP timeout in ms (default `60000`)60000
DEERFLOW_WEB_BASE_URLNoBase URL for "open in DeerFlow" links (defaults to `DEERFLOW_BASE_URL`)
DEERFLOW_DEFAULT_MODELNoDefault model when a tool call omits `model`
DEERFLOW_OWNER_USER_IDNoUsed only with internal-token mode
DEERFLOW_INTERNAL_TOKENNoGateway internal token; full access (models + artifact files)
DEERFLOW_DEFAULT_RECURSION_LIMITNoDefault LangGraph recursion limit (default `1000`)1000

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
deerflow_researchA

Kick off a long-running deep-research run on a fresh DeerFlow thread. Returns immediately with the thread/run ids and a web URL; poll deerflow_run_status until it reaches a terminal status, then call deerflow_get_report to read the findings. Deep research takes minutes to ~45 minutes and never blocks this call.

deerflow_chatA

Send a message to a DeerFlow thread and start a run. Omit thread_id to create a new thread, or pass an existing thread_id to continue a conversation. Returns immediately with the thread/run ids and a web URL; poll deerflow_run_status, then deerflow_get_report.

deerflow_run_statusA

Check the status of a DeerFlow run. Optionally wait up to wait_seconds (capped at 30s) for it to reach a terminal status before returning, to reduce polling round-trips. Terminal statuses: success, error, timeout, interrupted. Also returns live counters (llm_call_count, message_count, total_tokens) and elapsed/last-update times: the counters advance while the run is working, so if they stop moving for several minutes the run may be stalled — use deerflow_run_progress or deerflow_wait_activity for event-level detail.

deerflow_run_progressA

Get live progress for a DeerFlow run: status + live counters (llm_call_count, message_count, total_tokens), recent activity (the latest events as one-line summaries, e.g. tool calls and their results), the plan-mode todo checklist, and stall/quiet detection (stalled: true when no activity for longer than the stall threshold; quiet: true for a softer 'between steps' signal; next_step: a human hint pointing at the web UI and deerflow_cancel_run). Pass since_seq (the last_event_seq from a previous response) to return only new events. Requires session or internal-token auth: the event stream and thread state are not reachable with a Personal Access Token.

deerflow_wait_activityA

Block server-side until the run produces new activity, reaches a terminal status, or the timeout elapses — one call replaces many status polls. The server joins the run's live event stream (falling back to polling when the stream is unavailable), so it returns the moment new activity appears rather than on a fixed tick. Returns reason ('terminal' | 'activity' | 'timeout'), waited_seconds, timeout_seconds, the new activity since since_seq (one-line summaries), the plan-mode todo checklist, quiet/stall detection, and a next_step hint. Pass the returned last_event_seq as since_seq on the next call to continue from where you left off. While waiting it emits MCP progress notifications (elapsed/timeout) when the client supplies a progress token. Cancelling the request from the client aborts the wait and returns stop_reason 'cancelled_by_client'. Requires session or internal-token auth.

deerflow_get_reportA

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.

deerflow_list_threadsA

List recent DeerFlow threads (id, title, status, timestamps). Use the returned thread_id with deerflow_chat to continue a conversation or deerflow_get_report to read a finished one.

deerflow_cancel_runA

Cancel an in-flight DeerFlow run (interrupts it). Returns the accepted status.

deerflow_list_artifactsA

List the artifact file paths produced by a DeerFlow thread (e.g. reports, generated files). Pass a path to deerflow_get_artifact to read its content.

deerflow_get_artifactA

Fetch a single artifact file from a DeerFlow thread. Text-like files (markdown, json, csv, plain text) are returned inline as content; binary files return a URL reference instead. Note: with a Personal Access Token this endpoint is not in the PAT route allowlist — an internal token is required.

deerflow_list_modelsA

List the models configured on the DeerFlow instance (name, display name, and capability flags). Use a returned name for the model argument of deerflow_research / deerflow_chat. Note: with a Personal Access Token this endpoint is not in the PAT route allowlist — an internal token is required.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.1/5.0

Scored across 11 tools

Disambiguation4/5

Most tools target distinct lifecycle stages, but deerflow_run_status, deerflow_run_progress, and deerflow_wait_activity all revolve around checking run state and overlap in returned data (status, counters, activity). The descriptions do provide clear usage guidance, distinguishing polling, detailed progress, and blocking waits, so confusion is limited but possible. deerflow_research and deerflow_chat also both start runs, though the fresh-thread deep-research vs. continuation-chat distinction is clear.

Naming Consistency5/5

Every tool uses the same deerflow_ prefix and snake_case, with predictable action-oriented names like get_report, list_threads, cancel_run, and wait_activity. The only minor variation is research/chat lacking an explicit object noun, but the pattern remains overwhelmingly consistent and readable.

Tool Count5/5

Eleven tools is well within the ideal 3-15 range and maps tightly to the deep-research lifecycle: starting runs, monitoring them, retrieving reports/artifacts, listing threads/models, and cancelling work. Each tool has a clear role, and no tool feels redundant or trivial.

Completeness4/5

The lifecycle is well covered: start research/chat, monitor status/progress/wait, cancel, fetch reports, list/get artifacts, and list threads/models. Minor gaps include no operation to delete threads/artifacts or fetch full details for a single thread beyond list output, but agents can work around these in most workflows.

Maintenance

ActivityMaintained
ResponsivenessNo issues