Skip to main content
Glama
PrefectHQ

prefect-mcp-server

Official
by PrefectHQ

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PREFECT_API_KEYNoPrefect Cloud API key (required if PREFECT_API_URL is set and using Cloud)
PREFECT_API_URLNoPrefect API URL (e.g., https://api.prefect.cloud/api/accounts/[ACCOUNT_ID]/workspaces/[WORKSPACE_ID])
PREFECT_API_AUTH_STRINGNoBasic auth credentials for Prefect OSS (format: username:password); use instead of PREFECT_API_KEY for open-source servers

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tasks
{
  "list": {},
  "cancel": {},
  "requests": {
    "tools": {
      "call": {}
    },
    "prompts": {
      "get": {}
    },
    "resources": {
      "read": {}
    }
  }
}
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
orientationC

Use this tool to get oriented with the Prefect MCP server.

get_identityA

Get identity and connection information for the current Prefect instance.

Returns API URL, type (cloud/oss), and user information if available. Essential for understanding which Prefect instance you're connected to.

get_dashboardB

Get a high-level dashboard overview of the Prefect instance.

Returns current flow run statistics, work pool status, and all active concurrency limits (global/tag-based, deployment, work pool, and work queue). Essential for diagnosing flow run delays and bottlenecks.

get_deploymentsA

Get deployments with optional filters.

Returns compact summaries by default. Filter by specific ID(s) for full detail including parameters, parameter_openapi_schema, job_variables, work_pool details, and recent_runs.

Filter operators:

  • any_: Match any value in list

  • all_: Match all values

  • like_: SQL LIKE pattern matching

  • not_any_: Exclude values

  • is_null_: Check for null/not null

  • eq_/ne_: Equality comparisons

Examples: - List all deployments: get_deployments() - Full detail: get_deployments(filter={"id": {"any_": [""]}}) - Active deployments: get_deployments(filter={"paused": {"eq_": False}}) - Production deployments: get_deployments(filter={"tags": {"all_": ["production"]}})

get_flowsA

Get flows with optional filters.

Returns a list of flows registered in the workspace.

Filter operators:

  • any_: Match any value in list

  • like_: SQL LIKE pattern matching

  • all_: Match all values

Examples: - List all flows: get_flows() - Get specific flow: get_flows(filter={"id": {"any_": [""]}}) - Flows by name pattern: get_flows(filter={"name": {"like_": "etl-%"}}) - Flows by tags: get_flows(filter={"tags": {"all_": ["production"]}})

get_flow_runsA

Get flow runs with optional filters.

Returns compact summaries by default. Filter by specific ID(s) for full detail including parameters, inlined deployment info, and work pool info.

Filter operators:

  • any_: Match any value in list

  • all_: Match all values

  • like_: SQL LIKE pattern matching

  • not_any_: Exclude values

  • is_null_: Check for null/not null

  • after_/before_: Time comparisons

  • gt_/gte_/lt_/lte_: Numeric comparisons

Examples: - List recent runs: get_flow_runs() - Get specific run: get_flow_runs(filter={"id": {"any_": [""]}}) - Failed runs: get_flow_runs(filter={"state": {"type": {"any_": ["FAILED"]}}}) - Production runs: get_flow_runs(filter={"tags": {"all_": ["production"]}})

get_flow_run_logsA

Get execution logs for a flow run.

Retrieves log entries from the flow run execution, including timestamps, log levels, and messages.

Examples: - Get logs: get_flow_run_logs(flow_run_id="...") - Get more logs: get_flow_run_logs(flow_run_id="...", limit=500)

get_task_runsA

Get task runs with optional filters.

Returns a list of task runs and their details matching the filters. Note that 'task_inputs' contains dependency tracking information (upstream task relationships), not the actual parameter values passed to the task.

Filter operators:

  • any_: Match any value in list

  • like_: SQL LIKE pattern matching

  • not_any_: Exclude values

  • is_null_: Check for null/not null

Examples: - List recent tasks: get_task_runs() - Get specific task: get_task_runs(filter={"id": {"any_": [""]}}) - Failed tasks: get_task_runs(filter={"state": {"type": {"any_": ["FAILED"]}}}) - Tasks by pattern: get_task_runs(filter={"name": {"like_": "%process%"}})

get_work_poolsA

Get work pools with optional filters.

Returns compact summaries by default (name, type, status, concurrency_limit). Filter by specific ID(s) for full detail including work queues, active worker counts, and descriptions. Essential for debugging deployment issues related to flow runs being stuck or not starting.

Filter operators:

  • any_: Match any value in list

  • like_: SQL LIKE pattern matching

Examples: - List all pools: get_work_pools() - Full detail: get_work_pools(filter={"id": {"any_": [""]}}) - Kubernetes pools: get_work_pools(filter={"type": {"any_": ["kubernetes"]}})

read_eventsA

Read and filter events from the Prefect instance.

Provides a structured view of events with filtering capabilities.

Note: When no time range is specified, events from the last 1 hour are returned by default. Use occurred_after/occurred_before parameters to query a different time range.

Common event type prefixes:

  • prefect.flow-run: Flow run lifecycle events

  • prefect.deployment: Deployment-related events

  • prefect.work-queue: Work queue events

  • prefect.agent: Agent events

Examples: - Recent flow run events: read_events(event_type_prefix="prefect.flow-run") - Last 24 hours: read_events(occurred_after="") - Specific time range: read_events(occurred_after="2024-01-01T00:00:00Z", occurred_before="2024-01-02T00:00:00Z")

get_automationsA

Get automations with optional filters.

Returns compact summaries by default (trigger_type, action_count). Filter by specific ID(s) for full detail including trigger config, actions, actions_on_trigger, and actions_on_resolve.

Filter operators:

  • id.any_: Match specific automation IDs

  • name.any_: Match automation names

  • enabled.eq_: Filter by enabled state

Examples: - List all automations: get_automations() - Full detail: get_automations(filter={"id": {"any_": [""]}}) - Get by name: get_automations(filter={"name": {"any_": ["my-automation"]}}) - Only enabled: get_automations(filter={"enabled": {"eq_": True}})

get_object_schemaC

Get a schema for an object type.

review_rate_limitsA

Review rate limit usage for this Prefect Cloud account (Cloud only).

Prefect Cloud API access is governed by rate limits in different categories (runs, deployments, flows, work_pools, writing-logs, etc.). When you see HTTP 429 errors or "Too Many Requests" responses from the Prefect API, use this tool to identify which operation groups were throttled and when.

Queries all common rate limit operation groups and groups consecutive throttled minutes into periods, showing which operation groups were affected during each stretch.

Note: These are not API authentication keys - they're categories of API operations that are rate limited together (e.g., "runs" includes all flow run API calls, "writing-logs" includes log write operations).

Useful for diagnosing why API calls are being rate limited. The response shows:

  • Distinct time periods where throttling occurred

  • Which operation groups were throttled during each period

  • Total denied requests and peak denials per minute for each group

Examples: - Check recent throttling: review_rate_limits() - Custom time range: review_rate_limits(since="2025-09-30T00:00:00Z", until="2025-10-01T00:00:00Z")

docs_search_prefectB

Search the Prefect knowledgebase for documentation on concepts, usage examples, and best practices.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/PrefectHQ/prefect-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server