list_manufacturers
List manufacturers that have documented models.
Pass `equipment_type` — one of "string_inverters", "micro_inverters",
or "batteries" — to narrow the list to one type; omit it to get all
three mixed together. Each returned manufacturer is tagged with the
equipment types it actually has documented (`types`), so a single
unfiltered call is enough to answer "which brand has what" without
per-manufacturer follow-ups.
When to use: the user wants to browse brands, or did not mention one
and you need to offer choices. If the user already named a brand, use
`search_manufacturers` instead — it is faster and returns a match
score.
Prerequisite ids: none — this is an entry point.
Returns: `{"manufacturers": [{"id": int, "name": str, "types":
[str, ...]}, ...]}`, sorted by name. `types` lists the documented
equipment types for that brand, using the same vocabulary as the
`equipment_type` filter (so a value can be passed straight back) —
when a filter is supplied every `types` is just `[that type]`. Only
manufacturers that own at least one model with an ingested manual
page or extracted alert/behavior are returned; CEC-registered
manufacturers whose models are all stubs (no manual on file) are
excluded — when the `equipment_type` filter is supplied, the
documentation check is scoped to that type. Feed `id` as
`manufacturer_id` into `list_models` or `search_models_by_model_number`
to get a `model_id`.
Args:
equipment_type (optional): One of "string_inverters",
"micro_inverters", "batteries". Omit or pass
`null` to return manufacturers across every equipment type.
When specified, only manufacturers with at least one
documented model of that type are returned.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| equipment_type | string | no |
Example call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_manufacturers",
"arguments": {
"equipment_type": "string_inverters"
}
}
}