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 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 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
- In the VentilatePro web app, open Account Settings and create a CLI token with
the
Agent Editorpreset. - 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.
- Confirm the local setup:
ventilatepro mcp doctor
- 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.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ventilatepro_cli-0.5.0.tar.gz | 45.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ventilatepro_cli-0.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 88.8 kB
Release files / ventilatepro_cli-0.5.0.tar.gz
| Download URL | ventilatepro_cli-0.5.0.tar.gz |
|---|---|
| Size | 45.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b7d4ea40e6b9db1c3d217bb7f85cfcce2d0a43bc708b7af334ff0b3c192f7ace
|
|
BLAKE2b-256 checksum How to use checksums |
1c042b88b13081f3baa9e0d25a8f99359568c264219241c12ce5a6a79031d55b
|
| 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 Jul 30, 2026.
Transparency logRelease files / ventilatepro_cli-0.5.0-py3-none-any.whl
| Download URL | ventilatepro_cli-0.5.0-py3-none-any.whl |
|---|---|
| Size | 43.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ce2a42ff851b4c41959fd33d6a4495a2bee14c5eb37743ff7058d8de540c604d
|
|
BLAKE2b-256 checksum How to use checksums |
149011b9b6304f769715aadfc1bc5c9ee3de926f1256e6fd97651de50080ff7b
|
| 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 Jul 30, 2026.
Transparency log