Skip to content

spec(deps): decide version alignment policy for @modelcontextprotocol/sdk #227

Description

@liplus-lin-lay

目的

@modelcontextprotocol/sdk のバージョン指定方針を決める。現状は committed lockfile だけが型エラーを押さえており、レンジ指定は守っていない。

前提

#225 / #226agents を 0.19.0 に上げた結果、SDK は tree 全体で 1.29.0 の単一コピーになり、src/mcp.ts@ts-expect-error が不要になって削除された。ただしこの単一化はレンジの一致による保証ではなく、偶然の一致である。

  • package.json の指定 = "@modelcontextprotocol/sdk": "^1.0.0"
  • agents@0.19.0 の指定 = "@modelcontextprotocol/sdk": "1.29.0"(厳密指定)
  • @modelcontextprotocol/sdk@1.30.0 は 2026-07-27 に公開済み

したがって lock を再生成、または npm update を実行した時点で、トップレベルが 1.30.0、agents/ 配下に 1.29.0 がネストされ、二重コピーによる McpServer 型不一致が src/mcp.ts に復活する。

現在踏み止まっている唯一の理由は committed lockfile。

検討する選択肢

  1. トップレベルを agents の指定に合わせて厳密 pin する(姉妹リポジトリ github-webhook-mcp の worker が採っている方式。ただし向こうは 1.26.0 で pin 理由も同型)
  2. overrides で単一コピーを強制する(@cloudflare/workers-types と同じ手法。既に overrides ブロックは存在する)
  3. 現状維持とし、lock の再生成時に tsc が落ちることを検出手段として受け入れる

制約

対象ファイル

  • package.json — dependencies / overrides
  • package-lock.json

関連

Metadata

Metadata

Assignees

No one assigned

    Labels

    forming本文を再構築しながら要求を整えている状態specLi+の挙動に影響する仕様・ポリシー・定義

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions