Skip to main content

AI-powered MCP server for Chef to Ansible migration and Ansible upgrade planning

Project description

SousChef: Chef-to-Ansible Migration & Ansible Upgrade Planning

Transform Chef automation to Ansible and plan Ansible version upgrades. Works with any AI assistant via MCP (Model Context Protocol)—Claude, GPT-4, GitHub Copilot, Red Hat AI, local models, and more.


Warning I did not hand craft 100k lines of code in two days while doing my actual day job (which, for the record, isn’t this). A lot of this is AI generated. Architected, hand edited, and personally sworn at yes, but the heavy hand of AI is all over this repo.

I’ve pushed it to include a lot of tests, and I run it through its paces before pushing, but some things may break, or may have always been broken. If you find something, raise it and I’ll fix it.

A fair bit of this relies on mocked Chef/AWX/AAP APIs, because—shockingly—I don’t have a fleet of enterprise grade installs with enterprise grade data sitting around to test against. Buyer beware (doubly so, since you didn’t actually buy anything).

Quick Facts: MIT License | Python 3.10+ | 43 MCP Tools | 91% Test Coverage

GitHub release Python Version License: MIT Test Coverage Code style: Ruff Type Checked: mypy Quality Gate Status Security Rating Maintainability Rating

What It Does

Chef-to-Ansible Migration — Convert cookbooks, recipes, custom resources, data bags, and Habitat plans to Ansible playbooks, roles, and containers. Supports infrastructure, applications, and day-2 operations.

Ansible Upgrade Planning — Assess compatibility, plan version upgrades, validate collections, identify breaking changes, and generate testing strategies.

Installation & Setup

# Install from PyPI
pip install mcp-souschef

# Configure your MCP client (Claude Desktop example)
cp config/claude-desktop.json ~/Library/Application\ Support/Claude/claude_desktop_config.json

# Restart your AI assistant and start using
# Ask: "What Chef migration tools are available?"

Other MCP clients: See config/CONFIGURATION.md for VS Code Copilot, custom setups, and Docker deployment.

Key Features

  • 43 MCP tools for Chef migration and Ansible upgrades
  • Web UI with interactive migration planner and visualisation
  • CLI for automation and CI/CD integration
  • Production-ready with 91% test coverage and comprehensive validation
  • Model-agnostic — works with any AI assistant supporting MCP

Common Use Cases

Chef Migration:

  • Convert cookbooks to Ansible playbooks and roles
  • Migrate Chef Habitat apps to Docker containers
  • Transform data bags to Ansible Vault
  • Generate AWX/AAP job templates and workflows
  • Convert InSpec tests to Ansible validation tasks

Ansible Upgrades:

  • Assess Python and Ansible version compatibility
  • Plan upgrades with breaking change analysis
  • Validate collection compatibility
  • Generate testing strategies
  • Track end-of-life dates

Both Infrastructure & Applications:

  • Infrastructure provisioning and configuration
  • Application deployment automation
  • Day-2 operations (backups, scaling, updates)
  • CI/CD pipeline migration
  • Multi-cloud automation

Command-Line Examples

# Chef migration
souschef-cli recipe /path/to/recipe.rb
souschef-cli template /path/to/template.erb
souschef-cli convert package nginx --action install

# Ansible upgrades
souschef ansible assess --environment-path /path/to/ansible
souschef ansible plan --current 2.9 --target 2.17
souschef ansible validate-collections --requirements-file requirements.yml

# Web UI
souschef ui  # Launch interactive dashboard

Documentation

Start Here

Reference

Recent Updates

v6.0.0 — v2 core foundation with enhanced migration capabilities

v5.1.4 — Modular architecture, 91% test coverage, full type safety, production-ready

v5.0.0 — Complete Ansible upgrade planning with version matrices and EOL tracking

Contributing

# Development setup
git clone https://github.com/kpeacocke/souschef.git && cd souschef
poetry install
poetry run pytest           # Run tests
poetry run ruff check .     # Lint
poetry run mypy souschef    # Type check

Standards: Zero warnings policy, type hints required, 90%+ test coverage, Australian English spelling.

See CONTRIBUTING.md for complete guidelines.

Support

License

MIT License — see LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_souschef-6.0.1.tar.gz (387.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_souschef-6.0.1-py3-none-any.whl (428.7 kB view details)

Uploaded Python 3

File details

Details for the file mcp_souschef-6.0.1.tar.gz.

File metadata

  • Download URL: mcp_souschef-6.0.1.tar.gz
  • Upload date:
  • Size: 387.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mcp_souschef-6.0.1.tar.gz
Algorithm Hash digest
SHA256 0e3554ac53f0fff68dc6f068cd4afdf19ebe0efffb2e10fb87cabd7826fbb643
MD5 06815414cc9dc205e1bc874b3b36c267
BLAKE2b-256 d3b1ae3995bc24212b78fc4258323145886fc8fc6670aaa20d330a9b320c4c35

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_souschef-6.0.1.tar.gz:

Publisher: release.yml on kpeacocke/souschef

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mcp_souschef-6.0.1-py3-none-any.whl.

File metadata

  • Download URL: mcp_souschef-6.0.1-py3-none-any.whl
  • Upload date:
  • Size: 428.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mcp_souschef-6.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0114ff10582a9f108de38ebd5d9b8085856adbb02bf2f3d17d59c04e3e405f79
MD5 3d0f93e829bc663434ff5fb699fa6647
BLAKE2b-256 0b083a4707c37f15b79840efd75d981bd09a73e30bea8f0377de61a402df97e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_souschef-6.0.1-py3-none-any.whl:

Publisher: release.yml on kpeacocke/souschef

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page