Skip to main content
Glama

list_sections_in_part

Read-only

List all sections and appendices in a CFR part with their headings.

Returns 'sections' in order, each {identifier, heading}, with
type='appendix' on appendices (2 CFR 200's Appendix I-XII, for example)
and reserved=true on reserved sections, plus 'subparts' (each with its
heading, section_count and first and last section). Useful for seeing
the scope of a part before reading specific sections.

The part number alone is enough: chapter is optional (Title 48 parts
are unique: 52 = FAR, 252 = DFARS, 552 = GSAR) and the answer reports
the chapter the part is in. subpart (e.g. '52.2') lists one subpart.
A list too long to send at once (FAR Part 52 has 680 entries) comes in
pages: page and total_pages say where you are; page=2 gets the rest.
detail=True adds eCFR's label, size and received_on for each entry
(received_on is when eCFR processed the text, not when it was amended;
get_version_history has amendment dates).

part_number accepts int or string.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "part_number": "<part_number>"
    },
    "name": "list_sections_in_part"
  }
}

Input Schema

NameRequiredDescriptionDefault
dateNo
pageNo
detailNo
chapterNo
subpartNo
part_numberYes
title_numberNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover readOnly/openWorld/non-destructive, yet the description discloses the pagination model ('A list too long to send at once ... comes in pages: page and total_pages'), the practical scale limit (FAR Part 52 has 680 entries), and a subtle caveat that received_on is text-processing time rather than amendment date, redirecting to get_version_history. That is real behavioral context an agent cannot get from the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and return shape, then parameter guidance, with no filler sentences. The `detail=True` sentence is long but each clause (label, size, received_on caveat) adds distinct information, so waste is minimal.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter list tool with an output schema and read-only annotations, the description covers what the response contains, how paging works, how to narrow scope, and where to look for related date data. The only omission is the `date` parameter, which is minor given the otherwise thorough coverage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage the description carries the burden and does so for most parameters: part_number alone suffices, chapter is optional with concrete title-48 examples, subpart filters to one subpart (e.g. '52.2'), page/total_pages explain paging, and detail=True is spelled out field by field. However the `date` parameter is never mentioned and `title_number`'s default of 48 is only implied, leaving gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List all sections and appendices in a CFR part with their headings') and immediately clarifies what the response contains (sections, appendices, subparts). This clearly separates it from get_cfr_content (reading a section), get_cfr_structure (structure) and search_cfr (searching).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Useful for seeing the scope of a part before reading specific sections' gives a clear situational trigger and implicitly routes the agent to a read-a-section tool afterwards. It does not name the alternative tool explicitly or state exclusions, so it falls short of full when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.