Get Documentation Table of Contents
jamf_docs_get_tocRetrieve the table of contents for any Jamf product or publication to explore available documentation topics before searching or fetching specific articles.
Instructions
Get the table of contents for Jamf documentation.
Browse the navigation structure of either a Jamf product or any single Jamf
publication - release notes, technical papers, courses, evaluation guides and
configuration guides all live on the publication axis rather than the product
one. Exactly one of product and publication is required.
Args:
product (string): Product ID - one of: jamf-pro, jamf-school, jamf-connect, jamf-protect, jamf-now, jamf-safe-internet, jamf-insights, jamf-rapididentity, jamf-trust, jamf-routines, self-service-plus, jamf-app-catalog, jamf-account, jamf-security-cloud, elevate, composer, jamf-parent, jamf-teacher, jamf-setup-reset, jamf-assessment, title-editor, jamf-infrastructure-manager, jamf-adcs-connector, jamf-pki-proxy, jamf-migrate, jamf-remote-assist, jamf-cloud-distribution-service, healthcare-listener
publication (string): Bundle family id of any single publication, e.g. "technical-paper-laps" or "jamf-pro-release-notes". Call jamf_docs_list_products for the available ids
version (string, optional): Specific version (e.g., "11.13.0") or "current" (defaults to latest), at most 50 characters
language (string, optional): Documentation language/locale (default: en-US). A product or publication Jamf does not publish in it is served as its en-US edition, and localeNote says so
page (number, optional): Page number for pagination 1-100 (default: 1)
maxTokens (number, optional): Maximum tokens in response 100-50000 (default: 5000)
outputMode ('full' | 'compact'): Output detail level (default: 'full'). Use 'compact' for flat list without nested children
responseFormat ('markdown' | 'json'): Output format (default: 'markdown')
Returns: For JSON format: { "product": string, "version": string, "mapId": string, // absent for a concepts.jamf.com or support.jamf.com TOC, // and when a TOC provider names no map "toc": [...], // each entry: title, url, and contentId when from a map "tokenInfo": { "tokenCount": number, "truncated": boolean, "maxTokens": number }, "pagination": { "page": number, "pageSize": number, "totalPages": number, "totalItems": number, "hasNext": boolean, "hasPrev": boolean }, "truncatedEntry"?: { // only on a page cut to fit; see the Note "title": string, "shownEntries": number, "totalEntries": number, "estimatedTokens": number } }
For Markdown format: A hierarchical list of documentation topics with pagination and token info.
Examples:
Browse Jamf Pro documentation: product="jamf-pro"
Get page 2 of TOC: product="jamf-pro", page=2
Limit response size: product="jamf-pro", maxTokens=2000
Errors:
"Invalid option: expected one of ..." (an input validation error) if product is not a known product ID
'Version "" not found', followed by the available versions, if that version is not published
Note: Use this to discover what topics are available before searching or retrieving specific articles. Large TOCs are paginated by top-level entry: a page holds up to 10 of them, each with everything under it, as many as fit maxTokens, and the next page starts at the first that did not fit. Every top-level entry is on exactly one page, but which page depends on maxTokens, so keep maxTokens the same while paging; the markdown footer names it beside the next page when it is not the default. A top-level entry larger than maxTokens on its own is alone on its page, cut to the entries under it that fit; only that page has tokenInfo.truncated, and truncatedEntry.estimatedTokens is what the whole entry costs. If maxTokens makes more pages than page accepts (100), page 100 offers no next page and paginationNote names a maxTokens that reaches the rest. The response-level mapId and an entry's contentId together form the pair jamf_docs_get_article accepts for a direct fetch. Full markdown shows the mapId only, and compact markdown shows neither; use responseFormat="json" (or read structuredContent) for both. A concepts.jamf.com or support.jamf.com TOC has neither: it names no map, and its entries carry only title, url and children. Read any of its entries by url with jamf_docs_get_article; a support.jamf.com subcollection's url is its collection page, which reads as the list of its articles. structuredContent also carries what to send back for the next page: productId (or publicationId), version, language (when one was asked for) and maxTokens. The JSON text has no id or language, and has the budget as tokenInfo.maxTokens. structuredContent.entries is the TOC flattened in document order and always carries every descendant; each entry's depth (0 for top level) is what restores the nesting. The markdown is not the same view: outputMode="full" shows that nesting as indentation, while outputMode="compact" lists only the top-level entries and shows no nesting at all.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination (1-100, default: 1) | |
| product | No | Product ID: jamf-pro, jamf-school, jamf-connect, jamf-protect, jamf-now, jamf-safe-internet, jamf-insights, jamf-rapididentity, jamf-trust, jamf-routines, self-service-plus, jamf-app-catalog, jamf-account, jamf-security-cloud, elevate, composer, jamf-parent, jamf-teacher, jamf-setup-reset, jamf-assessment, title-editor, jamf-infrastructure-manager, jamf-adcs-connector, jamf-pki-proxy, jamf-migrate, jamf-remote-assist, jamf-cloud-distribution-service, healthcare-listener | |
| version | No | Specific version (e.g. "11.13.0"), at most 50 characters; defaults to latest | |
| language | No | Documentation language/locale (default: en-US). Options: en-US, ja-JP, zh-TW, de-DE, es-ES, fr-FR, nl-NL, th-TH, it-IT, pt-BR, zh-CN | |
| maxTokens | No | Maximum tokens in response (100-50000, default: 5000) | |
| outputMode | No | Output detail level: "full" for detailed output or "compact" for brief output | full |
| publication | No | Bundle family id for any Jamf publication, e.g. "technical-paper-laps" or "jamf-pro-release-notes". Use this for the documents that are not one of the products in `product` — release notes, technical papers, courses, evaluation and configuration guides. Exactly one of `product` or `publication` is required. Call jamf_docs_list_products to see the available ids. | |
| responseFormat | No | Output format: "markdown" for human-readable or "json" for machine-readable | markdown |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page | Yes | ||
| mapId | No | ||
| entries | Yes | ||
| hasMore | Yes | ||
| product | Yes | ||
| version | Yes | ||
| language | No | ||
| maxTokens | Yes | ||
| productId | No | ||
| localeNote | No | ||
| totalPages | Yes | ||
| versionNote | No | ||
| totalEntries | Yes | ||
| publicationId | No | ||
| paginationNote | No | ||
| truncatedEntry | No |