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, enabling AI assistants to interact with Prefect through natural language.
Note: The official Prefect MCP server is available here. This is a community implementation.
🚀 Quick Start
docker compose up
📦 Installation
pip Installation
pip install mcp-prefect
From Source
git clone https://github.com/allen-munsch/mcp-prefect
cd mcp-prefect
pip install -e .
Manual Run
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:
{
"mcpServers": {
"prefect": {
"command": "mcp-prefect",
"args": ["--transport", "stdio"]
}
}
}
Cursor MCP
{
"mcpServers": {
"prefect": {
"command": "mcp-prefect",
"args": ["--transport", "stdio"]
}
}
}
Gemini CLI
gemini config set mcp-servers.prefect "mcp-prefect --transport stdio"
Windsurf / Claude Code
{
"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
{
"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
pytest tests/ -v
Building from Source
git clone https://github.com/allen-munsch/mcp-prefect
cd mcp-prefect
pip install -e .
python -m mcp_prefect
Recommend MCP Servers 💡
fetcher-mcp
MCP server for fetching web page content using Playwright headless browser.
mcp-server-hc3
A Model Context Protocol (MCP) server integrating LLM applications with Fibaro HC3 smart home systems, enabling natural language control of devices and scenes.
ios-simulator-mcp
MCP server for interacting with the iOS simulator
MCPControl
Windows control server for the Model Context Protocol, providing programmatic control over system operations including mouse, keyboard, window management, and screen capture functionality
@peakmojo/applescript-mcp
A Model Context Protocol (MCP) server that lets you run AppleScript code to interact with Mac.
@playwright/mcp
A Model Context Protocol (MCP) server providing browser automation capabilities using Playwright, enabling LLMs to interact with web pages through structured accessibility snapshots.