tier-check: final 2026-07-28 is still treated as draft and legacy scenarios score by default
メンテナーはふだん 7 日以内に返信
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 48/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 静か
- 技術スタック
- typescript
- 領域
- api, testing-qa, tooling
調査の方向性
src/types.ts から始めて、dated、draft、latest、negotiable の各バージョンの処理を追跡し、次にスキーマのルーティングについて scripts/sync-schema.ts と src/spec-types/SOURCE を調べます。issue に記載された明示的およびデフォルトの tier チェックのケースを再現します。完了の条件は、final-2026 のシナリオが評価され、削除されたシナリオがデフォルトで除外され、変更不可能な最終スキーマが使用される一方で、以前のプロファイルを引き続き選択できることです。
索引モデルが issue の本文から書いたものです。
説明
Summary
The current conformance main (49103de6ed70804e940637bf3e9e29e4a3f54e64) predates the final MCP 2026-07-28 release (modelcontextprotocol@5f5440bb26a62e2cf3440b92da5a667efa03b267) and still classifies 2026-07-28 as the draft protocol version rather than a dated release.
That makes current Tier checks misleading in two directions:
- An explicit
--spec-version 2026-07-28run does not score the complete final profile. - A default run scores removed legacy scenarios that are outside the SDK's target spec profile.
This was reproduced against leehack/mcp_dart@629a85c511913e30945568c6c27702da6760a3bc with @modelcontextprotocol/conformance built from 49103de6ed70804e940637bf3e9e29e4a3f54e64.
Current behavior
src/types.ts currently has dated versions ending at 2025-11-25, LATEST_SPEC_VERSION = '2025-11-25', and DRAFT_PROTOCOL_VERSION = '2026-07-28'.
For an explicit final-2026 run:
- The client executes 32 applicable scenarios, but the 17 introduced in
2026-07-28are marked informational. Only 15 scenarios affectpass_rate. - The server's default
activesuite excludes scenarios introduced in2026-07-28. It runs 20 scenarios instead of the 37 applicable non-pending scenarios (40 applicable, 3 pending). - The output can therefore report Tier 1 without assessing all final-2026 requirements.
For a default run with no --spec-version:
- Client tier-check invokes
--suite all. - Two optional March 2025 OAuth backcompat scenarios with
removedIn: '2025-06-18'enter the scored denominator. - Those scenarios are also run with the latest default wire version rather than a version inside their applicability window.
- In this reproduction, required current-profile scenarios passed, but those two removed scenarios reduced the displayed client rate from 100% to 18/20 (90%) and the aggregate result from Tier 1 to Tier 2.
The Tier policy says scores should use the SDK's target specification and exclude legacy backcompat unless the SDK claims it: https://modelcontextprotocol.io/community/sdk-tiers
Schema drift
src/spec-types/SOURCE currently pins pre-final spec commit 71e306956a4959c9655e5036be215d41986596e6, and scripts/sync-schema.ts vendors only the older dated schemas plus mutable draft.
The final 2026-07-28 schema includes changes completed before the final tag, including the SubscriptionsListenResultResponse envelope from modelcontextprotocol/modelcontextprotocol#3158. Final-2026 validation should use an immutable vendored schema/2026-07-28, not the pre-final draft snapshot.
Expected behavior
- Treat
2026-07-28as a dated, latest, Tier-scoring release. - Make the default Tier conformance target the latest dated release, while retaining explicit older-profile assessment.
- Exclude removed legacy scenarios and extensions from the default target profile; keep them selectable for intentional compatibility/extension testing.
- Include all applicable, non-pending final-2026 client and server scenarios in the scored assessment.
- Vendor and route final-2026 wire validation to the immutable final schema.
- Preserve a useful
drafttarget even while the spec repository's draft wireprotocolVersionis temporarily identical to the latest final date.
Proposed implementation direction
One coherent change could:
- Add
2026-07-28to the dated versions and make it latest. - Represent whether there is a distinct unreleased draft separately from the draft wire identifier, deduplicating the version timeline and negotiable versions while both identifiers match.
- Keep the draft suites empty until a distinct unreleased draft exists, so final-introduced scenarios become active and scored.
- Default tier-check conformance to
LATEST_SPEC_VERSIONinstead of the aggregateallsuite. - Vendor
schema/2026-07-28at the final tag and route dated validation to it.
The important design question is whether maintainers prefer this small has distinct draft model or a larger separation between CLI spec targets (draft versus dated releases) and wire protocolVersion values. I am happy to implement the agreed direction with inventory, tier-output, schema-routing, and backward-profile regression tests.
- 主要言語
- TypeScript
- スター
- 131
- フォーク
- 111
- 平均マージ
- 17日 14分
- マージ済み PR(30日)
- 1
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
modelcontextprotocol/conformance のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
modelcontextprotocol/conformance#531 · コメント 1 件 ·
メンテナーはふだん 7 日以内に返信
-
server-stateless: 500 ms whole-request deadline in no-log-without-loglevel reports slow servers as failures対応中かも @birbprophet が 14 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
modelcontextprotocol/conformance#530 ·
メンテナーはふだん 7 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
modelcontextprotocol/conformance#519 ·
メンテナーはふだん 7 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
modelcontextprotocol/conformance#315 · コメント 1 件 ·
メンテナーはふだん 7 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
modelcontextprotocol/conformance#312 · コメント 1 件 ·
メンテナーはふだん 7 日以内に返信
modelcontextprotocol/conformance の issue をすべて見る
似ている issue
-
area:tui enhancement platform:macos
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
anthropics/claude-code#101490 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
netlify/netlify-mcp#75 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
atlassian-labs/compiled#1960 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
pnp/cli-microsoft365#7639 ·
メンテナーはふだん 2 日以内に返信
-
nextjs-tracking
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
cloudflare/vinext#3887 ·
メンテナーはふだん 1 日以内に返信