目的
worker の agents を 0.8 系 → 0.19.0 へ引き上げ、SDK v2 beta を踏まずに依存 drift を解消する。挙動は現状維持。
前提
- 現状 =
worker/package.json が agents: ^0.8.0 + @modelcontextprotocol/sdk: 1.26.0(pin)。worker/package-lock.json の実解決は agents 0.8.2 / sdk 1.26.0 / @cloudflare/workers-types 4.20260404.1
- sdk を pin している理由は既存コメント参照(agents が内包する版と worker 直下の版が二重化すると
McpServer の private _serverInfo が型レベルで衝突するため)
agents@0.19.0 は dependencies に @modelcontextprotocol/sdk@1.29.0 のみ。beta peer なし、@modelcontextprotocol/client / /server の静的 import なし
agents@0.20.0 から v2 beta(client / server 2.0.0-beta.5)が非 optional な必須 peerになり、dist/mcp/index.js が静的 import する。よって 0.19.0 が beta を踏まない最終版
- 0.19.0 時点で
McpAgent は export 継続、deprecated マーカーなし(0.20.1 で feature-frozen 化)
姉妹リポジトリでの先行実施から持ち込む知見
Liplus-Project/github-rag-mcp#225 / #226 で同じ引き上げを完了済み(merge 済み、実機確認通過)。そこで実際に踏んだものを以下に引き渡す。
- SDK の単一コピー化で
@ts-expect-error が不要になり、TS2578(unused directive)で落ちる。 rag-mcp では src/mcp.ts の抑止コメントがこれに該当した。本 repo も同型の pin 理由を持つため、worker/src/agent.ts 周辺に同じことが起きる可能性が高い。抑止が不要になったら削除する(再抑止しない)
^0.19.0 は 0.x semantics で >=0.19.0 <0.20.0 に解決される。 beta 境界がレンジ自体に封じ込められるので、この書き方を選ぶこと
@cloudflare/workers-types の pin は lock 実読で前後比較して確認する。 rag-mcp では引き上げ前後とも 4.20260404.1 単一コピーで保持された
- 抑止削除の跡地にコメントを残す場合、時制と事実を実測に合わせること。 rag-mcp では「SDK が 1.30.0 を公開したら型エラーが戻る」と未来形で書いたが 1.30.0 は 2026-07-27 に公開済みで、トラップは既に arm されており committed lockfile だけが押さえている状態だった。同種の記述をする場合は
npm view で現況を確認してから書く
制約
対象ファイル
worker/package.json — agents / sdk のバージョン指定と overrides コメント
worker/package-lock.json
worker/src/agent.ts / worker/src/index.ts — 型エラーが出た場合のみ
関連
目的
workerのagentsを 0.8 系 → 0.19.0 へ引き上げ、SDK v2 beta を踏まずに依存 drift を解消する。挙動は現状維持。前提
worker/package.jsonがagents: ^0.8.0+@modelcontextprotocol/sdk: 1.26.0(pin)。worker/package-lock.jsonの実解決はagents 0.8.2/sdk 1.26.0/@cloudflare/workers-types 4.20260404.1McpServerの private_serverInfoが型レベルで衝突するため)agents@0.19.0はdependenciesに@modelcontextprotocol/sdk@1.29.0のみ。beta peer なし、@modelcontextprotocol/client//serverの静的 import なしagents@0.20.0から v2 beta(client/server2.0.0-beta.5)が非 optional な必須 peerになり、dist/mcp/index.jsが静的 import する。よって 0.19.0 が beta を踏まない最終版McpAgentは export 継続、deprecated マーカーなし(0.20.1 で feature-frozen 化)姉妹リポジトリでの先行実施から持ち込む知見
Liplus-Project/github-rag-mcp#225 / #226 で同じ引き上げを完了済み(merge 済み、実機確認通過)。そこで実際に踏んだものを以下に引き渡す。
@ts-expect-errorが不要になり、TS2578(unused directive)で落ちる。 rag-mcp ではsrc/mcp.tsの抑止コメントがこれに該当した。本 repo も同型の pin 理由を持つため、worker/src/agent.ts周辺に同じことが起きる可能性が高い。抑止が不要になったら削除する(再抑止しない)^0.19.0は 0.x semantics で>=0.19.0 <0.20.0に解決される。 beta 境界がレンジ自体に封じ込められるので、この書き方を選ぶこと@cloudflare/workers-typesの pin は lock 実読で前後比較して確認する。 rag-mcp では引き上げ前後とも4.20260404.1単一コピーで保持されたnpm viewで現況を確認してから書く制約
WebhookMcpAgent.serve("/mcp")の構成を維持する@cloudflare/workers-typesの pin を壊さないことmcp-server/およびlocal-mcp/には触らない。本 issue は worker 側のみ対象ファイル
worker/package.json— agents / sdk のバージョン指定と overrides コメントworker/package-lock.jsonworker/src/agent.ts/worker/src/index.ts— 型エラーが出た場合のみ関連