Getting started
Results, limits and completeness
Distinguish an empty result from a partial result and avoid unsupported pagination.
Collection tools return a repository identifier, a list, returned_count and truncated. Read these fields together. A natural-language answer that omits truncated can sound complete even when additional matches exist.
Defaults and bounds
Tool | Default limit | Maximum |
|---|---|---|
search_issues | 20 | 50 |
list_labels | 20 | 50 |
list_milestones | 20 | 50 |
get_issue | One issue | One issue |
A limit must be an integer from 1 to 50. Zero, a negative number, a decimal or a value above 50 produces INVALID_ARGUMENT. Omitting the field uses 20 for collection tools.
Empty is not an error
{"repo":"acme/sdk","issues":[],"returned_count":0,"truncated":false}For search_issues, no matching records can mean the filter is too narrow or the exact label or milestone does not exist. It does not mean every issue is resolved. Check state, repository and names with the lookup tools.
What truncated tells you
truncated is true only when more matching records exist than the call returned. Raising a limit can help up to 50. Above that, narrow search by label, milestone or state. This contract does not expose a cursor, offset or total-match-count field. Do not invent a next-page call.
Ordering and larger catalogs
The fixture orders issues by descending issue number, labels by name and milestones by title. For labels and milestones above the cap, no continuation mechanism is defined. Record that limitation instead of promising that the client has seen the entire catalog.
Use results carefully
Treat returned_count as the current response size.
Preserve the truncated flag in summaries.
Use get_issue for the full description of a selected record.
Confirm the real server contract before relying on fixture ordering.