# Product Metrics

<!-- Generated by scripts/product_metrics_snapshot.py -->

This appendix is the canonical home for volatile product counts.
Keep counts out of public positioning copy and update this file from the repo instead of hand-editing numbers.

- Generated on: `2026-05-20`
- Version: `0.87.1`

| Metric | Value | Source | Notes |
| --- | ---: | --- | --- |
| MCP tools | 51 | `src/agent_bom/mcp_server_metadata.py` | Counted from the advertised server-card tools. |
| MCP resources | 6 | `src/agent_bom/mcp_server_metadata.py` | Counted from the advertised server-card resources. |
| MCP prompts | 6 | `src/agent_bom/mcp_server_metadata.py` | Counted from the advertised server-card workflow prompts. |
| GitHub workflow files | 35 | `.github/workflows` | Counts .yml and .yaml workflow definitions. |
| Test files | 483 | `tests/` | Counts files matching test_*.py. |
| API route modules | 25 | `src/agent_bom/api/routes` | Counts Python files in the routes package, including __init__.py. |
| UI app pages | 24 | `ui/app` | Counts page.tsx and page.jsx files recursively. |
| Python modules | 485 | `src/agent_bom` | Counts all Python files recursively. |
| Supported package ecosystems | 15 | `src/agent_bom/ecosystems.py` | Counted from SUPPORTED_PACKAGE_ECOSYSTEMS. |
| Compliance surfaces | 16 | `src/agent_bom/compliance_coverage.py` | 14 tag-mapped frameworks plus the OWASP AISVS benchmark surface. |
| Proxy inline detectors | 7 | `src/agent_bom/proxy.py` | Inline detector chain used by the MCP proxy path. |
| Runtime protection engine detectors | 8 | `src/agent_bom/runtime/protection.py` | Broader protection engine used outside the lighter proxy-only path. |

## Runtime wording

- `agent-bom proxy` uses `7` inline detectors in the MCP JSON-RPC path.
- The broader runtime protection engine uses `8` detectors.

## Regenerate

```bash
python scripts/product_metrics_snapshot.py --write
```
