Skip to content

SEP-1627: Conformance Testing #1627

Closed
Closed

Description

@pcarleton

Preamble

Title: Conformance Testing
Author(s): Olivier Chafik (@ochafik) , Paul Carleton (@pcarleton)
Sponsor: @pcarleton
Status: Draft
Type: Process
Created: 2025-10-08

Abstract

This SEP proposes the creation of a compliance test suite and harness, aimed primarily at easing up development and feature parity of MCP SDKs by facilitating the comparison of their behaviour across languages in a wide range of scenarios. Associated tooling will also simplify debugging MCP interactions, including authentication and authorization flows.

Motivation

Translating the human readable specification to code requires significant time and energy. Currently, each new implementation (e.g. a new SDK) has to do this work independently.  While the specification aims to be unambiguous, this re-translation has resulted in slightly different behavior. The goal of this proposal is to provide tools to reduce or remove these differences to maximize compatibility between independently built implementations.

A secondary goal is to facilitate debugging of any MCP interaction, beyond SDK development use cases: while we can be more prescriptive in how we want the official SDKs to behave, the spec often leaves a large freedom of behavior to implementations, and having a tool that can tell us when the interaction of two arbitrary MCP systems is violating the spec can help users that integrate said systems.

Specification (WIP)

Overview

#948 contains an early prototype for this SEP, which details are pretty much still in flux (feedback welcome). Here are the main ideas:

  • Conformance test suite & harness:
    • We build a large set of English-written test scenarios
    • We implement test cases that exercise each and every of these scenarios in each SDK
    • We record the transport layer chatter of client & server connections and store it as human-reviewable protocol trace “goldens”
      • Golden for a given test case is are shared across SDKs
    • We can develop / update new SDKs against these golden traces
  • Protocol Debugger:
    • Takes in a trace (set of JSON RPC Messages of an MCP connection), flags any compliance violations (broken MUSTs) warns against unimplemented recommendations (broken SHOULDs).
    • Beyond JSON RPC, can analyze transport-specific compliance, and auth compliance.
    • Used in the conformance test harness to pre-analyze new goldens before letting humans review them
    • Can be used on live traffic (e.g. hard-wired in an SDK, or as a man-in-the-middle debugger)

