validate
目的
設定ファイルと参照されているすべての spec ファイルのエラーをチェックします。これは読み取り専用の診断コマンドです — 何も変更しません。
使用するタイミング
swag2mcp.yamlを手動で編集した後mcpまたはupdateを実行する前に、問題を早期に発見するため- spec が読み込まれない理由をトラブルシューティングする場合
- CI/CD パイプラインで設定変更を検証するため
構文
bash
swag2mcp validate [path] [flags]引数
| 引数 | 位置 | 必須 | 説明 |
|---|---|---|---|
path | 1 | いいえ | ワークスペースディレクトリ。省略時はパス解決ルールに従います。 |
フラグ
| フラグ | 省略形 | 型 | デフォルト | 説明 |
|---|---|---|---|---|
--tags | -t | string | "" | 一致するタグを持つ spec のみを検証(カンマ区切り) |
仕組み
bash
swag2mcp validate
swag2mcp validate ./my-workspace
swag2mcp validate --tags=publicチェックされるもの
| チェック | 説明 |
|---|---|
| YAML 構文 | 設定ファイルが有効な YAML であること |
| 設定構造 | すべての必須フィールドが存在し、型が正しいこと |
| ドメインの一意性 | 重複ドメインがないこと |
| ドメイン形式 | 小文字、数字、ハイフンのみ |
| Spec ファイルの存在 | location ファイルまたは URL が到達可能であること |
| Spec 形式 | ファイルが有効な OpenAPI 3.x、Swagger 2.0、または Postman collection であること |
| 認証設定 | 認証タイプと設定が選択された方式に対して有効であること |
| HTTP クライアント | HTTP クライアント設定が有効であること |
チェックされないもの
| チェックされない | 理由 |
|---|---|
| 認証エンドポイント | validate は認証設定の構文をチェックしますが、ログイン/トークン交換はテストしません |
| API エンドポイントの可用性 | spec ファイルの URL のみがチェックされ、base_url はチェックされません |
base_url の正確性 | 形式は検証されますが、テストリクエストは行われません |
| モックサーバー設定 | base_mock_url の接続性は検証されません |
出力例
✅ Configuration is valid.
✓ Spec petstore: OK
✓ Spec meteo: OK
✗ Spec old-api: file not foundコマンド実行後の確認
検証に合格した場合、設定は mcp、update、または run の準備ができています。
ニュアンス
- 自動初期化なし:
add、ls、runとは異なり、validateは設定がない場合に自動初期化しません。エラーを返します:"configuration not found at <path>"。 - ネットワークアクセス: リモート spec URL は検証中に取得されます。spec が遅いサーバーでホストされている場合、コマンドに時間がかかることがあります。
- タグフィルタリング:
--tagsが設定されている場合、指定されたタグに一致する spec のみが検証されます。他の spec はスキップされます。