Free tools Windows power users keep installed
One-click scans. No signup required.
A Dart MCP client is easier to trust when readers can run it against a server, list-all calls cannot follow cursors forever by default, and a recurring conformance job makes behavior visible. Yusuf İhsan Görgel describes adding those checks to a Dart MCP package between September 15 and 22, 2026. The implementation details below are his account, not an independent verification.
Why a runnable client-and-server example matters
The repository already had a Streamable HTTP server example, but no paired client. In his account, PR #671 added a client example that accepts the server URL, discovers the server, lists its tools, calls greet, and displays a progress notification. The README was updated to show how to run both programs.
As an Amazon Associate I earn from qualifying purchases.
That pairing makes a complete session observable: a reader can see how the client connects and invokes a tool, rather than infer client behavior from a server-only demo or a curl smoke test. The example is a practical demonstration, not proof that every protocol behavior is correct.
How the list-all helpers bound pagination
MCP list operations can return paginated results with a nextCursor. A caller using a single-page method must handle further pages itself. The new helpers collect pages and stream accumulated items to the caller while forwarding the cursor.
#1 Best Overall
listAllToolslistAllResourceslistAllResourceTemplateslistAllPrompts
Görgel says PR #682 left the existing single-page methods unchanged, adding these helpers alongside them. Their default ceiling is 64 pages. If traversal exceeds the limit, the helper throws; passing null explicitly opts into unbounded traversal. The 64-page ceiling is a package implementation choice, not an MCP protocol limit.
| Choice | Behavior | Trade-off |
|---|---|---|
| Default bounded traversal | Stops with an exception after the 64-page maximum. | Protects a caller from a server that keeps returning cursors indefinitely. |
| Explicit unbounded traversal | Pass null for the page limit. |
Allows traversal without that safety ceiling, but the caller gives up the finite bound. |
| Single-page methods | Continue to return one page as before. | Preserve existing behavior for callers that want to manage pagination themselves. |
The author says tests cover cursor forwarding, the page bound, argument validation, and an empty page. These cases check important helper behavior, but do not establish that every server will paginate correctly.
Rank #2
Protocol edge cases addressed alongside pagination
Two other changes in the same development period addressed protocol details. PR #685 updated sampling content handling to accept either a single content block or an array, as allowed by the schema, while retaining the simpler one-block serialization form. PR #684 changed a server media-type rejection from HTTP 415 to 400 to match the described HeaderMismatch behavior.
What a weekly conformance workflow can—and cannot—show
PR #675 scheduled the MCP conformance suite for weekly runs, manual dispatch, and pull requests that change the package. The workflow uses continue-on-error because the author describes the suite as an alpha npm package. Results remain visible, but failures do not gate the run.
Rank #3
The workflow also uses an accepted-failure baseline. As described by Görgel, this makes it possible to notice both new failures and known failures that start passing, rather than treating every run as a simple pass/fail verdict. A baseline is useful only if its accepted failures are explicit and maintained; a non-gating job should be read as a signal, not a release guarantee.
The article’s example result is specifically tied to scenarios dated July 28, 2026: every scored server scenario passed except the tasks extension. The client baseline listed authentication scenarios, which Görgel attributed to the package lacking an OAuth client. This is a dated snapshot from his account, not a current conformance score or evidence that the package supports OAuth.
Rank #4
Keeping setup and contributor guidance aligned
Checkability also depends on instructions matching the code. PR #673 added DEVELOPING.md with schema locations, checks, formatter requirements, conformance fixtures, and changelog guidance, and corrected an outdated schema pointer. PR #677 removed a README description of a server pattern that had been removed and updated the Streamable HTTP support table.
These documentation changes reduce the risk that a contributor follows obsolete setup or compatibility guidance. They complement runnable examples and automated checks; they do not substitute for either.
Reading the changes as a set of guarantees
- Runnable: the client and server example lets a reader observe a representative session.
- Bounded: the list-all helpers have a finite default pagination ceiling, while still exposing an explicit unbounded option and preserving single-page methods.
- Checked on a schedule: the conformance workflow recurs and exposes changes in results, but its alpha suite is non-gating.
Görgel’s central point is that a reader should be able to run the example, see the pagination bound, and inspect scheduled checks. Those are useful, distinct forms of evidence; none alone proves complete protocol conformance.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