Activity

  1. changed the title [-]SEP-16xx: Conformance Testing[/-] [+]SEP-1627: Conformance Testing[/+] on Oct 8, 2025
  2. pcarleton commented on Oct 8, 2025

    @pcarleton
    MemberAuthor

    This is very much a WIP, feedback welcome. I'll look to spin up a working group as well to coordinate interested folks.

  3. 13 remaining items

  4. pcarleton commented on Oct 16, 2025

    @pcarleton
    MemberAuthor

    @domdomegg yep! I agree on not blocking on the SEP to get started. We'll want to formalize the processes for conformance testing which we'll want to have a vote on since it will affect future spec changes and all SDKs. Rough plan is to get working on this in a separate repo, and update this issue with design decisions as we go.

  5. younaman commented on Oct 28, 2025

    @younaman

    This seems good! Does this need to be a formal SEP, or can you just start building this project and gather feedback as you go? (agree that SEP, alongside GitHub Discussions/Discord could be a good place to solicit feedback though!)

    Maybe spin it out to a separate repo so you can iterate quickly?

    @pcarleton @domdomegg
    Thanks for your reply! I am so sorry for the delay because I had surgery 2 weeks ago, and I just couldn't go back to work until now! I will create a GitHub repository in my account and share the repository with all of you when I finish uploading the code. Please feel free to let me know if you have any concerns or questions. Sorry again for the delay.

  6. github-actions commented on Jan 27, 2026

    @github-actions
    Contributor

    Core Maintainer Sponsor Needed

    This SEP draft has been inactive for 91 days and doesn't have a core maintainer sponsor assigned.

    For a SEP to progress from draft, it needs a sponsor from the core maintainers team who can:

    • Guide the proposal through the review process
    • Help address feedback and blockers
    • Champion the SEP in maintainer discussions

    Current assignees: None

    If you're a core maintainer interested in sponsoring this SEP, please assign yourself. If you're the author, consider reaching out to the maintainers team to find a sponsor.


    This is an automated message from the SEP lifecycle bot.

  7. sep-automation-bot commented on Feb 23, 2026

    @sep-automation-bot

    Core Maintainer Sponsor Needed

    This SEP draft has been inactive for 117 days and doesn't have a core maintainer sponsor assigned.

    For a SEP to progress from draft, it needs a sponsor from the core maintainers team who can:

    • Guide the proposal through the review process
    • Help address feedback and blockers
    • Champion the SEP in maintainer discussions

    Current assignees: None

    If you're a core maintainer interested in sponsoring this SEP, please assign yourself. If you're the author, consider reaching out to the maintainers team to find a sponsor.


    This is an automated message from the SEP lifecycle bot.

  8. sep-automation-bot commented on Mar 16, 2026

    @sep-automation-bot

    Core Maintainer Sponsor Needed

    This SEP draft has been inactive for 138 days and doesn't have a core maintainer sponsor assigned.

    For a SEP to progress from draft, it needs a sponsor from the core maintainers team who can:

    • Guide the proposal through the review process
    • Help address feedback and blockers
    • Champion the SEP in maintainer discussions

    Current assignees: None

    If you're a core maintainer interested in sponsoring this SEP, please assign yourself. If you're the author, consider reaching out to the maintainers team to find a sponsor.


    This is an automated message from the SEP lifecycle bot.

  9. sep-automation-bot commented on Mar 30, 2026

    @sep-automation-bot

    Core Maintainer Sponsor Needed

    This SEP draft has been inactive for 152 days and doesn't have a core maintainer sponsor assigned.

    For a SEP to progress from draft, it needs a sponsor from the core maintainers team who can:

    • Guide the proposal through the review process
    • Help address feedback and blockers
    • Champion the SEP in maintainer discussions

    Current assignees: None

    If you're a core maintainer interested in sponsoring this SEP, please assign yourself. If you're the author, consider reaching out to the maintainers team to find a sponsor.


    This is an automated message from the SEP lifecycle bot.

  10. sep-automation-bot commented on Apr 13, 2026

    @sep-automation-bot

    Core Maintainer Sponsor Needed

    This SEP draft has been inactive for 166 days and doesn't have a core maintainer sponsor assigned.

    For a SEP to progress from draft, it needs a sponsor from the core maintainers team who can:

    • Guide the proposal through the review process
    • Help address feedback and blockers
    • Champion the SEP in maintainer discussions

    Current assignees: None

    If you're a core maintainer interested in sponsoring this SEP, please assign yourself. If you're the author, consider reaching out to the maintainers team to find a sponsor.


    This is an automated message from the SEP lifecycle bot.

  11. sep-automation-bot commented on Apr 27, 2026

    @sep-automation-bot

    Core Maintainer Sponsor Needed

    This SEP draft has been inactive for 180 days and doesn't have a core maintainer sponsor assigned.

    For a SEP to progress from draft, it needs a sponsor from the core maintainers team who can:

    • Guide the proposal through the review process
    • Help address feedback and blockers
    • Champion the SEP in maintainer discussions

    Current assignees: None

    If you're a core maintainer interested in sponsoring this SEP, please assign yourself. If you're the author, consider reaching out to the maintainers team to find a sponsor.


    This is an automated message from the SEP lifecycle bot.

  12. jashshah999 commented on May 5, 2026

    @jashshah999

    For the schema quality subset of conformance testing (missing descriptions, unconstrained params, naming anti-patterns), mcpeval handles this today as a standalone CLI.

    It checks 13 anti-patterns that cause LLMs to misuse tools, gives a score, and can block CI on failures. Also has an LLM simulation mode that tests whether models actually select the correct tool given your schemas.

    Happy to contribute any schema validation rules to the official conformance suite once the spec solidifies.

  13. sep-automation-bot commented on May 11, 2026

    @sep-automation-bot

    Core Maintainer Sponsor Needed

    This SEP draft has been inactive for 194 days and doesn't have a core maintainer sponsor assigned.

    For a SEP to progress from draft, it needs a sponsor from the core maintainers team who can:

    • Guide the proposal through the review process
    • Help address feedback and blockers
    • Champion the SEP in maintainer discussions

    Current assignees: None

    If you're a core maintainer interested in sponsoring this SEP, please assign yourself. If you're the author, consider reaching out to the maintainers team to find a sponsor.


    This is an automated message from the SEP lifecycle bot.

  14. sep-automation-bot commented on May 25, 2026

    @sep-automation-bot

    Core Maintainer Sponsor Needed

    This SEP draft has been inactive for 208 days and doesn't have a core maintainer sponsor assigned.

    For a SEP to progress from draft, it needs a sponsor from the core maintainers team who can:

    • Guide the proposal through the review process
    • Help address feedback and blockers
    • Champion the SEP in maintainer discussions

    Current assignees: None

    If you're a core maintainer interested in sponsoring this SEP, please assign yourself. If you're the author, consider reaching out to the maintainers team to find a sponsor.


    This is an automated message from the SEP lifecycle bot.

  15. sep-automation-bot commented on Jun 8, 2026

    @sep-automation-bot

    Core Maintainer Sponsor Needed

    This SEP draft has been inactive for 222 days and doesn't have a core maintainer sponsor assigned.

    For a SEP to progress from draft, it needs a sponsor from the core maintainers team who can:

    • Guide the proposal through the review process
    • Help address feedback and blockers
    • Champion the SEP in maintainer discussions

    Current assignees: None

    If you're a core maintainer interested in sponsoring this SEP, please assign yourself. If you're the author, consider reaching out to the maintainers team to find a sponsor.


    This is an automated message from the SEP lifecycle bot.

  16. sep-automation-bot commented on Jun 22, 2026

    @sep-automation-bot

    Core Maintainer Sponsor Needed

    This SEP draft has been inactive for 236 days and doesn't have a core maintainer sponsor assigned.

    For a SEP to progress from draft, it needs a sponsor from the core maintainers team who can:

    • Guide the proposal through the review process
    • Help address feedback and blockers
    • Champion the SEP in maintainer discussions

    Current assignees: None

    If you're a core maintainer interested in sponsoring this SEP, please assign yourself. If you're the author, consider reaching out to the maintainers team to find a sponsor.


    This is an automated message from the SEP lifecycle bot.

  17. localden commented on Jun 26, 2026

    @localden
    Contributor

    Superseded by #2484

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

    SEPdraftSEP proposal with a sponsor.

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions