Tool Catalogs
Tool catalogs define the operational resources NOCFoundry loads at startup.
Supported catalog flags
--tools-file--tools-files--tools-folder--prebuilt
These are mutually exclusive where appropriate:
--tools-file,--tools-files, and--tools-foldercannot be combined--prebuiltcan be combined with custom tool catalogs when you want bundled capabilities plus your own configs
What a catalog can contain
Tool catalogs can define:
- sources
- device groups
- auth services
- tools
- toolsets
- prompts
- promptsets
- embedding models
Prebuilt catalogs
--prebuilt takes a bundled catalog name, not an individual tool name.
Current bundled prebuilt catalogs:
validation-runs
For example, this is valid:
./nocfoundry --prebuilt validation-runs
This is not valid:
./nocfoundry --prebuilt start_validation_run
because start_validation_run is a tool inside the validation-runs prebuilt catalog, not the catalog name itself.
Merge behavior
When multiple files are loaded through --tools-files or --tools-folder, NOCFoundry merges the resource sets into one runtime catalog. Resource names must remain unique inside their kind.
Prebuilt catalogs are merged into that same runtime catalog. This means:
- users can start NOCFoundry with
--prebuiltplus their own tool catalog in one command - duplicate resource names across prebuilt and custom configs fail with a conflict error
- server-scoped auth policy in
--server-configstill requires matchingauthServicesto be present in the loaded tool catalogs
Example: merge the bundled validation lifecycle tools with a custom validation definition:
./nocfoundry \
--prebuilt validation-runs \
--tools-file examples/tools-configs/keycloak-protected-validation.yaml \
--server-config examples/server-configs/protected-api-mcp-ui.yaml \
--validation-config examples/validation-runtime-configs/durable-validation-sqlite.yaml \
--ui
In that combined startup:
validation-runscontributes:start_validation_runvalidation_run_statusvalidation_run_resultcancel_validation_run
- your custom tool catalog contributes:
maintenance_validationnoc-keycloak- any additional prompts, toolsets, or device groups
If the custom tool catalog already defines the same validation-run lifecycle tools, the merge will fail. NOCFoundry does not silently alias or override duplicate resources.
Recommended practice
- keep lab and production catalogs separate
- keep tool catalogs focused on operational resources, not server policy
- put
/api,/mcp, and UI auth policy in--server-config - use
--prebuiltfor small generic operational bundles, and keep richer end-to-end workflows inexamples/