Skip to contents

Saves workflow objects to YAML and/or Markdown format. Optionally exports associated MCP tools to the same directory. Workflows are saved to output_dir/workflows/ and tools to output_dir/tools/.

Usage

mcpflow_export(
  workflows,
  output_dir,
  format = c("yaml", "markdown", "both"),
  save_tools = TRUE,
  verbose = TRUE
)

Arguments

workflows

Either a "ravepipeline_mcp_workflow" object, a list of "ravepipeline_mcp_workflow" objects, or a character string path to a workflow YAML file

output_dir

Character string, base directory to save output files. If NULL (default), uses the parent directory of the input file's folder (when workflows is a path) or current working directory (when workflows is an object). Workflows are saved to output_dir/workflows/, tools to output_dir/tools/

format

Character string, output format. Options: "markdown" (default), "yaml", "both"

save_tools

Logical, whether to save referenced MCP tools to output_dir/tools/; default is TRUE

verbose

Logical, whether to print progress messages; default is TRUE

Value

Invisibly returns a character vector of paths to written files

Examples


# Load workflows from package and export to temp directory
workflows <- mcpflow_load_all("ravepipeline")

temp_dir <- tempfile("mcp_export")
written_files <- mcpflow_export(
  workflows,
  output_dir = temp_dir,
  format = "both",
  save_tools = TRUE,
  verbose = FALSE
)

# Show exported files
list.files(temp_dir, recursive = TRUE)
#>  [1] "tools/ravepipeline-mcp_tool_config_set_outputs.yaml"              
#>  [2] "tools/ravepipeline-mcp_tool_docs_available_vignettes.yaml"        
#>  [3] "tools/ravepipeline-mcp_tool_docs_help_page.yaml"                  
#>  [4] "tools/ravepipeline-mcp_tool_docs_package_help_topics.yaml"        
#>  [5] "tools/ravepipeline-mcp_tool_docs_vignette.yaml"                   
#>  [6] "tools/ravepipeline-mcp_tool_pipeline_get_helpers.yaml"            
#>  [7] "tools/ravepipeline-mcp_tool_pipeline_get_info.yaml"               
#>  [8] "tools/ravepipeline-mcp_tool_pipeline_get_progress.yaml"           
#>  [9] "tools/ravepipeline-mcp_tool_pipeline_get_script.yaml"             
#> [10] "tools/ravepipeline-mcp_tool_pipeline_get_target_dependencies.yaml"
#> [11] "tools/ravepipeline-mcp_tool_pipeline_list.yaml"                   
#> [12] "tools/ravepipeline-mcp_tool_pipeline_load.yaml"                   
#> [13] "tools/ravepipeline-mcp_tool_pipeline_read_results.yaml"           
#> [14] "tools/ravepipeline-mcp_tool_pipeline_run.yaml"                    
#> [15] "tools/ravepipeline-mcp_tool_pipeline_set_settings.yaml"           
#> [16] "tools/ravepipeline-mcp_tool_search_package_info.yaml"             
#> [17] "tools/ravepipeline-mcp_tool_search_packages.yaml"                 
#> [18] "workflows/rave_pipeline_class_guide.md"                           
#> [19] "workflows/rave_pipeline_class_guide.yaml"                         

# Cleanup
unlink(temp_dir, recursive = TRUE)