Skip to content
cccskills
FreePublished on GitHub

conoha-vps-mcp-test

ConoHa VPS MCPサーバーの動作確認テストを自動実行するスキル。「ConoHa テスト」「MCP動作確認」「動作検証」「conoha-test」「MCPテスト」 「VPSテスト」「検証項目」などのキーワードで発動する。

The English summary is being prepared. Showing the original description.

See how to install

Files included (5)

  • SKILL.md10.4 KB
  • references/report-log-template.md7.1 KB
  • references/report-template.md3.7 KB
  • references/test-cases.md21.3 KB
  • references/test-groups.md8.0 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

ConoHa VPS MCP 動作確認テストスキル

概要

ConoHa VPS MCPサーバーの全機能(37項目)を一括テストし、結果をMarkdownレポートとして出力する。

前提条件

  • ConoHa VPS MCP サーバーが接続済みであること
  • MCP ツール(conoha_get, conoha_post, conoha_post_put, conoha_post_put_by_param, conoha_post_by_header_param, conoha_get_by_param, conoha_delete_by_param, conoha_head, encode_base64, fetch_url)が利用可能であること

実行 ID(RUN_ID)

並列実行時のリソース名衝突を防ぐため、テスト実行ごとに一意な RUN_ID を決め、作成する全リソース名・一時ファイルパスに付与する。

# CI(GitHub Actions)では run_id を使う。ローカルでは日時+乱数で代替。
RUN_ID="${GITHUB_RUN_ID:-$(date +%Y%m%d%H%M%S)-$RANDOM}"
  • ネームタグ: test-${RUN_ID}
  • SSHキー名: ssh_key_${RUN_ID} / SSHキー生成パス: /tmp/test_ssh_key_${RUN_ID}
  • HTMLファイル: /tmp/test_index_${RUN_ID}.html
  • セキュリティグループ等その他の作成リソース名も <名前>-${RUN_ID} とする
  • references/test-cases.md 内の固定名(test / ssh_key / web-server-secgroup 等)は、上記に倣い <固定名>-${RUN_ID} のテンプレートとして扱う

テスト用リソース準備

テスト開始前に以下を実行する(既存ファイルがあってもプロンプトでハングしないよう、生成前に必ず削除する):

  1. SSHキー生成(Group M, N で使用):

    # -f 先が既存だと ssh-keygen は "Overwrite (y/n)?" で停止するため事前に削除
    rm -f "/tmp/test_ssh_key_${RUN_ID}" "/tmp/test_ssh_key_${RUN_ID}.pub"
    ssh-keygen -t ed25519 -f "/tmp/test_ssh_key_${RUN_ID}" -N "" -q
    
  2. テスト用HTMLファイル作成(Group S で使用):

    cat > "/tmp/test_index_${RUN_ID}.html" << 'EOF'
    <!DOCTYPE html>
    <html><head><title>Test</title></head>
    <body><h1>ConoHa MCP Test Page</h1></body></html>
    EOF
    

実行ルール

サブエージェント実行モデルとメインへの返却

各グループは独立したサブエージェント(Agent/Task)で実行してよい。グループ間は下記の依存順を守り、依存のないグループは並列実行できる(並列時は前述の RUN_ID でリソース名衝突を防ぐ)。

サブエージェントがメインに返す情報は最小限にする(全応答を返さない。コンテキスト肥大と読み取り負荷を防ぐため):

  • グループ内各テストの OK / NG 判定一覧(テストNo. と結果のみ)
  • NG のときだけ、原因特定に必要な情報を返す:
    • 失敗テストNo.
    • 使用したMCPツール名
    • 渡したパラメータ(path / param / body)
    • レスポンス抜粋(エラー該当部、または先頭〜数百字。全文は返さない)
    • 期待した挙動 と 実際の挙動
  • 各ツール呼び出しの全文レスポンスや成功時の詳細ログはサブエージェント内でログファイルに書き出す(「実行ログ記録」参照)。メインには返さない。
  • メインは各サブエージェントの OK/NG サマリのみを集約し、最終レポート(references/report-template.md)を生成する。

グループ実行順序

全グループを実行する場合は Group A → B → C → D → E → F → G → H → I → J → K → L → M → N → O → P → Q → R → S の順に実行する。

単一グループのみ実行する場合の依存解決: 各グループは自グループ内でサーバー作成(No.1)等の前提を内包する自己完結構成だが、グループ外の「テスト用リソース準備」前提は単独実行時に明示的に先行実行する:

  • RUN_ID の決定は常に最初に行う。
  • Group M / N: SSHキー(/tmp/test_ssh_key_${RUN_ID})生成を先に実行(references/test-groups.md の各グループ「前提」を参照)。
  • Group S: テスト用HTMLファイル(/tmp/test_index_${RUN_ID}.html)作成を先に実行。
  • 前提リソースが見当たらない場合は、該当グループの実行前に「テスト用リソース準備」の該当手順だけを実行してから本体に入る。

共通パラメータ

  • パスワード: vG7#kLp9zX!q
  • ネームタグ: test-${RUN_ID}
  • セキュリティグループ: default(基本)

状態遷移の待機

サーバーの状態遷移が必要な場合(起動/停止/リサイズ等)は、conoha_get で path="/servers/detail" を呼び出してステータスを確認し、目的の状態になるまで待機する。

  • ACTIVE: 起動完了
  • SHUTOFF: 停止完了
  • VERIFY_RESIZE: リサイズ確認待ち
  • BUILD: 構築中(待機が必要)

