Skip to content

Tracking: collection tools discard continuation or hide incomplete results #485

Open

Description

@dustin-sale

Scope

Track the collection-pagination contract work across packages. Several tools return one backend page while discarding the only continuation token or any indication that more items exist. Intentional one-page behavior is valid when the caller can understand completeness and use the supported continuation contract.

This tracking issue groups the recurring symptom. Each package retains its own request/result shape, compatibility decisions, and validation. Package tasks may be implemented in separate PRs or split into linked issues when the response-contract decision warrants it.

Package work checklist

Contract and regression criteria

  • Define whether each tool aggregates, returns one page, or intentionally returns a bounded sample.
  • Distinguish complete, capped, and partial/error outcomes; return supported continuation where promised.
  • Inspect actual backend item/token adapters: raw list, .items, .results, and Object Storage .objects with next_start_with → start. Mapping .data alone can discard required metadata.
  • Preserve filters, ordering, and query scope. Do not reuse one backend cursor across unrelated fan-out queries.
  • A cap cutting inside a backend page must not advertise a following-page token that skips the unreturned remainder.
  • Test normal/empty continuation through real production conversion and MCP response serialization.
  • Treat default/result-schema changes as package-specific compatibility work; this issue does not require a universal envelope or new shared helper.

Related work

Verification scope

The source audit covered 34 MCP components. Token-loss reproductions executed actual function bodies for the Database family and representative remaining paths; public MCP calls additionally verified Logging search and Object Storage response loss. Some IoT interfaces share a source-verified helper and were not all independently replayed. These records are evidence for the listed scope, not whole-repository compliance certification.

Evidence and limits

Source examined at 3a7cfd9623ec97ad7c365b9b77f28e459aefca8c; OCI SDK 2.185.1. The audit executed production pagination logic with mocked service boundaries and synthetic responses. Broad logic checks used AST-extracted function bodies with client/conversion plumbing mocked; selected cases also exercised actual FastMCP calls and real SDK response models. No live-backend correctness or full-repository coverage claim is made. Source links below pin the examined revision.

Conditional follow-ups

Activity

  1. added
    bugSomething isn't working
    pythonPull requests that update python code
    and removed
    bugSomething isn't working
    on Oct 8, 2026
  2. added theissue type on Oct 8, 2026
  3. Kaia15 commented on Oct 8, 2026

    @Kaia15
    Member

    Hi @dustin-sale, I'm interested in working on this issue. Could you please assign it to me?

  4. dustin-sale commented on Oct 8, 2026

    @dustin-sale
    ContributorAuthor

    Absolutely! This is a tracking issue for a number of pagination related issues that came up. I am holding off on fixing these until #486 is merged. That PR includes pagination context/documentation that should help agents with remediating these issues.

    A good place to start would be #476. There was a bad example in oci-compute-mcp-server that propagated to several others. #483 is another good option as its limited to the oci-pricing-mcp-server.

  5. Kaia15 commented on Oct 8, 2026

    @Kaia15
    Member

    Thank for letting me know. Will start with #476.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    pythonPull requests that update python code

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions