Get Project Status
openl_project_statusGet a project's compile state, diagnostics, pending changes, and module/test summary. Wait for compilation to complete, filter by severity, or switch branches as needed.
Instructions
Get the project's compile state, diagnostics, pending changes, and module/test summary. By default wait=true: a supplied branch switches the opened design project to that branch before validation; if Studio reports idle, the tool lazily starts compilation through the tables API; if compilation is already running, it waits for a terminal state (ok/warnings/errors) and emits progress notifications when available. Set wait=false only for a fast read-only snapshot, which may legitimately return idle or compiling and never switches branches. Edits made through the MCP table tools already trigger recompilation.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| wait | No | When true (default), returns a conclusive compile state: an idle project is compiled lazily through Studio's tables API, while an already-running compilation is followed over the real-time status topic until compileState is terminal (ok/warnings/errors). Progress notifications are emitted when available. Set false only for a one-shot read-only snapshot that may return idle or compiling. | |
| branch | No | Optional target branch. With wait=true (default), the tool switches an opened design project to this branch before validating it. With wait=false, this is a read-only assertion and Studio returns 409 when it differs from the currently opened branch. Omit for repositories that do not support branches and for repository 'local'. | |
| severity | No | Filter compilation.messages.items to only these severities. Useful when the project has many warnings and you want to isolate errors: pass severity: ['ERROR']. Default: all severities. Note: items are always sorted ERROR → WARN → INFO before any filter or truncation is applied, so errors are visible without this filter. | |
| projectId | Yes | Project ID returned by backend. Use the exact 'projectId' value from openl_list_projects() response without modification or reformatting. | |
| timeoutMs | No | Max time in milliseconds to wait for compilation when wait=true. On expiry, the last-seen status is returned (no error). Default 120000 (2 minutes). Cap 600000 (10 minutes). Ignored when wait=false. | |
| maxMessages | No | Cap the number of items returned in compilation.messages.items. The list is sorted ERROR → WARN → INFO first so the most actionable items are preserved when capped. Pair with severity to bound very large diagnostic lists. Default: no cap (relies on the response-format character truncation). | |
| response_format | No | Response format: 'json' for structured, round-trippable data (default), 'markdown' for human-readable output, 'markdown_concise' for a brief summary (1-2 paragraphs), or 'markdown_detailed' for full details with context | json |