Skip to content

test(mcp-server): guard proxy search schema against Worker param drift #159

Description

@liplus-lin-lay

@

目的

proxy(mcp-server/server/index.js) の静的 TOOLS スキーマが Worker(src/mcp.ts) の search param と手動同期になっており、同期忘れが silently ship する。同期忘れを構造的に検出するガード(CI/test)を入れ、「忘れたら出荷できない」状態にする。

背景 / 原因(クラス)

方針

  • 不採用: proxy が tools/list を Worker に委譲する案 → 起動時に auth/network を強制し起動 UX が退行。静的スキーマの利点(即答・無認証)を壊すので却下。
  • 推奨: CI / test で proxy の search param キー集合 ⊇(または ==)Worker の param 集合 を assert。drift で build 失敗 = 同期忘れを ship 不能にする。忘れ得る手順を、必ず発火する構造(CI)へ置換。

対象ファイル(想定・実装時確定)

  • mcp-server/ 配下にスキーマ整合テストを追加。Worker param 抽出方法(src/mcp.ts のパース / 共有 param 名リストの単一ソース化)は実装時に決定。
  • CI ワークフローにテスト実行を接続。

制約

  • 既存ランタイム挙動は不変(テスト/CI の追加のみ)。Worker・proxy のレスポンスを変えない。
  • release type = patch 見込み(出荷物の挙動追加ではなく開発時ガードの追加)。
    @

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancement新機能・改善要望

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions