Skip to main content

Tests Python 3.10+ Docker MCP Business Source License 1.1 Odoo

Oduflow

An AI-first Odoo development and CI tool, powered by reusable database templates. Oduflow provisions isolated, ephemeral Odoo environments on Docker — one per git branch — and exposes them to AI coding agents via MCP, creating a closed feedback loop that enables fully autonomous Odoo development.

Beyond Vibe Coding: Spec-Driven Development

Vibe coding — chatting with an AI and eyeballing the output — was the first wave. It works for prototypes, but breaks down on real ERP systems where a module must install cleanly, pass tests, and work against production data.

Spec-Driven Development (SDD) is the next step: you write a precise specification of what the module should do, and the AI agent autonomously implements how — because it has a closed feedback loop with the running system:

┌──────────────────────────────────────────────────────┐
│                    AI Agent                          │
│          (Cursor, Cline, Amp, Claude, …)             │
└──────┬──────────────────────────────▲────────────────┘
       │ 1. Read spec                 │ 5. Read errors,
       │ 2. Write code                │    fix code,
       │ 3. Install module via MCP    │    retry
       │ 4. Click-test UI via         │
       │    Playwright MCP            │
┌──────▼──────────────────────────────┴────────────────┐
│               Oduflow (MCP Server)                   │
│  • install_odoo_modules → traceback or success       │
│  • run_odoo_tests → test pass/fail with details      │
│  • get_environment_logs → runtime errors             │
│  • upgrade_odoo_modules → upgrade output             │
├──────────────────────────────────────────────────────┤
│            + Playwright MCP / other tools            │
│  • Navigate Odoo UI, click buttons, fill forms       │
│  • Verify business logic end-to-end                  │
│  • Validate acceptance criteria from the spec        │
└──────────────────────────────────────────────────────┘

The agent writes code, installs the module, reads the traceback, fixes the error, retries — and when it installs cleanly, it can open the browser via Playwright MCP to click through the UI, verify business flows, and validate acceptance criteria — all without human intervention. connect_as_user closes the last gap: it mints a passwordless Odoo session and hands back the cookie, so Playwright lands past /web/login as any role (admin, sales manager, portal) — no credentials to type, no login form.

Vibe Coding Spec-Driven Development
Input Conversational prompts Formal specification with acceptance criteria
Feedback Human eyeballs the code System returns errors, test results, and UI state automatically
Iteration Human copy-pastes errors back Agent retries autonomously via MCP
Scope Single files, prototypes Full modules against real databases
Verification "Looks right" Module installs, tests pass, UI works on production data

Quick Start

1. Install

pip install oduflow

2. Start the MCP server

oduflow

That's it. On first launch, Oduflow automatically creates a default config and initializes shared infrastructure (Docker network, PostgreSQL, team directories).

The generated config is written to /etc/oduflow/oduflow.toml when writable, otherwise to ~/.oduflow/conf/oduflow.toml. Fresh configs include generated secrets for HTTP access: [team.1].auth_token for MCP clients and [team.1].ui_password for the Web Dashboard. Both values are also printed in the startup log.

By default, the server starts in stdio mode (for local MCP clients). For remote/multi-user deployments:

oduflow --transport http
oduflow -t http

3. Connect an MCP client

stdio (local) — add to your MCP client config (e.g. claude_desktop_config.json):

{
  "mcpServers": {
    "oduflow": {
      "command": "oduflow"
    }
  }
}

HTTP (remote) — point your MCP client to http://<host>:8000/mcp and send Authorization: Bearer <auth_token> using the token from oduflow.toml.

The bundled CLI can call that remote MCP server without a separate agent or MCP client configuration:

export ODUFLOW_MCP_URL="http://<host>:8000/mcp"
export ODUFLOW_MCP_TOKEN="<auth_token>"
oduflow client list_environments

The Web Dashboard is available at http://<host>:8000/. Sign in as admin with the ui_password from oduflow.toml; this is separate from the MCP Bearer token.


Documentation

For full documentation, visit oduflow.dev or see the docs/ folder:


Telemetry

Oduflow collects anonymous usage telemetry (first startup and environment creation events) to understand adoption. Only the event name, version, and a random instance ID are sent — no personal data or environment details. To opt out, add disable_telemetry = true to the [server] section of your oduflow.toml. See the documentation for details.

Licensing

Oduflow is source-available under the Business Source License 1.1. Evaluation, educational, and other non-commercial use is free forever. Commercial use requires a paid license in one of three tiers — Individual (solo developers), Business (internal company use), or Integrator (Odoo service providers) — visit oduflow.dev. Each release converts to the open-source MPL 2.0 four years after publication.

Download files

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

Source Distribution

oduflow-1.74.0.tar.gz (3.1 MB view details)

Uploaded Source

Built Distribution

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

oduflow-1.74.0-py3-none-any.whl (799.9 kB view details)

Uploaded Python 3

File details

Details for the file oduflow-1.74.0.tar.gz.

File metadata

  • Download URL: oduflow-1.74.0.tar.gz
  • Upload date:
  • Size: 3.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for oduflow-1.74.0.tar.gz
Algorithm Hash digest
SHA256 2b43e1d51e30aa37b97e8039b3af19bb34a483c0045a76714dc004ea4702a9a6
MD5 26a6fa73f5e0ab6540592df550355f1c
BLAKE2b-256 9f0a1c345e6a9a294044b009d49ef79f4a8b9664a8c42fa3e938b217b272f07a

See more details on using hashes here.

Provenance

The following attestation bundles were made for oduflow-1.74.0.tar.gz:

Publisher: publish.yml on oduist/oduflow

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

File details

Details for the file oduflow-1.74.0-py3-none-any.whl.

File metadata

  • Download URL: oduflow-1.74.0-py3-none-any.whl
  • Upload date:
  • Size: 799.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for oduflow-1.74.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5e80a37eae2b860f36e56356a727ff0a9f60a8968d73e92724e92f6145be9a27
MD5 59461e732dcd7a567f1950a8a353d049
BLAKE2b-256 d958fc4e4f89ff3cb99ed07e4dd6ffe64db2eb5fb25d3e020d74fc7f2e2ad0b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for oduflow-1.74.0-py3-none-any.whl:

Publisher: publish.yml on oduist/oduflow

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

Release history Release notifications | RSS feed

1.75.0

2 files

This release

1.74.0 This release

2 files

1.73.0

2 files

1.72.1

2 files

1.72.0

2 files

1.71.0

2 files

1.70.0

2 files

1.69.0

2 files

1.68.1

2 files

1.68.0

2 files

1.67.0

2 files

1.66.0

2 files

1.65.0

2 files

1.64.0

2 files

1.63.0

2 files

1.62.0

2 files

1.61.0

2 files

1.60.0

2 files

1.51.0

2 files

1.50.5

2 files

1.50.4

2 files

1.50.3

2 files

1.50.2

2 files

1.50.1

2 files

1.20.1

2 files

1.15.1

2 files

1.10.1

2 files

1.0.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page