Answers from the documentation; checking which model is on duty
Hi - I answer from the OpenSmartRoute documentation: routing, the API, plans and quotas, self-hosting. Ask away, or open a support ticket if you need a person.
Grounded in the docs - follow a source before acting on it.
mmp - Prompt - OpenSmartRoute
Promptv1.0.0
mmp
MMP CLI — query CAT7 lineage and descendant chains
Print the ancestry chain from record-id back to earliest root
descendants
Print all records whose lineage includes record-id
Flags
Flag
Default
Description
--format=json
yes
Output as JSON array
--format=tree
no
Output as indented ASCII tree
--json
—
Alias for --format=json (explicit override)
Exit Codes
Code
Meaning
0
Success
1
Record not found
2
Usage error (missing/unknown subcommand or args)
Examples
# Trace ancestry of a record (default JSON)node .claude/tools/cli/mmp.cjs lineage my-record-id# Trace ancestry as indented treenode .claude/tools/cli/mmp.cjs lineage my-record-id --format=tree# Find all direct descendants of a recordnode .claude/tools/cli/mmp.cjs descendants root-record-id# Pipe JSON output to jqnode .claude/tools/cli/mmp.cjs lineage my-record-id | jq '.[].concept'
Environment Variables
Variable
Description
MMP_BASE_DIR
Override the base directory for CAT7 tier storage. Defaults to
.claude/context/memory relative to the project root.
Notes
Lineage traversal follows lineage[0] (linear chain; DAG deferred to v3.3.0).
findDescendants is non-transitive: only direct references are returned.
Records are located across stm/, mtm/, and ltm/ subdirectories.
Installed into a catalogue, chosen by a router
Install mmp and it becomes one more candidate the router can pick - when it fits.
A listing is a routing target with a manifest: what it does, which domains it covers, what it costs and who publishes it. Once installed it sits beside your own models and tools, is scored like any other candidate for each request, and shows up in the trace when it wins. Ratings come from workspaces that installed it, one per account.