Projects
MCP tools for the Projects module. See the Projects module docs for permissions and data model.
list-projects
List projects
Arguments
| Argument | Type | Required | Description |
|---|---|---|---|
limit | number | no | Maximum number of results to return |
offset | number | no | Number of results to skip |
create-project
Create a project
Arguments
| Argument | Type | Required | Description |
|---|---|---|---|
name | string | yes | — |
get-project
Get a project
Arguments
| Argument | Type | Required | Description |
|---|---|---|---|
project_id | string | yes | Project public ID (proj_ prefix) |
update-project
Update a project
Arguments
| Argument | Type | Required | Description |
|---|---|---|---|
project_id | string | yes | Project public ID (proj_ prefix) |
name | string | no | — |
guardrail_ids | array<string> | null | no | Guardrails attached at the project scope. |
max_concurrent_runs | number | null | no | Maximum orchestration runs of this project driven at once. null clears the limit (unlimited); otherwise an integer >= 1. Enforced at queue claim time — excess runs stay queued until a slot frees. |
max_chain_generations | number | null | no | Generations one continuation chain in this project may hold before the platform stops resuming it. null clears the project's ceiling, leaving the deployment-wide MAX_CONTINUATION_CHAIN_GENERATIONS; otherwise an integer >= 1. The effective budget is the smallest of the deployment's ceiling, this one, and the agent's own max_chain_generations stop condition, so an agent author can be stricter than this number but never exceed it. |
max_orchestration_run_depth | number | null | no | loop / sub_orchestration nesting levels a run tree in this project may reach before the engine refuses to start the next child. null clears the project's bound, leaving the deployment-wide MAX_ORCHESTRATION_RUN_DEPTH (default 10); otherwise an integer >= 1. The effective bound is the smaller of the two, so this can only be stricter than the deployment's — which is what makes it a bound a graph author cannot opt out of. A refused child fails its parent run with ORCHESTRATION_RUN_DEPTH_LIMIT. |
default_model_route_id | string | null | no | Model route inherited by consumers in this project that bind neither model_route_id nor ai_provider_id. The route must belong to this project (400 otherwise). null clears the default, which is refused with 409 while any consumer inherits it — repointing it to another route is always allowed and immediately changes which targets those consumers use. |
audit_reads_enabled | boolean | no | Opt the project into read auditing. When true, GET requests that name this project are recorded in the audit log alongside mutations. Defaults to false. |
trace_content_retention_days | number | null | no | How long trace and generation content is kept before the daily retention sweep content-purges it. null (the default) disables retention; otherwise an integer >= 1. The sweep uses the same purge path as DELETE /traces/{trace_id}/content, so the row survives as an auditable skeleton with content_redacted_at set. |
trace_content_mode | string | no | Whether trace and generation content is persisted at all. full (the default) stores it; none is zero-retention — content is never written, for every agent in the project. An agent may tighten this to none on its own but cannot loosen a none project back to full. |
delete-project
Delete a project
Arguments
| Argument | Type | Required | Description |
|---|---|---|---|
project_id | string | yes | Project public ID (proj_ prefix) |
force | boolean | no | When true, deletes all of the project's dependent resources instead of returning 409 PROJECT_HAS_DEPENDENTS. |
get-project-prices
List a project's price rows
Arguments
| Argument | Type | Required | Description |
|---|---|---|---|
project_id | string | yes | Project public ID (proj_ prefix) |
update-project-prices
Upsert a project's price rows
Arguments
| Argument | Type | Required | Description |
|---|---|---|---|
project_id | string | yes | Project public ID (proj_ prefix) |
prices | array<object> | yes | — |