accueil / serveurs / Dev & Code / ai.iceshore/iceshore
ai.iceshore/iceshore
serveur MCP (Model Context Protocol) · iceshore-mcp-server 0.2.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que ai.iceshore/iceshore est sûr ?
Au dernier audit MCP Hub, le serveur MCP « ai.iceshore/iceshore » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 15 outils
- add_note≈ 363 tokens
ADL のノードに、規範的な注意点(humanNote)を保存する(ログインが必要・editor または admin 権限)。同じ ref_path への保存は上書き(UPSERT)で、1 ノードに有効なノートは最大 1 件。 text: 200 字以内。「〜のため〜にする」「〜なので〜禁止」の規範の形。固有名詞は書ける。1 ノードの複数の観点は 1 文にまとめて書く。 ref_path はサーバが ADL と照合する: 見つからないときは reason="ref_path_not_found" と、当たった最長の前置(matched_prefix)、そこにあるキー(candidates)を返す。ADL が読めないときは reason="adl_unavailable"。"$ref" の先はたどらない。ADL に "contexts" という欄は無い(実体は "useCases")。 ノートの下書きをローカルにためてから保存する進め方は iceshore://guide/common に書いてある。 入力: content_id, ref_path, text, lang(すべて必須)。 出力: { ok, mode: "inserted"|"updated", defined_at, updated_at }。
Paramètres, retour & exemple (4)
Paramètreslang· string · requis
ISO 639-1 言語コード(例: "en", "ja")text· string · requis
規範形の注意点(200 文字以内)。"〜のため〜にする" / "〜なので〜禁止" の形式。事後報告や抽象表現は禁止ref_path· string · requis
対象ノードの ref_path(例: "#/actors/customer", "#/useCases/uc1/traffics/t1")。ADL 内に実在するノードを指すこと(サーバが照合し、外れると reason="ref_path_not_found" と candidates を返す)。`contexts` という欄は無い=`useCases`content_id· string · requis
IceShore プロジェクト ID("d" で始まる内部ID。list_projects が返す id。"I…" 形式は使用不可)
Exemple d'appel{"name": "add_note", "arguments": {"lang": "texte", "text": "texte", "ref_path": "texte", "content_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - auth_check≈ 134 tokens
IceShore への接続と認証の状態を返す。 入力: なし。 出力: 認証成功なら userId と所属組織一覧(organizations: workspace_id / name / role)、失敗(トークンの無効・失効など)なら error を含む文字列。 organizations[].workspace_id は、create_content / commit_uploaded_codes の登録先(workspace_id)や list_projects の絞り込みに使える値。 組織への登録ができるのは、role が admin または editor の組織。
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "auth_check", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - batch_request_upload_url≈ 416 tokens
複数のプロビジョニングファイルの presigned PUT URL を、1 回の呼び出しで N 件(最大 100)発行する(ログインが必要)。 各 upload_url は HTTP PUT でファイル本体を受け付ける(有効期限 10 分・並列可)。シェルを実行できるクライアントでの例: curl --silent --show-error --fail -X PUT --upload-file <ローカルパス> '<upload_url>'。 アップロードしたファイルは commit_uploaded_codes で構成図に取り込まれる。ADL 本体(adr)も 1 ファイル分足して送れ、commit_uploaded_codes の code_entries で is_root:true を付けると inline の adl_root が要らない。 urls[] の順序は入力 files[] と同じ。同じバッチに同じ code_id が 2 件あるとエラー。staging はユーザ × project_id ごとに分かれる。 入力: files(1〜100 件・必須)、project_id(追記時)。 出力: project_id, urls: [{code_id, upload_url, content_key}, ...], expires_in(=600)。
Paramètres, retour & exemple (2)
Paramètresfiles· array · requis
アップロード対象のファイルメタ情報。同じ project_id に紐付く N 件をまとめて発行する。project_id· string · optionnel
既存プロジェクトに追記する場合のみ指定。新規作成では未指定で呼び出すと、サーバが project_id を採番して返す。
Exemple d'appel{"name": "batch_request_upload_url", "arguments": {"files": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - commit_uploaded_codes≈ 856 tokens
request_upload_url / batch_request_upload_url の URL へ PUT したファイルを、IceShore プロジェクトの codes に取り込む(ログインが必要)。新規プロジェクトはこの呼び出しで作られ、既存プロジェクトにはマージ(MERGE)で追記・更新し、指定しなかった既存ファイルは温存する。 マージのルール: code_id が一致すれば上書き、新しい code_id は末尾に追加、code_entries に無い既存ファイルはそのまま残る(save_content の全置換とは違う)。adl_root(または is_root:true のエントリ)を渡すと ADL 本体を置き換え、省くと既存のまま。 ADL 本体の渡し方は 2 通り: code_entries の 1 件に is_root:true(staged 経由・大きな ADL 向け)、または引数 adl_root に JSON 文字列(inline・小さな ADL 向け)。両方あれば inline を使う。旧称 cloud_design_root も受け付ける。 品質評価(KGI)と構成図は保存時にサーバ側で作られるので、画面で保存し直す必要はない。info.version と info.status もサーバが決める(version は保存のたびに +1 される整数、status は品質評価から designed / prepared / draft を自動で決める)。応答には構成図の URL が含まれる。 code_entries の各 code_id は、PUT 済みでなければ 400。is_root:true は 1 件まで。ファイルの削除は扱わない(delete_code または save_content)。 入力: project_id(必須)、code_entries(必須・空配列可)、adl_root(新規時に必要・staged の is_root があれば不要)、overview(新規時に必要)、workspace_id(新規時の登録先)。 出力: id と構成図の URL。
Paramètres, retour & exemple (6)
Paramètresadl_root· string · optionnel
ADL 構造を JSON.stringify した文字列。新規登録 (= request_upload_url で project_id を新規採番した最初の commit) では **必須**。既存プロジェクトの更新で構造を変えないなら省略可(既存値が保持される)。(旧称 cloud_design_root は後方互換のため引き続き受け付ける)overview· string · optionnel
プロジェクト概要メタ (titles / descriptions / version / security 等。titles/descriptions は複数形・locale-keyed map。security は取扱情報種別 "publicHandling"|"confidentialHandling"|"privacyHandling"。type(公開設定)は MCP 経由では常に private に固定されるため指定不要)。新規登録では **必須**。更新で overview を変えないなら省略可。project_id· string · requis
request_upload_url で得た project_id を必ず渡すcode_entries· array · requis
curl PUT で staging に置いた各ファイルのメタデータ。**ファイル中身 (data) は含めない**(サーバが S3 staging から読む)。差分アップロードでは「変更したファイルだけ」を列挙する。空配列は cloud_design_root / overview 単体の更新時に許容。workspace_id· string · optionnel
登録先ワークスペース(新規登録時のみ有効)。"personal"(個人)または組織UUID(auth_check の organizations[].workspace_id)。【必須運用】依頼文(プロンプト)に登録先ワークスペースの指定があればその値を使う。指定が無い場合は auth_check で組織一覧を取得し、**必ずユーザーに登録先(個人 or 組織名)を確認してから**呼ぶこと。無断で個人に作成しない。組織を指定するには、その組織の編集権限(admin / editor)が必要。省略時は個人ワークスペースに登録される(後方互換)。既存プロジェクトの更新時 workspace_id は無視される。登録済み構成図のワークスペース変更は MCP からは不可(IceShore の Web 画面から行う)。cloud_design_root· string · optionnel
非推奨。adl_root の旧称。後方互換のため受け付ける。新規コードでは adl_root を使うこと。
Exemple d'appel{"name": "commit_uploaded_codes", "arguments": {"project_id": "texte", "code_entries": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_content≈ 1030 tokens
新しい IceShore プロジェクトを作る(ADL と添付ファイルを登録する。ログインが必要)。既存プロジェクトの更新は save_content が扱う。 codes の形: 配列のうち 1 件が ADL 本体(id="adlRoot", isRoot=true, lang="adl", fmt="json", data=ADL を JSON.stringify した文字列)。残りはプロビジョニングファイルを 1 件 1 エントリ(isRoot=false)。ADL 本体が無いと画面では空になる。ADL の構造は iceshore://guide/adl に書いてある。 例: { "codes": [ { "id": "adlRoot", "isRoot": true, "lang": "adl", "fmt": "json", "data": "{"reindeer":"2.0.0","self":"adl.json",...}" }, { "id": "main.tf", "isRoot": false, "lang": "tfm", "fmt": "hcl", "data": "resource "aws_lambda_function" ..." } ], "overview": { "titles": {"en": "...", "ja": "..."}, "descriptions": {"en": "...", "ja": "..."}, "version": "1.0.0", "type": "private", "security": "publicHandling" } } overview は必須。IaC リポジトリからの新規インポートでは importSource(originUrl / localPath / lastImportedCommit / lastImportedAt / importMethod)を、変更履歴として changeLog(at / by / source / summary / delta / securityNotices)を持てる(iceshore://guide/iac-import・iceshore://guide/changelog)。 workspace_id: "personal"(個人)または組織の ID(auth_check の organizations[].workspace_id)。省くと個人。組織への登録にはその組織の admin / editor 権限が要り、無ければ 403。登録先は作成時だけ指定でき、後から MCP では変えられない(画面から変える)。 大きさ: 1 回あたり約 5 MB まで(同期リクエストの上限 6 MB)。合計が大きいとき・ファイルが多いときは batch_request_upload_url + commit_uploaded_codes の経路がある。 保存前に、アクセスキー・パスワード・トークンなどに見える値は ***MASKED*** に置き換えて保存する。 出力: 新しい id("d" で始まる内部 ID)と構成図の URL。失敗時は ok:false と error。
Paramètres, retour & exemple (3)
Paramètrescodes· array · requis
【必須形状】配列の中に必ず 1 件 id="adlRoot" isRoot=true lang="adl" fmt="json" のエントリを含めること。adlRoot.data は ADL 構造(reindeer/self/info/actors/resources/useCases/components)を JSON.stringify した文字列。その他のエントリはプロビジョニングファイルを 1 件 1 エントリで isRoot=false として続ける。overview· string · requis
プロジェクト概要メタ。titles/descriptions(複数形・locale-keyed map)、version、type(visibility: "private"|"public")、security(取扱情報種別: "publicHandling"|"confidentialHandling"|"privacyHandling")等を含む。type と security は別概念。例: { titles: { en: "...", ja: "..." }, descriptions: { en: "...", ja: "..." }, version: "1.0.0", type: "private", security: "publicHandling" }workspace_id· string · optionnel
登録先ワークスペース。"personal"(個人)または組織UUID(auth_check の organizations[].workspace_id)。【必須運用】依頼文(プロンプト)に登録先ワークスペースの指定があればその値を使う。指定が無い場合は auth_check で組織一覧を取得し、**必ずユーザーに登録先(個人 or 組織名)を確認してから**呼ぶこと。無断で個人に作成しない。組織を指定するには、その組織の編集権限(admin または editor。auth_check の organizations[].role で確認可能)が必要。省略時は個人ワークスペースに登録される(後方互換)。ワークスペースを指定できるのは新規作成時のみ。登録済み構成図のワークスペース変更は MCP からは不可(IceShore の Web 画面から行う)。
Exemple d'appel{"name": "create_content", "arguments": {"codes": [], "overview": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete_code≈ 188 tokens
プロジェクトの codes から 1 件のファイルを削除する(ログインが必要)。ADL 本体(adlRoot)は削除できない(必要なら save_content の全置換)。 1 ファイル分の読み書きだけで済み、全 codes を送り直す save_content より速い。構成図は保存時にサーバ側で作り直される。 入力: project_id, code_id(どちらも必須)。 出力: { ok: true, id, removed: true|false }。removed:false は、その code_id が元から無かったことを示す。
Paramètres, retour & exemple (2)
Paramètrescode_id· string · requis
削除するファイルの code_id (例 "old.tf")。adlRoot は不可。project_id· string · requis
IceShore プロジェクト ID
Exemple d'appel{"name": "delete_code", "arguments": {"code_id": "texte", "project_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete_note≈ 168 tokens
ADL ノードの humanNote を論理削除する(is_deleted=1・ログインが必要・editor または admin 権限)。行は消さないので、同じ ref_path に add_note すると復活する。 入力: content_id, ref_path(どちらも必須)。 出力: { ok, mode: "deleted"|"not_found" }。
Paramètres, retour & exemple (2)
Paramètresref_path· string · requis
対象ノードの ref_pathcontent_id· string · requis
IceShore プロジェクト ID("d" で始まる内部ID。list_projects が返す id。"I…" 形式は使用不可)
Exemple d'appel{"name": "delete_note", "arguments": {"ref_path": "texte", "content_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_content≈ 302 tokens
【認証不要(公式サンプルの公開コンテンツのみ)】匿名では公式サンプルだけを返し、それ以外はログインが必要(401)。IceShore プロジェクト 1 件の ADL と添付ファイルを返す。 用途: 既存プロジェクトの参照、保存・更新の結果の確認(get_content(mode='detail') の戻りが保存後の実際の状態の正典)。 id は list_projects または list_samples が返す、"d" で始まる内部 ID。 mode の違い: - "meta": メタ情報だけ。S3 を読まないので速い(10 秒以上短い) - "root": ADL 本体(adlRoot)だけ - "detail": 全ファイル。大きく、30 秒ほどかかる場合がある 出力: { code, id, mode, data, type, role, ownerID, ... }。
Paramètres, retour & exemple (3)
Paramètresid· string · requis
IceShore プロジェクト ID("d" で始まる内部ID。list_projects / create_content が返す id。例: d9289696c392a29e188.13397864。URL スラグの "I…" 形式は使用不可)mode· string · optionnel · detail | meta | root
取得モード。 - "meta" (速い・推奨デフォルト): 重い codes blob を S3 から読まない。overview/role 等のメタ情報のみ。10 秒以上短縮可。 - "root" (中): codes を adlRoot 1 件に絞る。ADL 構造だけ欲しい時。 - "detail" (既定値、重い): 全 codes を返す。プロビジョニングファイル全件を参照する時のみ。locale· string · optionnel
表示ロケール (en/ja 等)。省略時は en
Exemple d'appel{"name": "get_content", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_guide≈ 198 tokens
【認証不要】匿名(未ログイン)でも使える。IceShore のガイド文書(ADL の書き方・登録手順・分析の進め方など)を名前で返す。 MCP リソースに対応していないクライアント向けの取得手段で、対応クライアントは resources/read でも同じ内容を読める。 主な名前: "analysis"(業務影響・依存・外部波及の分析)/ "registration"(システム登録)/ "fix"(ADL の修正)/ "adl"(ADL の作り方)/ "saving-publishing"(保存と公開)。 入力: name(短縮名または URI パス)。知らない name のときは、使える名前の一覧を返す。 出力: ガイド本文(markdown / JSON。本文は英語)。
Paramètres, retour & exemple (1)
Paramètresname· string · requis
ガイド名。短縮名(例 "analysis" / "registration" / "fix" / "adl" / "saving-publishing")または URI パス(例 "guide/analysis" / "skill/adl-validator")。
Exemple d'appel{"name": "get_guide", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_notes≈ 240 tokens
プロジェクトの humanNote(人が ADL のノードに残した規範的な注意点)を返す(ログインが必要)。1 ノード(ref_path)につき有効なノートは最大 1 件。 用途: 既存プロジェクトを編集するときの確認、人が編集した形跡(_meta.d が "h:" で始まる)のあるノードの参照、特定ノードについての質問への回答。 refs(任意・配列): 取得するノードの ref_path。省くと全件(最大 500 件)。 ref_path が今の ADL に無いノートは、ノードの削除や改名で取り残されたもの。 出力: { code, id, data: { notes: [{ note_id, ref_path, text, lang, defined_by, defined_at, updated_at }] } }。
Paramètres, retour & exemple (2)
Paramètresid· string · requis
IceShore プロジェクト ID("d" で始まる内部ID。list_projects / create_content が返す id。例: d9289696c392a29e188.13397864。URL スラグの "I…" 形式は使用不可)refs· array · optionnel
対象ノードの ref_path 配列(例: ["#/actors/customer", "#/useCases/uc1/traffics/t1"])。省略時は全件(500 件まで)
Exemple d'appel{"name": "get_notes", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_codes_meta≈ 184 tokens
既存プロジェクトの codes 配列のメタデータ一覧を返す(ファイル中身 data は含まない)。差分アップロードの判定に使う。 各エントリの sha256 は、data フィールド(文字列)を SHA-256 にかけた値。テキストファイルなら、ローカルの shasum -a 256 <file> の結果と一致する。 sha256 が一致するファイルは変更なしで、不一致または一覧に無いファイルだけを request_upload_url / batch_request_upload_url → commit_uploaded_codes で送れば足りる。 入力: project_id。 出力: codes: [{code_id, isRoot, lang, fmt, size, sha256}]。
Paramètres, retour & exemple (1)
Paramètresproject_id· string · requis
対象プロジェクトの id("d" で始まる内部ID。list_projects が返す id)
Exemple d'appel{"name": "list_codes_meta", "arguments": {"project_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_projects≈ 371 tokens
ユーザが閲覧権限を持つプロジェクト(ADL 構成図)の一覧を返す(ログインが必要)。 用途: 作業対象のプロジェクトの特定。業務影響・規模・依存関係を分析するときに、get_content で ADL を取る前の起点になる。 ページング: 既定は page=0 / itemperpage=24。続きは page=1, 2, …。itemperpage の最大は 100。 サンプルとの関係: range を省くと range="related" と同じで、公式サンプルは含まない(サンプルは list_samples が返す)。 workspace_id を渡すと、その 1 組織が所有する案件だけに絞り込む(値は auth_check の organizations[].workspace_id)。 入力: range, page, itemperpage, workspace_id(すべて省略可)。 出力: プロジェクトの id とタイトルの一覧(プレーンテキスト)。末尾に total / totalPages。
Paramètres, retour & exemple (4)
Paramètrespage· integer · optionnel
0 起点のページ番号 (default 0)。default の itemperpage=24 件単位でページング。range· string · optionnel · | related | bookmark | private | privateBookmark
取得スコープのフィルタ。"related" (省略時の既定) = 自分が role を持つ構成図 + 自分の組織の構成図。誰でも見える公開構成図(公式サンプル)は足さない。"" = related に加えて公開構成図も含める(サンプルは list_samples を使うこと)。"bookmark" = bookmark 済のみ。"private" = type=private のみ。"privateBookmark" = type=private かつ bookmark 済。itemperpage· integer · optionnel
1 ページあたりの件数 (default 24、最大 100)。workspace_id· string · optionnel
特定の組織(ワークスペース)に絞り込む。auth_check が返す organizations[].workspace_id をそのまま渡す。複数組織に所属するユーザでも、指定した 1 組織が所有する案件のみが返るため、組織を跨いだ取りこぼし・混入を防げる。省略時は全所属組織の構成図が混在する。
Exemple d'appel{"name": "list_projects", "arguments": {"page": 1, "range": "", "itemperpage": 1, "workspace_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_samples≈ 190 tokens
【認証不要】匿名(未ログイン)でも使える。公式サンプルワークスペースの公開構成図の一覧を返す(ログイン時も公式サンプルワークスペースに固定)。 用途: 新しい設計の参考事例、サンプルを土台にした作成。 list_projects との違い: list_projects は自分が閲覧権限を持つプロジェクト(サンプルを含まない)、本ツールは公式サンプルだけ。 ページング: 既定は page=0 / itemperpage=24。 入力: page, itemperpage(すべて省略可)。 出力: 公開プロジェクトの id とタイトルの一覧。末尾に total / totalPages。
Paramètres, retour & exemple (2)
Paramètrespage· integer · optionnel
0 起点のページ番号 (default 0)。default の itemperpage=24 件単位でページング。itemperpage· integer · optionnel
1 ページあたりの件数 (default 24、最大 100)。
Exemple d'appel{"name": "list_samples", "arguments": {"page": 1, "itemperpage": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - request_upload_url≈ 452 tokens
プロビジョニングファイル 1 件分の、S3 への presigned PUT URL を発行する(ログインが必要)。ファイルが複数なら batch_request_upload_url が 1 回で N 件を発行する。 返る upload_url は HTTP PUT でファイル本体を受け付ける(有効期限 10 分)。シェルを実行できるクライアントでの例: curl --silent --show-error --fail -X PUT --upload-file <ローカルパス> '<upload_url>'。ファイル中身はディスクから S3 へ直接送られ、会話の出力トークンにならない。シェルを使えないクライアントでは、create_content / save_content が中身を引数で受け取る。 アップロードしたファイルは commit_uploaded_codes で構成図に取り込まれる。ADL 本体(adr)も同じ経路で送れ、commit_uploaded_codes の code_entries で is_root:true を付けると inline の adl_root が要らない。 project_id を省くと新しい project_id を採番する。同じ project_id で同じ code_id を発行し直すと、commit 時に後のものが使われる。staging はユーザ × project_id ごとに分かれ、他ユーザの project_id には発行できない(403)。 入力: code_id, lang, fmt(必須)、project_id(追記・更新時)。 出力: upload_url, content_key, project_id, expires_in。
Paramètres, retour & exemple (4)
Paramètresfmt· string · requis · json | yaml | hcl
ファイル形式 (json / yaml / hcl の 3 値のみ。.tf/.tfvars/.hcl→hcl、.yml→yaml)。lang· string · requis · adl | acf | arm | gdm | cim | aro | tfm | slf
カテゴリ。acf=CFn / tfm=Terraform / slf=Serverless / arm=ARM / gdm=GDM / cim=CIM / aro=ROS / oth=その他。【最頻出ミス】拡張子と取り違えるな。yaml/json は fmt フィールドに入れるcode_id· string · requis
プロビジョニングファイルのファイル名 (例 "main.tf" / "serverless.yml" / "template.yaml")。S3 のキーに直接使うので [A-Za-z0-9._-] のみ・最大 200 文字。project_id· string · optionnel
既存プロジェクトに追記する場合のみ指定。新規作成では未指定で呼び出すと、サーバが project_id を採番して返す。同じセッションの 2 回目以降は返ってきた project_id を渡す。
Exemple d'appel{"name": "request_upload_url", "arguments": {"fmt": "json", "lang": "adl", "code_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - save_content≈ 814 tokens
既存の IceShore プロジェクトの ADL と添付ファイルを更新する(ログインが必要・所有者または admin / editor 権限)。新規作成は create_content が扱う。 全置換(full-replace): codes に渡したものがすべてになり、未指定の既存ファイルは削除される(allow_code_deletion を付けたときだけ削除を受け付ける)。既存ファイルを残すには、変更しないものも含めて全 codes を送る。現在の codes は get_content(mode='detail') で取れる。一部のファイルだけ足す・直すなら、マージする commit_uploaded_codes がある。 codes の形は create_content と同じ(1 件が ADL 本体 adlRoot)。overview は必須。 notes(任意・配列): 変更の 1 行要約。[{ at: <UNIX 秒・整数>, content: "<100 字以内>" }] の形で、構成図の「履歴」タブに残る。応答の「記録した変更サマリー: N 件」が記録された件数。 info.version と info.status はサーバが決める: version はサーバが採番し、保存のたびに +1 される整数(送った値は使われない)、status は品質評価から designed / prepared / draft を自動で決める("reviewed" は自動では下げない)。応答の「改訂 N / status: X」が保存後の値。 品質評価(KGI)と構成図は保存時にサーバ側で作られる。 IaC から更新するときに人が足した内容(resources[*].lessons、useCases[*].notes、IaC に無い actors など)の扱いは iceshore://guide/iac-import に書いてある。 保存前に、アクセスキー・JWT・秘密鍵・接続文字列などに見える値は ***MASKED*** に置き換えて保存し、置き換えた箇所を応答に一覧で返す。 入力: id(必須)、codes(必須)、overview(必須)、notes、allow_code_deletion。
Paramètres, retour & exemple (5)
Paramètresid· string · requis
既存プロジェクトの id("d" で始まる内部ID。list_projects / create_content が返す id)codes· array · requis
【必須形状】配列の中に必ず 1 件 id="adlRoot" isRoot=true lang="adl" のエントリを含める。adlRoot.data は ADL 構造を JSON.stringify した文字列。notes· array · optionnel
AIが生成した変更サマリー。**配列**であること(文字列を渡すと引数エラーで拒否される)。例: [{ at: 1717200000, content: "S3バケット resource_storage を追加" }]。ここに入れた内容だけが構成図の「履歴」タブに変更サマリーとして残る(他に書き込む経路は無い)。overview· string · requis
更新後のメタ情報。titles/descriptions(複数形・locale-keyed map)、security(取扱情報種別: "publicHandling"|"confidentialHandling"|"privacyHandling")等を含む。type(公開設定)は private 固定。version は送っても無視される(サーバが採番する)。allow_code_deletion· boolean · optionnel
full-replace で未指定の既存コードを削除することを明示的に許可する。通常は不要(既存プロビジョニングを保持するには全 codes を送る)。
Exemple d'appel{"name": "save_content", "arguments": {"id": "texte", "codes": [], "overview": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».