無限待機の禁止: 待機にはタイムアウト(目安: 1グループあたり最大10分)と最大ポーリング回数を設ける。超過した場合、または ERROR ステータスを観測した場合は、そのテストを NG(後述の原因特定情報付き)として打ち切り、クリーンアップへ進む。

クリーンアップ

各グループ完了後、作成したリソースを必ず削除する:

  • サーバー削除 → ボリューム削除 の順序で実行
  • セキュリティグループは最後に削除
  • SSHキーペアは使用後に削除

想定外の例外時の扱い

テスト中に想定外の事態(ツールが想定外のエラー/形式を返す、状態遷移タイムアウト、ネットワーク断、前提リソース欠落 等)が起きた場合の共通ルート:

  1. 記録: 当該テストを NG とし、「サブエージェント実行モデル」の原因特定情報(失敗No / ツール / パラメータ / レスポンス抜粋 / 期待・実際)を残す。
  2. 後続判断: 失敗テストに依存する後続ステップ(例: サーバー作成失敗時のそのサーバーを使う操作)は中断する。依存しない他グループは続行してよい。
  3. クリーンアップは必ず試みる: 例外発生時もそれまでに作成したリソース(サーバー/ボリューム/SG/SSHキー/一時ファイル)の削除を試みる。例外でクリーンアップを飛ばすと課金リソースが残留する。削除自体が失敗した場合は、残留リソースの種別とIDをレポートに明記する。
  4. 返却: サブエージェントは「どのステップで何が起きたか」の例外サマリのみをメインに返す(スタックトレースや全文ログは返さずログファイルに残す)。

異常系テストの確認方法

異常系テスト(No.24〜No.30)では、MCPツール呼び出し前にバリデーションで拒否されることを確認する。実際にAPIが呼ばれてエラーになるのではなく、ツール側でバリデーションエラーとなることが期待される。

Prompt実行テスト(No.21, No.30)— スキップ禁止

create_server はMCPプロンプトであり、MCPツールとして直接呼び出すことはできない。 しかし、プロンプトの実質的な動作はMCPツールで代替検証できるため、これらのテストをスキップしてはならない。

  • No.21(正常系): create_server プロンプトはサーバー作成をMCPツールで行うよう指示するものである。 そのため、No.1と同じ手順(conoha_get でフレーバー・イメージ・ボリュームタイプ取得 → conoha_post でボリューム作成 → conoha_post path=/servers でサーバー作成)を adminPass=vG7#kLp9zX!q、Ubuntu 24.04、メモリ1GB、サーバー名 test-${RUN_ID} で実行し、サーバーがACTIVEになることを確認する。
  • No.30(異常系): create_server プロンプトの rootPassword バリデーションは conoha_post path=/servers の adminPass バリデーションと同一の正規表現を使用している。 そのため、conoha_post path=/servers でサーバー作成を試み、adminPass=aaa を指定してバリデーションエラーになることを確認する。 No.24と同様にMCPツール呼び出し前のバリデーション拒否を確認すればよい。

結果記録

各テスト実行後、references/report-template.md のフォーマットに基づき結果を記録する。

実行ログ記録

各MCPツール呼び出しの後、以下の情報をログファイルに記録する:

  • ツール名: 呼び出したMCPツール(例: conoha_get)
  • パラメータ: ツールに渡した全パラメータ(path, param, bodyなど)
  • レスポンス: ツールから返されたレスポンス内容(JSON)

ログは references/report-log-template.md のフォーマットに基づき、グループ・テストNo.・ステップごとに時系列で記録する。

この全文ログはファイルにのみ書き出し、サブエージェントからメインへは返さない(メインへの返却は「サブエージェント実行モデル」の OK/NG サマリと NG 時の原因特定情報に限る)。サブエージェントで並列実行する場合、ログファイルは RUN_ID とグループ名でファイル名を分け、書き込み衝突を避ける。

出力

テスト結果は以下のパスに出力する:

  • 結果レポート: ./test-results/YYYY-MM-DD_HH-MM.md
  • 実行ログ: ./test-results/YYYY-MM-DD_HH-MM_log.md

(YYYY-MM-DD_HH-MM はテスト実行開始時の日時)

リファレンス

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

コーディングパターン準拠チェックを実行するスキル。 「パターンチェック」「コーディング規約」「coding pattern」「パターン準拠」 「コード規約チェック」「規約違反」「パターン違反」などのキーワードで発動する。

The English summary is being prepared. Showing the original description.

gmo-internet/conoha_vps_mcp27Updated Sep 24, 2026

ConoHa VPS MCPサーバーの操作ガイド。サーバー作成・削除・起動・停止・リサイズ、ボリューム管理、セキュリティグループ設定、オブジェクトストレージ操作など、ConoHa VPS APIをMCPツールで操作する際に参照する。「ConoHa」「VPS」「サーバー作成」「サーバー削除」「ボリューム」「セキュリティグループ」「オブジェクトストレージ」「conoha_get」「conoha_post」「conoha_delete」「フレーバー」「イメージ」「SSHキーペア」「スタートアップスクリプト」などのキーワードで発動する。

The English summary is being prepared. Showing the original description.

gmo-internet/conoha_vps_mcp27Updated Sep 24, 2026

See all skills by gmo-internet

Report a problem with this skill