Skip to content

Configuration#

Learn how to configure SousChef for your environment and customise its behaviour.

Configuration Files#

SousChef provides pre-configured setup files for different environments and MCP clients in the config/ directory:

File Purpose
claude-desktop.json Production setup for Claude Desktop
claude-desktop-dev.json Development setup pointing to local repository
vscode-copilot.json VS Code with GitHub Copilot MCP extension
vscode-copilot-dev.json VS Code development setup

MCP Server Configuration#

The basic MCP server configuration structure:

{
  "mcpServers": {
    "souschef": {
      "command": "souschef",
      "args": [],
      "env": {}
    }
  }
}

Configuration Options#

Command#

The command field specifies how to launch the MCP server:

{
  "command": "souschef"
}
{
  "command": "poetry",
  "args": ["run", "souschef"]
}
{
  "command": "python3",
  "args": ["-m", "souschef.server"]
}

Environment Variables#

Configure behaviour through environment variables:

{
  "env": {
    "LOG_LEVEL": "INFO",
    "SOUSCHEF_CONFIG_PATH": "/path/to/config"
  }
}

Available environment variables:

Variable Default Description
LOG_LEVEL INFO Logging verbosity: DEBUG, INFO, WARNING, ERROR
SOUSCHEF_CONFIG_PATH - Custom configuration file path
CHEF_REPO_PATH - Default Chef repository path
CHEF_SERVER_URL - Chef Server URL for dynamic inventory queries (e.g., https://chef.example.com)
CHEF_ORG default Chef organisation name
CHEF_CLIENT_NAME - Chef client or user name for Chef Server authentication
CHEF_CLIENT_KEY_PATH - Path to the Chef client key file (PEM format)
CHEF_CLIENT_KEY - Inline Chef client key content (avoid when possible)

Model Provider Configuration#

SousChef works with any MCP-compatible model provider. Configure your MCP client to use your preferred model.

Claude (Anthropic)#

Claude Desktop configuration is built-in. Simply add the souschef server configuration to claude_desktop_config.json.

OpenAI (GPT-4, GPT-3.5)#

Use an MCP client that supports OpenAI models:

{
  "modelProvider": {
    "type": "openai",
    "apiKey": "${OPENAI_API_KEY}",
    "model": "gpt-4"
  },
  "mcpServers": {
    "souschef": {
      "command": "souschef"
    }
  }
}

Local Models (Ollama)#

For local model inference:

{
  "modelProvider": {
    "type": "ollama",
    "endpoint": "http://localhost:11434",
    "model": "llama2"
  },
  "mcpServers": {
    "souschef": {
      "command": "souschef"
    }
  }
}

Red Hat AI#

Configure for Red Hat AI models:

{
  "modelProvider": {
    "type": "redhat-ai",
    "endpoint": "https://ai.redhat.com/api",
    "apiKey": "${REDHAT_AI_API_KEY}"
  },
  "mcpServers": {
    "souschef": {
      "command": "souschef"
    }
  }
}

Platform-Specific Configuration#

macOS#

Configuration file location:

~/Library/Application Support/Claude/claude_desktop_config.json

Example setup:

# Install SousChef
pip3 install mcp-souschef

# Copy configuration
cp config/claude-desktop.json ~/Library/Application\ Support/Claude/claude_desktop_config.json

# Restart Claude Desktop

Linux#

Configuration file location (varies by desktop environment):

~/.config/Claude/claude_desktop_config.json

Example setup:

# Install SousChef
pip3 install --user mcp-souschef

# Ensure pip bin is in PATH
export PATH="$PATH:$(python3 -m site --user-base)/bin"

# Copy configuration
mkdir -p ~/.config/Claude
cp config/claude-desktop.json ~/.config/Claude/claude_desktop_config.json

Windows#

Configuration file location:

%APPDATA%\Claude\claude_desktop_config.json

Example setup (PowerShell):

# Install SousChef
pip install mcp-souschef

# Copy configuration
New-Item -Path "$env:APPDATA\Claude" -ItemType Directory -Force
Copy-Item config\claude-desktop.json "$env:APPDATA\Claude\claude_desktop_config.json"

Development Configuration#

For development and testing:

Local Repository Setup#

Point to your local development repository:

{
  "mcpServers": {
    "souschef": {
      "command": "poetry",
      "args": ["run", "souschef"],
      "cwd": "/path/to/souschef/repository",
      "env": {
        "LOG_LEVEL": "DEBUG"
      }
    }
  }
}

Testing Configuration#

For automated testing:

{
  "mcpServers": {
    "souschef": {
      "command": "python3",
      "args": ["-m", "souschef.server"],
      "env": {
        "LOG_LEVEL": "DEBUG",
        "TESTING": "true"
      }
    }
  }
}

Advanced Configuration#

Custom Tool Filtering#

Limit which tools are available:

{
  "mcpServers": {
    "souschef": {
      "command": "souschef",
      "env": {
        "SOUSCHEF_TOOLS_INCLUDE": "parse_recipe,generate_playbook_from_recipe",
        "SOUSCHEF_TOOLS_EXCLUDE": "assess_chef_migration_complexity"
      }
    }
  }
}

Performance Tuning#

Configure for large-scale migrations:

{
  "mcpServers": {
    "souschef": {
      "command": "souschef",
      "env": {
        "SOUSCHEF_MAX_FILE_SIZE": "10485760",
        "SOUSCHEF_CACHE_ENABLED": "true",
        "SOUSCHEF_PARALLEL_PROCESSING": "true"
      }
    }
  }
}

Troubleshooting Configuration#

Verify Configuration#

Check that your configuration is valid:

# Test MCP server launch
souschef --version

# Check if tools are accessible
souschef list-tools

Common Issues#

Command Not Found#

# Check if souschef is in PATH
which souschef

# If not, add pip's bin directory to PATH
export PATH="$PATH:$(python3 -m site --user-base)/bin"

Permission Errors#

# Ensure executable permissions
chmod +x $(which souschef)

# Or install with --user flag
pip3 install --user mcp-souschef

Configuration Not Loading#

  1. Verify configuration file location is correct for your platform
  2. Check JSON syntax is valid
  3. Ensure the MCP client has read permissions
  4. Restart the MCP client completely

Debug Mode#

Enable debug logging to troubleshoot issues:

{
  "mcpServers": {
    "souschef": {
      "command": "souschef",
      "env": {
        "LOG_LEVEL": "DEBUG"
      }
    }
  }
}

Check logs:

tail -f ~/Library/Logs/Claude/mcp*.log
tail -f ~/.local/share/Claude/logs/mcp*.log
Get-Content "$env:APPDATA\Claude\logs\mcp*.log" -Wait

Configuration Examples#

Complete Claude Desktop Config#

{
  "mcpServers": {
    "souschef": {
      "command": "souschef",
      "args": [],
      "env": {
        "LOG_LEVEL": "INFO",
        "CHEF_REPO_PATH": "/opt/chef/cookbooks"
      }
    }
  }
}

VS Code with GitHub Copilot#

{
  "mcp.servers": {
    "souschef": {
      "command": "souschef",
      "args": [],
      "env": {}
    }
  }
}

Multi-Server Setup#

Run multiple MCP servers together:

{
  "mcpServers": {
    "souschef": {
      "command": "souschef",
      "env": {
        "LOG_LEVEL": "INFO"
      }
    },
    "other-mcp-server": {
      "command": "other-server",
      "env": {}
    }
  }
}

Next Steps#

For detailed configuration reference and troubleshooting, see config/CONFIGURATION.md in the repository.