drako bom extracts a complete inventory of your AI agent project without evaluating any governance rules or producing a score. It is a pure discovery tool useful for audits, dependency tracking, and understanding the attack surface of your agents.
All analysis runs via Python AST. No network calls are made.
Usage
PATH defaults to . (current directory).
Options
Output format.
text— human-readable plain-text summaryjson— structured JSON object with full BOM datamarkdown— Markdown table output suitable for embedding in reports
Write output to a file instead of stdout. When set, a confirmation message is printed to stdout and the BOM content goes to the specified file.
What is extracted
The BOM covers every component that Drako can detect from source code and config files:| Category | What is detected |
|---|---|
| Agents | Agent class definitions and constructor calls (Agent(), AssistantAgent(), etc.) from Python and TypeScript files; CrewAI YAML configs (agents.yaml) |
| Tools | Functions decorated with @tool and Tool() constructor calls |
| Models | LLM model name strings (GPT-4, Claude, Gemini, Llama, Mistral, etc.) |
| Prompts | System prompt strings assigned to system_prompt, instructions, SystemMessage(), and similar patterns |
| MCP servers | Entries in mcp.json and mcp:// URIs found in source code |
| Permissions | Inferred from tool bodies: filesystem, network, code_execution, database |
| Frameworks | Detected from imports and project structure |
| Dependencies | Package versions from requirements.txt, pyproject.toml, package.json |
Example output
- text
- json
- markdown