Skip to content
VS Code

Sabor for VS Code

io.github.jlmoreno00/sabor

Recipes, meal plans and shopping lists with SQLite by default; Mealie and Postgres optional.

client:VS Code transport:stdio runtime:oci

Install Sabor in VS Code

.vscode/mcp.json

{
  "inputs": [
    {
      "type": "promptString",
      "id": "sabor-language",
      "description": "SABOR_LANGUAGE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "sabor-config",
      "description": "SABOR_CONFIG",
      "password": true
    },
    {
      "type": "promptString",
      "id": "sabor-toolsets",
      "description": "SABOR_TOOLSETS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "sabor-store",
      "description": "SABOR_STORE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "sabor-database-url",
      "description": "SABOR_DATABASE_URL",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mealie-base-url",
      "description": "MEALIE_BASE_URL",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mealie-api-token",
      "description": "MEALIE_API_TOKEN",
      "password": true
    },
    {
      "type": "promptString",
      "id": "bring-email",
      "description": "BRING_EMAIL",
      "password": true
    },
    {
      "type": "promptString",
      "id": "bring-password",
      "description": "BRING_PASSWORD",
      "password": true
    },
    {
      "type": "promptString",
      "id": "sabor-mercadona-enabled",
      "description": "SABOR_MERCADONA_ENABLED",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mercadona-warehouse",
      "description": "MERCADONA_WAREHOUSE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "sabor-open-prices-enabled",
      "description": "SABOR_OPEN_PRICES_ENABLED",
      "password": true
    }
  ],
  "servers": {
    "sabor": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/jlmoreno00/sabor:0.4.0"
      ],
      "env": {
        "SABOR_LANGUAGE": "${input:sabor-language}",
        "SABOR_CONFIG": "${input:sabor-config}",
        "SABOR_TOOLSETS": "${input:sabor-toolsets}",
        "SABOR_STORE": "${input:sabor-store}",
        "SABOR_DATABASE_URL": "${input:sabor-database-url}",
        "MEALIE_BASE_URL": "${input:mealie-base-url}",
        "MEALIE_API_TOKEN": "${input:mealie-api-token}",
        "BRING_EMAIL": "${input:bring-email}",
        "BRING_PASSWORD": "${input:bring-password}",
        "SABOR_MERCADONA_ENABLED": "${input:sabor-mercadona-enabled}",
        "MERCADONA_WAREHOUSE": "${input:mercadona-warehouse}",
        "SABOR_OPEN_PRICES_ENABLED": "${input:sabor-open-prices-enabled}"
      }
    }
  }
}

VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs

Sabor in other clients