Skip to content

docs: document a reusable CLI smoke-testing workflow for v2 #1886

Closed

Description

@jiezeng2004-design

Context

PR #1635 proposed a reusable CLI smoke-testing guide, but it targeted the frozen v1 branch and was closed unmerged. The maintainer guidance was to report the underlying need against v2 as an issue rather than opening an external PR.

v2 already has useful CLI command examples in clients/cli/README.md and an internal end-to-end check in scripts/smoke-cli.mjs. The remaining documentation gap is a user-facing workflow for testing an arbitrary MCP server from a shell or CI job.

Proposed documentation scope

A short v2 guide could show how to:

  1. connect to a stdio or HTTP/SSE server;
  2. run tools/list and assert an expected tool exists;
  3. run one representative tools/call with safe arguments;
  4. consume machine-readable output with --format json and jq;
  5. use the current exit-code behavior so failed tool calls and transport errors fail CI;
  6. avoid interactive OAuth in automation, using the documented non-interactive/stored-auth options where applicable; and
  7. add basic negative assertions, such as confirming a sensitive-path request is refused and captured output does not contain obvious secret patterns.

The examples should be generic and version-correct rather than porting the v1 document verbatim, because v2 has different output, authentication, catalog/config, and exit-code semantics.

Expected outcome

A concise guide or an expanded section of clients/cli/README.md containing a copyable connect → list → call → assert workflow for local development and CI.

Related closed v1 contribution: #1635.

Activity

  1. cliffhall commented on Aug 1, 2026

    @cliffhall
    Member

    Triage: Priority = Low

    Scored 4/16 with the priority rubric added to AGENTS.md in #1891, as part of the backlog triage in #1872. Added to project board #28 with Status Incoming — meaning filed and scored but not yet approved for work. A maintainer decides whether it moves to Todo.

    Axis Score Reasoning
    Severity / impact 2/5 A documentation addition. Nothing is broken and the workflow already exists in the repo's own scripts.
    Urgency / staleness 2/5 No time pressure.
    Signal bonuses +0 none apply
    Total 4 Lands in the Low band (5 or below).

    Related issues. None found in the open backlog; this one stands alone.

    Scores are a starting point, not a verdict — the rubric is meant to be overruled when it's plainly wrong, provided the reason is written down.

  2. added this to the v2.5.0 milestone on Aug 5, 2026
  3. modified the milestones: v2.5.0, v2.6.0 on Sep 1, 2026
  4. self-assigned this
    on Sep 6, 2026
  5. cliffhall commented on Sep 6, 2026

    @cliffhall
    Member

    Shipped in #2275, merged to v2/main as 8bca4821.

    Delivers docs/cli-smoke-testing.md — the connect → list → call → assert workflow this issue asked for — plus index entries in the root README and clients/cli/README.md.

    All seven points from the proposed scope are covered: stdio/HTTP/SSE connect, tools/list assertions, a representative tools/call, --format json + jq, the exit-code map, non-interactive OAuth via --stored-auth-only, and negative assertions (refusals, a secret-shape scan, and --strict schema portability). Every command and output shape was verified against the bundled composable test servers rather than transcribed, which corrected several claims before they shipped.

    Closing by hand: Closes #N only auto-closes for PRs targeting the default branch, and this targeted v2/main.

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

Metadata

Metadata

Assignees

Labels

enhancementNew feature requestv2Issues and PRs for v2

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions