airflow-unfactor
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| read_dagA | Read an Airflow DAG file and return raw source with metadata. Accepts a file path or inline content. Returns the source code, file path, size, and line count. The LLM reads the code directly. Args: path: Path to a DAG file on disk. content: Inline DAG source code. Returns: JSON with source, file_path, file_size_bytes, line_count — or error. |
| lookup_conceptA | Look up Airflow→Prefect translation knowledge for a concept. Searches Colin-compiled knowledge for operators, patterns, connections, and core concepts. Falls back to built-in mappings if Colin output is not available. Args: concept: The Airflow concept to look up (e.g. "PythonOperator", "XCom", "TaskGroup", "postgres_default"). Returns: JSON with concept_type, airflow info, prefect_equivalent, translation_rules, and source ("colin" or "fallback"). |
| search_prefect_docsA | Search current Prefect documentation via the Prefect MCP server. For real-time queries beyond what Colin pre-compiled. Returns search results or an error with suggestion to run 'colin run'. Args: query: Search query for Prefect docs. Returns: JSON with search results or error. |
| validateA | Validate a converted Prefect flow against the original Airflow DAG. Returns both source files for comparison plus a syntax check on the generated code. You perform the structural comparison. Args: original_dag: Path or inline content of the original DAG. converted_flow: Path or inline content of the generated flow. Returns: JSON with original_source, converted_source, syntax_valid, syntax_errors, and comparison_guidance. |
| scaffoldA | Generate a Prefect project directory structure. Creates the project skeleton following prefecthq/flows conventions. Does NOT generate flow code - that's for the LLM to do. Args: output_directory: Where to create the project project_name: Project name (defaults to directory name) workspace: Workspace name for deployments// structure flow_names: List of flow names to create directories for include_docker: Include Dockerfile template include_github_actions: Include CI workflow template schedule_interval: Cron string, preset (@daily etc.), seconds, or None. Returns: JSON with created_directories, created_files, prefect_yaml_template, next_steps |
| generate_deploymentA | Write prefect.yaml deployment configuration from DAG metadata. Call after generating flow.py. Produces a complete prefect.yaml with YAML anchors, schedule config, parameter defaults, and TODO stubs for work pool and pull step configuration. Args: output_directory: Directory to write prefect.yaml into. flows: List of flow dicts. Each requires flow_name and entrypoint. Optional fields: schedule (cron/interval/None), parameters (dict of name→default), description, tags, dataset_triggers. workspace: Workspace name (default: "default"). Returns: JSON with created_file, deployment_names, next_steps. |
| generate_migration_reportA | Write MIGRATION.md — human-readable record of a DAG conversion. Call as the final step after generate_deployment. Documents every conversion decision, produces a before-production checklist with Prefect doc links, and suggests adding the Prefect MCP server. Args: output_directory: Directory to write MIGRATION.md into. dag_path: Path to the original Airflow DAG file. flow_path: Path to the generated Prefect flow file. decisions: List of dicts, each with: component, outcome, rationale (optional), manual_action (optional). manual_actions: Top-level action types not tied to a specific component (e.g. "setup_work_pool", "migrate_connections"). Returns: JSON with created_file, checklist_items_count. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/gabcoyne/airflow-unfactor'
If you have feedback or need assistance with the MCP directory API, please join our Discord server