- Home
- MCP servers
- SousChef
SousChef
- python
0
GitHub Stars
python
Language
6 months ago
First Indexed
3 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"kpeacocke-souschef": {
"command": "uv",
"args": [
"--directory",
"/path/to/souschef",
"run",
"souschef"
]
}
}
}SousChef is an AI-powered MCP Server that streamlines Chef-to-Ansible migrations for enterprise infrastructure. It exposes a rich suite of migration tools, enabling you to analyze cookbooks, convert Chef resources to Ansible tasks, integrate with AWX/AAP, manage secrets and data bags, and plan modern deployment patterns. With MCP you can orchestrate complex migrations from discovery through validation, all in a single, consistent interface.
How to use
You use SousChef with an MCP client to perform end-to-end migration work from Chef to Ansible. Start by discovering the migration scope, then progressively convert cookbooks, environments, data bags, and resources into Ansible equivalents. You can also generate AWX/AAP artifacts, run validation tests, and produce a detailed migration plan. Typical workflows include analyzing migration complexity, generating a migration plan, converting recipes to playbooks, and creating dynamic inventories from Chef data.
How to install
Prerequisites: You need Python 3.14 or newer and the MCP runner tool uv for dependency management. You should also have an MCP-enabled client (for example Claude Desktop or a VS Code MCP extension).
# Clone the SousChef project
git clone https://github.com/your-org/souschef
cd souschef
# Install dependencies via the MCP runner
uv sync
# Optional: run the server locally via MCP (see configuration below)
# The command illustrates starting SousChef with the MCP client
Configuration & running with an MCP client
Configure your MCP client to connect to SousChef using a local stdio (direct) setup. You provide the runtime command for the MCP client along with the working directory where SousChef is located.
{
"mcpServers": {
"souschef": {
"command": "uv",
"args": ["--directory", "/path/to/souschef", "run", "souschef"],
"env": {}
}
}
}
What you can accomplish with SousChef
- Analyze Chef cookbooks to extract recipes, attributes, metadata, and templates.
- Convert Chef resources to equivalent Ansible tasks and generate playbooks from recipes.
- Transform Chef search patterns into dynamic Ansible inventories and generate dynamic inventory scripts.
- Validate infrastructure state by converting InSpec profiles to tests in Testinfra or Ansible assert.
- Convert data bags and secrets to Ansible vars and Vault, and map environments to inventory groups.
- Generate AWX/AAP configurations, including job templates, workflows, and inventory sources.
- Plan and assess migration complexity, dependencies, deployment patterns, and risk, then generate a migration plan and report.
Additional usage notes
You can drive SousChef through the CLI for standalone parsing and conversion tasks. Use the available commands to inspect recipes, templates, attributes, metadata, structure, and to perform conversions. When you run validation, you can output results in multiple formats (InSpec, Testinfra, Ansible assert) and integrate them into your CI/CD pipelines.
Available tools
list_directory
List the contents of a directory to explore cookbook structures.
read_file
Read the contents of a file with error handling.
read_cookbook_metadata
Parse metadata.rb to extract cookbook information and dependencies.
parse_recipe
Parse a Chef recipe to extract resources, actions, and properties.
parse_attributes
Parse attribute files and analyze precedence.
list_cookbook_structure
Display the complete cookbook directory hierarchy.
parse_template
Parse ERB templates and convert to Jinja2 with variable extraction.
parse_custom_resource
Parse custom resources or LWRP files to extract properties, attributes, and actions.
convert_resource_to_task
Convert a Chef resource to an Ansible task.
generate_playbook_from_recipe
Generate an Ansible playbook from a Chef recipe.
convert_chef_search_to_inventory
Convert Chef search patterns to dynamic Ansible inventory groups.
generate_dynamic_inventory_script
Create a dynamic inventory script from Chef server queries.
analyze_chef_search_patterns
Analyze how Chef search patterns are used in cookbooks.
parse_inspec_profile
Parse InSpec profiles and controls.
convert_inspec_to_test
Convert InSpec controls to Testinfra or Ansible assert tasks.
generate_inspec_from_recipe
Auto-generate InSpec validation from Chef recipes.
convert_chef_databag_to_vars
Transform Chef data bags into Ansible variable files.
generate_ansible_vault_from_databags
Convert encrypted data bags to Ansible Vault.
analyze_chef_databag_usage
Analyze data bag usage patterns in cookbooks.
convert_chef_environment_to_inventory_group
Transform Chef environments into inventory groups.
generate_inventory_from_chef_environments
Generate a full inventory from Chef environments.
analyze_chef_environment_usage
Analyze environment usage in cookbooks.
generate_awx_job_template_from_cookbook
Create AWX job templates from cookbooks.
generate_awx_workflow_from_chef_runlist
Transform Chef run-lists into AWX workflows.
generate_awx_project_from_cookbooks
Generate AWX projects from cookbook collections.
generate_awx_inventory_source_from_chef
Create AWX dynamic inventory sources from a Chef server.
convert_chef_deployment_to_ansible_strategy
Convert deployment recipes to Ansible deployment strategies.
generate_blue_green_deployment_playbook
Create blue/green deployment playbooks.
generate_canary_deployment_strategy
Generate canary deployment configurations.
analyze_chef_application_patterns
Identify application deployment patterns in cookbooks.
assess_chef_migration_complexity
Assess migration complexity and risk.
generate_migration_plan
Create a detailed migration execution plan.
analyze_cookbook_dependencies
Analyze dependencies and determine migration order.
generate_migration_report
Generate executive and technical migration reports.