Skip to main content
Glama

Add uploaded files to project

commit_uploaded_codes
DestructiveIdempotent

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。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
adl_rootNoADL 構造を JSON.stringify した文字列。新規登録 (= request_upload_url で project_id を新規採番した最初の commit) では **必須**。既存プロジェクトの更新で構造を変えないなら省略可(既存値が保持される)。(旧称 cloud_design_root は後方互換のため引き続き受け付ける)
overviewNoプロジェクト概要メタ (titles / descriptions / version / security 等。titles/descriptions は複数形・locale-keyed map。security は取扱情報種別 "publicHandling"|"confidentialHandling"|"privacyHandling"。type(公開設定)は MCP 経由では常に private に固定されるため指定不要)。新規登録では **必須**。更新で overview を変えないなら省略可。
project_idYesrequest_upload_url で得た project_id を必ず渡す
code_entriesYescurl PUT で staging に置いた各ファイルのメタデータ。**ファイル中身 (data) は含めない**(サーバが S3 staging から読む)。差分アップロードでは「変更したファイルだけ」を列挙する。空配列は cloud_design_root / overview 単体の更新時に許容。
workspace_idNo登録先ワークスペース(新規登録時のみ有効)。"personal"(個人)または組織UUID(auth_check の organizations[].workspace_id)。【必須運用】依頼文(プロンプト)に登録先ワークスペースの指定があればその値を使う。指定が無い場合は auth_check で組織一覧を取得し、**必ずユーザーに登録先(個人 or 組織名)を確認してから**呼ぶこと。無断で個人に作成しない。組織を指定するには、その組織の編集権限(admin / editor)が必要。省略時は個人ワークスペースに登録される(後方互換)。既存プロジェクトの更新時 workspace_id は無視される。登録済み構成図のワークスペース変更は MCP からは不可(IceShore の Web 画面から行う)。
cloud_design_rootNo非推奨。adl_root の旧称。後方互換のため受け付ける。新規コードでは adl_root を使うこと。

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false, destructiveHint=true, idempotentHint=true, but the description adds far more: merge semantics (matching code_id overwrites, new code_ids append, unspecified files are preserved), that quality evaluation/diagrams/version/status are generated server-side, that version increments per save, that login is required, and the 400 error when a code_id was not PUT. This is exactly the kind of context annotations cannot carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the purpose well and uses labeled sections (merge rules, input, output), but it is dense and long, with several facts (is_root max 1, workspace_id behavior) duplicated verbatim from the schema, which dilutes rather than concentrates the signal.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description still states the return shape (id plus diagram URL) and covers auth requirements, server-side side effects, merge/preserve rules, and error conditions. An agent has everything needed to invoke this mutation correctly, including the prerequisite confirmation of the target workspace.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents every parameter including adl_root, overview, workspace_id and the is_root flag. The description restates the input list and the two ADL-root-passing modes, but adds little that the schema descriptions do not already contain, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: it commits files previously PUT to the request_upload_url/batch_request_upload_url staging URLs into an IceShore project's codes, creating new projects or merging into existing ones. It explicitly names the sibling tools it is not (save_content's full replacement, delete_code for deletion), so an agent can distinguish it without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-to-use context (after a curl PUT to staging), when-not-to-use (file deletion is not handled — use delete_code or save_content), and the key alternative distinction (MERGE appends/updates vs save_content's full replacement). The workspace_id requirement even spells out that the agent must confirm the target workspace with the user before calling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources