Skip to main content

VentilatePro CLI

VentilatePro CLI is a local command-line client for authenticating to VentilatePro, recording project notes and meeting minutes, and running scoped engineering workflows.

Install

Published releases install from PyPI:

pipx install ventilatepro-cli

Upgrade an existing install:

pipx upgrade ventilatepro-cli

Local development install:

cd ventilatepro-cli
pip install -e .

Commands

ventilatepro auth login
ventilatepro projects list
ventilatepro projects show 1
ventilatepro rooms list --project 1
ventilatepro room-equipment summary --project 1
ventilatepro room-equipment create --data '{"room": 501, "name": "Sterilizer", "heat_gain_value": 1.8, "heat_gain_unit": "KW"}'
ventilatepro revit-imports review --project 1 --json
ventilatepro revit-imports confirm 41 --project 1 --review-token <token-from-review> --yes
ventilatepro categorization review --project 1 --output room-categorization.json
ventilatepro categorization apply --project 1 --input room-categorization.json --yes
ventilatepro ahus list --project 1
ventilatepro systems hierarchy --project 1
ventilatepro calc status --project 1
ventilatepro calc ahu-properties --ahu 1
ventilatepro design-day context --project 1
ventilatepro notes create --project 1 --body "Captured from terminal"
ventilatepro notes sync
ventilatepro meetings context --project 1 --json
ventilatepro meetings record --project 1 --input meeting.json --json
ventilatepro meetings list --project 1
ventilatepro decisions create --project 1 --text "Use heat recovery on AHU-2" --reason "Energy model payback" --tags ahu,energy
ventilatepro decisions list --project 1
ventilatepro decisions revise 51 --text "Use heat recovery with bypass control"
ventilatepro tasks context --project 1 --json
ventilatepro tasks create --project 1 --description "Issue updated duct plan" --assignee-id 12 --priority high
ventilatepro mcp doctor
ventilatepro-mcp

ventilatepro-mcp starts the local stdio MCP server for Codex, Claude Desktop, and other MCP clients. It uses the same saved base URL and CLI token created by ventilatepro auth login.

For meeting capture, Codex first reads meetings context to resolve names to stable project-member IDs, interprets the PM's prose into a structured JSON payload, and calls meetings record. The server atomically creates the meeting, decisions, and assigned project tasks and returns a direct web-app link.

For standalone work, Codex reads tasks context to resolve an assignee to a stable project-member user ID, then calls tasks create. The same workflow is available through the typed vp_get_task_context and vp_create_project_task MCP tools.

Design decisions do not require meeting minutes. Codex can call decisions create or vp_create_decision as soon as a PM communicates a decision, with an optional meeting ID only when the relationship is useful. Listing, showing, and revising decisions are available through first-class CLI and MCP surfaces; revisions preserve the prior version as immutable history.

For room classification, Codex can read the project-specific categorization review resource or use the dedicated MCP tools. Review manifests default every room to rejected so ambiguous spaces remain visible until a category is explicitly accepted with a reason.

For staged Revit imports, agents use revit-imports review or vp_review_revit_import first. The returned review token identifies the exact payload and diff that was inspected. Confirmation requires that unchanged token plus explicit --yes or MCP confirm=true; stale reviews are rejected.

MCP setup

  1. In the VentilatePro web app, open Account Settings and create a CLI token with the Agent Editor preset.
  2. Log in locally:
ventilatepro auth login --token vpcli_...

The production URL defaults to https://ventilatepro.com. Use --url only for local development, staging, or self-hosted VentilatePro servers.

  1. Confirm the local setup:
ventilatepro mcp doctor
  1. Add the stdio server to Codex:
codex mcp add ventilatepro -- ventilatepro-mcp

For JSON-based MCP clients, use:

{
  "mcpServers": {
    "ventilatepro": {
      "command": "ventilatepro-mcp",
      "args": []
    }
  }
}

If the client cannot find ventilatepro-mcp, run where ventilatepro-mcp on Windows or which ventilatepro-mcp on macOS/Linux and use the full path as the command.

If the hidden token prompt is awkward in your terminal, use either:

ventilatepro auth login --token-prompt-visible

or pipe the token through stdin:

printf '%s' "$VPCLI_TOKEN" | ventilatepro auth login --token-stdin

See the hosted install guide at https://ventilatepro.com/exam/cli/, plus docs/commands.md, docs/auth.md, docs/api.md, and docs/releasing.md in this repo.

Metadata

Release files for ventilatepro-cli 0.5.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ventilatepro-cli 0.5.2
File Size Uploaded
ventilatepro_cli-0.5.2.tar.gz 51.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ventilatepro-cli 0.5.2
File Interpreter ABI Platform
ventilatepro_cli-0.5.2-py3-none-any.whl Python 3 none any Details

Total release size: 100.0 kB

Release files / ventilatepro_cli-0.5.2.tar.gz

Download URL ventilatepro_cli-0.5.2.tar.gz
Size 51.9 kB
Tags Source
SHA-256 checksum
How to use checksums
cd4c8526a052061468336f60dee5cb89edc145e354bc97cf7738bdbc24615183
BLAKE2b-256 checksum
How to use checksums
871f374c4eeb07a685054d2a653b4a098b5ea344998b357e026360e5b656d492
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 1, 2026.

Transparency log

Release files / ventilatepro_cli-0.5.2-py3-none-any.whl

Download URL ventilatepro_cli-0.5.2-py3-none-any.whl
Size 48.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
91fd31863ba26a319bfce51e82709c9fd4441ce8294175c72e0b9358a9a92cf8
BLAKE2b-256 checksum
How to use checksums
3845daec7335aee9bf4b4f4bca0832ce9e719f37d7d6f312e10769c221ed29a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 1, 2026.

Transparency log

Release history Release notifications | RSS feed

0.8.1

2 release files

0.7.0

2 release files

This release

0.5.2 This release

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release 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