Skip to content

Run the conformance server scenarios against mcpc connect --proxy #334

Description

@jancurn

mcpc connect --proxy [host:]port exposes a session as a local Streamable HTTP MCP server, which makes it a valid target for the conformance suite's server scenarios — a direction we don't test at all today.

Worth noting why this is the only way to reach these: the suite's resources-*, prompts-*, completion-complete, logging-set-level and tools-call-{image,audio,embedded-resource,mixed-content} scenarios are all server-side. The 26 client scenarios (what #332 covers) contain nothing for resources or prompts, so the proxy is the only surface that can exercise them.

What it would actually catch — real pass-through risks, since the proxy forwards rather than originates:

The work is mostly fixtures. Each server scenario demands the server under test implement an exact fixture — resources-read-text wants test://static-text returning one specific string, prompts-get-with-args wants test_prompt_with_arguments returning an exact message. Since the proxy is a pass-through, the upstream behind it has to provide them. Our test servers already share test/e2e/server/fixtures.ts, so the shape is: add the conformance fixture set there, then chain conformance → mcpc --proxy → test server, plus a workflow lane.

Suggested first step: wire dns-rebinding-protection alone. It needs no fixtures, targets the highest-value property, and proves the chained harness works before committing to the full fixture set.

Lower priority than #332 — that covers 22 scenarios over the OAuth code, and the first two wired up there already found a real bug. This one tests forwarding fidelity rather than protocol decisions.

Refs #332

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions