Data Model
Every tool in the catalog conforms to the Tool interface. The catalog index uses a lighter CatalogIndexEntry type.
Tool fields
Identity
| slug | string | URL-safe identifier |
| name | string | Human-readable display name |
| binary | string | Executable command name |
| description | string | One-line description |
| schema_version | string | Schema version for this record |
Company and links
| company | Company | name, url, logo_slug |
| repository | string | Source code URL |
| documentation | string | Documentation URL |
Installation
| install.brew | string? | Homebrew formula or cask |
| install.apt | string? | APT package name |
| install.npm | string? | npm package name |
| install.pip | string? | pip package name |
| install.binary_url | string? | Direct download URL |
| install.docker | string? | Docker image |
| install.note | string? | Additional install notes |
Auth
| auth.methods | (string | AuthMethod)[] | Auth types (token, oauth, sso, etc.) |
| auth.env_vars | string[] | Environment variables for credentials |
| auth.config_files | string[] | Config file paths |
| auth.setup_command | string | Command to initialize auth |
| auth.docs_url | string | Auth documentation link |
Output
| output_formats.supports_json | boolean | Whether the CLI supports JSON output |
| output_formats.json_flag | string? | Flag to enable JSON output |
| output_formats.default_format | string | Default output format |
| output_formats.other_formats | string[] | Other supported formats |
| global_flags | GlobalFlag[] | Flags available on all commands |
Agent context
| help_output.root | string | Raw root help text |
| help_output.groups | Record<string, string> | Help text per command group |
| command_groups | CommandGroup[] | Named groups with command counts |
| availability_check | string | Command to verify the CLI is installed |
| requires | Prerequisite[]? | Other CLIs this tool depends on |
Metadata
| categories | string[] | From the 10-value category vocabulary |
| capabilities | string[] | From the 36-value capability vocabulary |
| version_checked | string | object | Latest known version info |
| last_updated | string | ISO 8601 date of last update |
CatalogIndex
The catalog index (/api/catalog-index.json) wraps an array of lightweight entries.
| schema_version | string | Index schema version |
| generated_at | string | ISO 8601 generation timestamp |
| tool_count | number | Total tools in the catalog |
| capability_vocabulary | string[] | All valid capability values |
| tools | CatalogIndexEntry[] | Array of tool entries |
Categories
10 values. Every tool has at least one.
cloud-provider
infrastructure-as-code
containers-and-orchestration
ci-cd-and-source-control
observability-and-monitoring
security-and-identity
databases-and-data
messaging-and-streaming
developer-platforms
collaboration-and-productivity
Capabilities
36 values. Tools typically have 2-5.
compute-management
storage-management
database-management
networking
identity-and-access
secrets-management
serverless
container-orchestration
container-registry
ci-cd
deployment
monitoring
logging
alerting
tracing
cost-management
dns-management
cdn
edge-computing
message-queues
event-streaming
api-management
authentication
vulnerability-scanning
policy-enforcement
source-control
project-management
incident-management
feature-flags
infrastructure-provisioning
configuration-management
service-mesh
data-pipelines
ml-serving
payment-processing
communication