Repository navigation
Open
Description
Release Tracker: microsoft/mcp-pr#691 (Theme 1.1)
Parent Epic: #2968 (MCP Stateless Protocol Platform Adoption)
Priority: P0 (Required for 4.0 GA)
Problem statement
Azure MCP needs first-class pagination behavior under the stateless protocol architecture so collection and query tools can handle large result sets without silent truncation or excessive token consumption. This issue tracks only pagination of collection/query results.
Boundary with Polling and Long-Running Operations (#3990)
- This issue ([4.0] Add pagination support for collection and query tools #3112) owns the 4.0 pagination contract: requesting a page, returning page metadata, and continuing through a result set.
- [4.0] Add polling support for long-running operations with MCP Tasks and client fallback #3990 owns polling and long-running operations, including the MCP Tasks lifecycle and stateless polling fallback for clients without Tasks support.
- LRO operation handles, status polling, progress reporting, result retrieval, and cancellation are outside this issue's scope. Page continuation tokens are not LRO operation handles.
- Pagination and polling are separate features. Neither feature is a prerequisite for the other.
Scope
- Define standard pagination options across collection and query commands:
--page-sizeand--continuation-token. - Standardize response payload metadata:
continuationToken,totalCount(where supported by the backing service), andhasMore. - Adopt the pagination contract across high-volume toolsets: Storage, Resource Graph, Monitor/Log Analytics, Cosmos DB, and Key Vault.
- Implement continuation token validation, tampering detection, and graceful expiration handling compatible with stateless HTTP and stdio execution.
Dependencies
- MCP specification and C# SDK alignment: [4.0] Upgrade to Stabilized MCP Specification and Official C# SDK #3991.
- Stateless protocol adoption epic: [EPIC] MCP Stateless Protocol Platform Adoption #2968.
Related issues
- [4.0] Add polling support for long-running operations with MCP Tasks and client fallback #3990: Separate polling/LRO feature, including fallback for clients without Tasks support.
- [ONBOARD] Add Azure.Storage.Blobs hierarchical folder listing support #2094: Storage hierarchical folder listing and bounded results. Coordinate its pagination behavior with this contract while retaining its service-specific prefix and delimiter requirements.
- subscription list tools generate responses that are too large for claude code #428: Historical subscription-list payload-size problem and discussion of pagination and silent truncation. This issue is closed and remains historical context, not an active pagination tracker.
4.0 Exit Criteria
- Standardized
--page-sizeand--continuation-tokenoptions and response metadata (continuationToken,hasMore,totalCountwhere supported) implemented across high-volume toolsets (Storage, Resource Graph, Monitor/Log Analytics, Cosmos DB, Key Vault). - Integration and recorded tests covering initial page, middle page, final page, and invalid/expired continuation token requests across stateless HTTP and stdio execution.
- No silent truncation of collection results across migrated toolsets.
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request
Activity
[-]Add Pagination and Polling Support[/-][+]Add Pagination and Polling Support for MCP 2.0 Spec Conversion[/+][-]Add Pagination and Polling Support for MCP 2.0 Spec Conversion[/-][+][4.0] Add pagination support for collection and query tools[/+]