Prefect MCP Server
# Deprecated 27-Nov-2025
> I've personally moved my efforts to a more generic OpenAPI spec based MCP: https://github.com/allen-munsch/yas-mcp
>
> Additionally, there is actually an official beta release by prefect over here: https://pypi.org/project/prefect-mcp/
# Prefect MCP Server
A Model Context Protocol (MCP) server implementation for [Prefect](https://www.prefect.io/), enabling AI assistants to interact with Prefect through natural language.
> **Note**: The official Prefect MCP server is available [here](https://pypi.org/project/prefect-mcp/). This is a community implementation.
## ๐ Quick Start
```bash
docker compose up
```
## ๐ฆ Installation
### pip Installation
```bash
pip install mcp-prefect
```
### From Source
```bash
git clone https://github.com/allen-munsch/mcp-prefect
cd mcp-prefect
pip install -e .
```
### Manual Run
```bash
PREFECT_API_URL=http://localhost:4200/api \
PREFECT_API_KEY=your_api_key_here \
MCP_PORT=8000 \
python -m mcp_prefect.main --transport http
```
## ๐ ๏ธ Features
```
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ โ
โ _ __ ___ _____ __ __ _____________ ____ ____ โ
โ _ __ ___ .'____/___ ______/ /_/ |/ / ____/ __ \ |___ \ / __ \ โ
โ _ __ ___ / /_ / __ `/ ___/ __/ /|_/ / / / /_/ / ___/ / / / / / โ
โ _ __ ___ / __/ / /_/ (__ ) /_/ / / / /___/ ____/ / __/_/ /_/ / โ
โ _ __ ___ /_/ \____/____/\__/_/ /_/\____/_/ /_____(*)____/ โ
โ โ
โ โ
โ FastMCP 2.0 โ
โ โ
โ โ
โ ๐ฅ๏ธ Server name: MCP Prefect 3.6.1 โ
โ ๐ฆ Transport: STDIO โ
โ โ
โ ๐๏ธ FastMCP version: 2.12.3 โ
โ ๐ค MCP SDK version: 1.14.1 โ
โ โ
โ ๐ Docs: https://gofastmcp.com โ
โ ๐ Deploy: https://fastmcp.cloud โ
โ โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
[11/11/25 02:08:06] INFO Starting MCP server 'MCP Prefect 3.6.1' with transport 'stdio' server.py:1495
โ
Initialized successfully
Server: MCP Prefect 3.6.1 1.14.1
๐ Listing tools...
๐ฏ FOUND 64 TOOLS:
================================================================================
๐ ARTIFACT (6 tools)
๐ง create_artifact
๐ง delete_artifact
๐ง get_artifact
๐ง get_artifacts
๐ง get_latest_artifacts
๐ง update_artifact
๐ AUTOMATION (7 tools)
๐ง create_automation
๐ง delete_automation
๐ง get_automation
๐ง get_automations
๐ง pause_automation
๐ง resume_automation
๐ง update_automation
๐ BLOCK (5 tools)
๐ง delete_block_document
๐ง get_block_document
๐ง get_block_documents
๐ง get_block_type
๐ง get_block_types
๐ DEPLOYMENT (8 tools)
๐ง delete_deployment
๐ง get_deployment
๐ง get_deployment_schedule
๐ง get_deployments
๐ง pause_deployment_schedule
๐ง resume_deployment_schedule
๐ง set_deployment_schedule
๐ง update_deployment
๐ FLOW (13 tools)
๐ง cancel_flow_run
๐ง create_flow_run_from_deployment
๐ง delete_flow
๐ง delete_flow_run
๐ง get_flow
๐ง get_flow_run
๐ง get_flow_run_logs
๐ง get_flow_runs
๐ง get_flow_runs_by_flow
๐ง get_flows
๐ง get_task_runs_by_flow_run
๐ง restart_flow_run
๐ง set_flow_run_state
๐ LOG (2 tools)
๐ง create_log
๐ง get_logs
๐ OTHER (1 tools)
๐ง get_health
๐ TASK (4 tools)
๐ง get_task_run
๐ง get_task_run_logs
๐ง get_task_runs
๐ง set_task_run_state
๐ VARIABLE (5 tools)
๐ง create_variable
๐ง delete_variable
๐ง get_variable
๐ง get_variables
๐ง update_variable
๐ WORK (13 tools)
๐ง create_work_queue
๐ง delete_work_queue
๐ง get_current_workspace
๐ง get_work_queue
๐ง get_work_queue_by_name
๐ง get_work_queue_runs
๐ง get_work_queues
๐ง get_workspace
๐ง get_workspace_by_handle
๐ง get_workspaces
๐ง pause_work_queue
๐ง resume_work_queue
๐ง update_work_queue
๐ TOTAL: 64 tools across 10 categories
```
## ๐ฌ Example Interactions
AI assistants can help you with:
**Flow Management**
- "Show me all my flows and their last run status"
- "Create a new flow run for the 'data-processing' deployment"
- "What's the current status of flow run 'abc-123'?"
**Deployment Control**
- "Pause the schedule for the 'daily-reporting' deployment"
- "Update the 'etl-pipeline' deployment with new parameters"
**Infrastructure Management**
- "List all work pools and their current status"
- "Create a new work queue for high-priority jobs"
**Variable & Configuration**
- "Create a variable called 'api_timeout' with value 300"
- "Show me all variables containing 'config' in their name"
**Monitoring & Debugging**
- "Get the logs for the last failed flow run"
- "Show me all running task runs right now"
## ๐ค Platform Integration
### Claude Desktop
Add to `claude_desktop_config.json`:
```json
{
"mcpServers": {
"prefect": {
"command": "mcp-prefect",
"args": ["--transport", "stdio"]
}
}
}
```
### Cursor MCP
```json
{
"mcpServers": {
"prefect": {
"command": "mcp-prefect",
"args": ["--transport", "stdio"]
}
}
}
```
### Gemini CLI
```bash
gemini config set mcp-servers.prefect "mcp-prefect --transport stdio"
```
### Windsurf / Claude Code
```json
{
"mcpServers": {
"prefect": {
"command": "mcp-prefect",
"args": ["--transport", "stdio"],
"env": {
"PREFECT_API_URL": "http://localhost:4200/api",
"PREFECT_API_KEY": "your_api_key_here"
}
}
}
}
```
### Generic MCP Client
```json
{
"mcpServers": {
"prefect": {
"command": "mcp-prefect",
"args": ["--transport", "stdio"],
"env": {
"PREFECT_API_URL": "http://localhost:4200/api",
"PREFECT_API_KEY": "your_api_key_here"
}
}
}
}
```
## ๐งช Development
### Running Tests
```bash
pytest tests/ -v
```
### Building from Source
```bash
git clone https://github.com/allen-munsch/mcp-prefect
cd mcp-prefect
pip install -e .
python -m mcp_prefect
```
TDQS
Scored across 46 tools
Each tool has a clearly distinct purpose targeting specific resources and actions in the Prefect domain, such as flows, deployments, flow runs, task runs, variables, work queues, blocks, and workspaces. There is no ambiguity or overlap; for example, get_flow_runs and get_task_runs are clearly separated by resource type, and create/update/delete operations are consistently differentiated.
Tool names follow a highly consistent verb_noun pattern throughout, with verbs like get, create, update, delete, pause, resume, set, and cancel paired with specific nouns. All names use snake_case uniformly, and patterns like get_X and get_Xs for list operations are predictable, making the set easy to navigate.
With 46 tools, the count is high and may feel heavy for typical MCP server purposes, though it aligns with Prefect's comprehensive API coverage. While each tool serves a distinct function, the sheer number could overwhelm agents, placing it in the borderline range where 16-25 tools is considered heavy, and 46 exceeds that significantly.
The tool set provides complete CRUD/lifecycle coverage for all core Prefect resources, including flows, deployments, flow runs, task runs, variables, work queues, blocks, and workspaces. It supports operations like creation, retrieval, updating, deletion, state management, scheduling, and health checks, with no obvious gaps that would hinder agent workflows.