{
 "categories": [
  "developer-tools",
  "platform"
 ],
 "deployment": "hybrid",
 "evidence": [
  {
   "date": "2026-09-25",
   "fact": "homepage",
   "note": "The public GitHub API for PrefectHQ/prefect reports homepage https://prefect.io and the SPDX license Apache-2.0.",
   "source": "https://api.github.com/repos/PrefectHQ/prefect",
   "tier": "scraped"
  },
  {
   "date": "2026-09-25",
   "fact": "license",
   "note": "The public GitHub API reports license SPDX Apache-2.0. The repository is not archived.",
   "source": "https://api.github.com/repos/PrefectHQ/prefect",
   "tier": "scraped"
  },
  {
   "date": "2026-09-25",
   "fact": "deployment",
   "note": "The REST overview documents Prefect Cloud and a self-hosted Prefect server.",
   "source": "https://docs.prefect.io/v3/api-ref/rest-api/index.md",
   "tier": "declared"
  },
  {
   "date": "2026-09-25",
   "fact": "platforms",
   "note": "API keys are created in the Prefect Cloud UI.",
   "source": "https://docs.prefect.io/v3/how-to-guides/cloud/manage-users/api-keys.md",
   "tier": "declared"
  },
  {
   "date": "2026-09-25",
   "fact": "modalities.api.exists",
   "note": "Prefect documents a REST API for Prefect Cloud and self-hosted Prefect server.",
   "source": "https://docs.prefect.io/v3/api-ref/rest-api/index.md",
   "tier": "declared"
  },
  {
   "date": "2026-09-25",
   "fact": "modalities.api.kinds[0]",
   "note": "The overview says the Prefect API is organized around REST and shows HTTPS calls with JSON bodies.",
   "source": "https://docs.prefect.io/v3/api-ref/rest-api/index.md",
   "tier": "declared"
  },
  {
   "date": "2026-09-25",
   "fact": "modalities.api.auth[0]",
   "note": "Cloud examples send Authorization Bearer with PREFECT_API_KEY.",
   "source": "https://docs.prefect.io/v3/api-ref/rest-api/index.md",
   "tier": "declared"
  },
  {
   "date": "2026-09-25",
   "fact": "modalities.api.auth[1]",
   "note": "Self-hosted Prefect with basic auth uses PREFECT_API_AUTH_STRING. Cloud uses the API key instead.",
   "source": "https://docs.prefect.io/v3/how-to-guides/ai/use-prefect-mcp-server",
   "tier": "declared"
  },
  {
   "date": "2026-09-25",
   "fact": "modalities.api.coverage",
   "note": "Service-account API keys are limited to Prefect Cloud Pro and Enterprise, so not every Cloud account has the same credential model.",
   "source": "https://docs.prefect.io/v3/how-to-guides/cloud/manage-users/api-keys.md",
   "tier": "declared"
  },
  {
   "date": "2026-09-25",
   "fact": "modalities.api.docs",
   "note": "Opened as the current Prefect REST API overview.",
   "source": "https://docs.prefect.io/v3/api-ref/rest-api/index.md",
   "tier": "declared"
  },
  {
   "date": "2026-09-25",
   "fact": "modalities.sdk.exists",
   "note": "The REST overview shows PrefectClient from the Prefect Python SDK.",
   "source": "https://docs.prefect.io/v3/api-ref/rest-api/index.md",
   "tier": "declared"
  },
  {
   "date": "2026-09-25",
   "fact": "modalities.sdk.languages[0]",
   "note": "Prefect is published as a Python package and requires Python 3.10 or newer.",
   "source": "https://docs.prefect.io/v3/get-started/install.md",
   "tier": "declared"
  },
  {
   "date": "2026-09-25",
   "fact": "modalities.sdk.official",
   "note": "PrefectClient is documented as part of the Prefect Python SDK.",
   "source": "https://docs.prefect.io/v3/api-ref/rest-api/index.md",
   "tier": "declared"
  },
  {
   "date": "2026-09-25",
   "fact": "modalities.mcp.first_party",
   "note": "Prefect documents its MCP server for Cloud and self-hosted Prefect, including a hosted Cloud connection.",
   "source": "https://docs.prefect.io/v3/how-to-guides/ai/use-prefect-mcp-server",
   "tier": "declared"
  },
  {
   "date": "2026-09-25",
   "fact": "modalities.mcp.verdict",
   "note": "The how-to is Prefect's own documentation and marks the server as beta, so the verdict is official.",
   "source": "https://docs.prefect.io/v3/how-to-guides/ai/use-prefect-mcp-server",
   "tier": "declared"
  },
  {
   "date": "2026-09-25",
   "fact": "modalities.cli.exists",
   "note": "After pip install prefect, the prefect version command confirms the CLI.",
   "source": "https://docs.prefect.io/v3/get-started/install.md",
   "tier": "declared"
  },
  {
   "date": "2026-09-25",
   "fact": "modalities.extensibility.webhooks",
   "note": "Prefect Cloud webhooks receive HTTP requests at https://api.prefect.cloud/hooks/ and turn them into Prefect events.",
   "source": "https://docs.prefect.io/v3/concepts/webhooks.md",
   "tier": "declared"
  },
  {
   "date": "2026-09-25",
   "fact": "modalities.data_access.export[0]",
   "note": "The Cloud example posts a JSON filter body and reads JSON results.",
   "source": "https://docs.prefect.io/v3/api-ref/rest-api/index.md",
   "tier": "declared"
  },
  {
   "date": "2026-09-25",
   "fact": "modalities.data_access.import[0]",
   "note": "The create-flow-run example sends a JSON body with Content-Type application/json.",
   "source": "https://docs.prefect.io/v3/api-ref/rest-api/index.md",
   "tier": "declared"
  },
  {
   "date": "2026-09-25",
   "fact": "modalities.agent_docs.llms_txt",
   "note": "https://docs.prefect.io/llms.txt is a first-party index of Prefect documentation.",
   "source": "https://docs.prefect.io/llms.txt",
   "tier": "declared"
  },
  {
   "date": "2026-09-25",
   "fact": "verdict.scores.api",
   "note": "Documented REST API for Cloud and self-hosted Prefect, with Bearer API keys and a Python client. Score 8.",
   "source": "https://docs.prefect.io/v3/api-ref/rest-api/index.md",
   "tier": "declared"
  },
  {
   "date": "2026-09-25",
   "fact": "verdict.scores.mcp",
   "note": "Official MCP server is beta and read-only. Mutations are directed to the CLI or SDK. Score 6.",
   "source": "https://docs.prefect.io/v3/how-to-guides/ai/use-prefect-mcp-server",
   "tier": "declared"
  },
  {
   "date": "2026-09-25",
   "fact": "verdict.scores.cli",
   "note": "prefect cloud login accepts --key and --workspace for non-interactive Cloud authentication. Score 7.",
   "source": "https://docs.prefect.io/v3/how-to-guides/cloud/manage-users/api-keys.md",
   "tier": "declared"
  },
  {
   "date": "2026-09-25",
   "fact": "freshness.watch[0].url",
   "note": "Opened as the current Prefect MCP how-to. The server is marked beta.",
   "source": "https://docs.prefect.io/v3/how-to-guides/ai/use-prefect-mcp-server",
   "tier": "declared"
  },
  {
   "date": "2026-09-25",
   "fact": "freshness.watch[1].url",
   "note": "Opened as the current REST API overview.",
   "source": "https://docs.prefect.io/v3/api-ref/rest-api/index.md",
   "tier": "declared"
  },
  {
   "date": "2026-09-25",
   "fact": "freshness.watch[2].url",
   "note": "Opened as the current Prefect docs index.",
   "source": "https://docs.prefect.io/llms.txt",
   "tier": "declared"
  }
 ],
 "freshness": {
  "last_verified": "2026-09-25",
  "volatility": "medium",
  "watch": [
   {
    "type": "mcp",
    "url": "https://docs.prefect.io/v3/how-to-guides/ai/use-prefect-mcp-server"
   },
   {
    "type": "docs",
    "url": "https://docs.prefect.io/v3/api-ref/rest-api/index.md"
   },
   {
    "type": "docs",
    "url": "https://docs.prefect.io/llms.txt"
   }
  ]
 },
 "homepage": "https://www.prefect.io/",
 "id": "prefect",
 "license": "open-source",
 "modalities": {
  "agent_docs": {
   "llms_txt": true
  },
  "api": {
   "auth": [
    "api-key",
    "http-basic"
   ],
   "coverage": "partial",
   "docs": "https://docs.prefect.io/v3/api-ref/rest-api/index.md",
   "exists": true,
   "kinds": [
    "rest"
   ]
  },
  "cli": {
   "exists": true
  },
  "computer_use": {
   "issues": [],
   "viability": "unknown"
  },
  "data_access": {
   "export": [
    "json"
   ],
   "import": [
    "json"
   ]
  },
  "extensibility": {
   "scripting": [],
   "webhooks": true
  },
  "integrations": {
   "make": "unknown",
   "n8n": "unknown",
   "power_automate": "unknown",
   "zapier": "unknown"
  },
  "mcp": {
   "first_party": true,
   "third_party": [],
   "verdict": "official"
  },
  "rpa": {
   "drivability": "unknown",
   "notes": "No repeatable UI probe was run. Prefect documents a REST API, a Python SDK, the prefect CLI, Cloud webhooks, and a beta read-only MCP server.\n",
   "ui_stack": [
    "web-dom"
   ],
   "vendor_support": []
  },
  "sdk": {
   "exists": true,
   "languages": [
    "python"
   ],
   "official": true
  }
 },
 "name": "Prefect",
 "platforms": [
  "web"
 ],
 "related": {
  "alternatives": [],
  "our_products": []
 },
 "schema_version": 1,
 "score_version": 1,
 "status": "active",
 "vendor": "Prefect",
 "verdict": {
  "best_path": "api",
  "scores": {
   "api": 8,
   "cli": 7,
   "computer_use": null,
   "integrations": null,
   "mcp": 6,
   "overall": 8,
   "rpa": null
  },
  "summary": "Prefect is automatable today through its REST API and the prefect CLI. This record is Prefect Cloud and self-hosted Prefect server. It is not Apache Airflow, Dagster, or Temporal. Cloud calls use https://api.prefect.cloud/api/accounts/{account}/workspaces/{workspace} with Authorization Bearer and a Prefect API key. User keys start with pnu_ and service-account keys start with pnb_. Service accounts are a Pro and Enterprise feature. Self-hosted server serves the same style of REST API, with OpenAPI at /openapi.json, and can use PREFECT_API_AUTH_STRING for basic auth. The official Python package prefect includes PrefectClient. The CLI is the prefect command installed with that package. Non-interactive Cloud login is prefect cloud login --key and --workspace. Prefect Cloud webhooks accept inbound HTTP at https://api.prefect.cloud/hooks/ and turn requests into events. The first-party MCP server is in beta. Its tools are read-only for deployments, flow runs, logs, and infrastructure. Writes are directed to the prefect CLI or SDK. A hosted Cloud connection uses OAuth and selected workspaces. A local server runs as uvx --from prefect-mcp prefect-mcp-server. Connector catalogs were not opened. Computer-use viability is unassessed. API scores 8. CLI scores 7. MCP scores 6 because it is an official beta and read-only. API is the best path because it is the documented contract for both Cloud and self-hosted Prefect, including mutations the MCP server does not perform.\n"
 }
}