Skip to main content
Glama

Server Details

Make your AI better at system maintenance. Prompts your AI to organize use cases behind each system.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-03-26
URL

TDQS

A4.4/5.0

Scored across 15 tools

Disambiguation4/5

Most tools have clearly distinct purposes (e.g., add_note vs get_notes, list_projects vs list_samples), but the three content-writing tools (create_content, save_content, commit_uploaded_codes) could be confused despite detailed descriptions clarifying their differences. An agent might misselect between full-replace and merge operations if not reading carefully.

Naming Consistency4/5

All tool names use snake_case with a consistent verb_noun pattern (e.g., add_note, get_content, list_projects), except for 'auth_check' which is noun_verb. This minor deviation is understandable but slightly breaks the otherwise predictable convention.

Tool Count5/5

With 15 tools, the server covers its domain comprehensively without excessive redundancy. Each tool earns its place, including distinct single vs batch upload URLs and merge vs full-replace content operations.

Completeness4/5

Core workflows are well-covered: CRUD for content (create, update, delete code), notes management (add, get, delete), and project listing/retrieval. However, there is no tool to delete a project, and updating project metadata requires full content replacement, leaving minor gaps.

Available Tools

15 tools
add_noteAdd or update noteA
DestructiveIdempotent
Inspect

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 }。

ParametersJSON Schema
NameRequiredDescriptionDefault
langYesISO 639-1 言語コード(例: "en", "ja")
textYes規範形の注意点(200 文字以内)。"〜のため〜にする" / "〜なので〜禁止" の形式。事後報告や抽象表現は禁止
ref_pathYes対象ノードの ref_path(例: "#/actors/customer", "#/useCases/uc1/traffics/t1")。ADL 内に実在するノードを指すこと(サーバが照合し、外れると reason="ref_path_not_found" と candidates を返す)。`contexts` という欄は無い=`useCases`
content_idYesIceShore プロジェクト ID("d" で始まる内部ID。list_projects が返す id。"I…" 形式は使用不可)

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already flag destructive and idempotent, but the description adds substantial non-redundant behavior: UPSERT semantics, one-note-per-node limit, the exact error reasons (ref_path_not_found with matched_prefix/candidates, adl_unavailable), the fact that "$ref" targets are not followed, and the contexts/useCases naming trap. This is far beyond what the annotations convey.

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

Conciseness4/5

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

Front-loads the core action and auth requirement, then layers constraints, error semantics, and output shape in a dense, orderly block. It is long, but nearly every sentence carries distinct information; only mild redundancy with the schema descriptions costs it the top score.

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?

For a mutation tool with no output schema, the description supplies the required params, the auth/permission model, the overwrite semantics, the failure modes, and even the response shape ({ ok, mode, defined_at, updated_at }). An agent has everything needed to call it correctly and interpret the result.

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 parameters are already documented, and the description's parameter notes (200-char normative text, ref_path server validation, lang) largely restate the schema. The ref_path matching/candidates detail is useful but already mirrored in the schema description, so the baseline 3 applies.

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+resource: saving a normative humanNote onto an ADL node, and explicitly notes the UPSERT overwrite behavior with a max of one effective note per node. It is clearly distinguishable from the read/delete siblings (get_notes, delete_note) 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 Guidelines4/5

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

Gives the precondition (login required, editor or admin role) and points to iceshore://guide/common for the draft-then-save workflow. It does not explicitly name when to prefer this over siblings like delete_note/get_notes, so it stops short of full when/when-not guidance.

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

auth_checkCheck connectionA
Read-only
Inspect

IceShore への接続と認証の状態を返す。 入力: なし。 出力: 認証成功なら userId と所属組織一覧(organizations: workspace_id / name / role)、失敗(トークンの無効・失効など)なら error を含む文字列。 organizations[].workspace_id は、create_content / commit_uploaded_codes の登録先(workspace_id)や list_projects の絞り込みに使える値。 組織への登録ができるのは、role が admin または editor の組織。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover readOnly/non-destructive/closed-world, but the description goes further: it discloses the success shape (userId + organizations with workspace_id/name/role), the failure shape (error string on invalid/expired token), and the role restriction on registration. It does not mention refresh/rate-limit behavior, but adds real behavioral value beyond the annotations.

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

Conciseness4/5

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

Front-loaded and organized with explicit 入力/出力 structure, so the reader knows exactly what is returned. Slightly verbose in the final two sentences about workspace_id reuse, but every line carries actionable information.

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?

No output schema exists, so the description must carry the return contract — and it does, covering both success and failure payloads plus role constraints. Nothing an agent needs in order to call this and interpret the result is missing.

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

Parameters4/5

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

The tool takes zero parameters, so per the baseline there is nothing to document. The description's 'Input: none' correctly confirms this.

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+resource: it returns the connection and authentication status to IceShore. There is no sibling tool with overlapping purpose (add_note, create_content, list_projects, etc. are all content operations), so an agent can unambiguously identify this as the auth/connection probe.

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

Usage Guidelines3/5

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

It never explicitly says when to call this tool (e.g. 'call before other tools to verify the token'), but it does give downstream usage context: the returned workspace_id feeds create_content / commit_uploaded_codes and list_projects filtering, and it warns that only admin/editor roles can register. That is implied rather than explicit when-to-use guidance.

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

batch_request_upload_urlRequest upload URLsAInspect

複数のプロビジョニングファイルの presigned PUT URL を、1 回の呼び出しで N 件(最大 100)発行する(ログインが必要)。 各 upload_url は HTTP PUT でファイル本体を受け付ける(有効期限 10 分・並列可)。シェルを実行できるクライアントでの例: curl --silent --show-error --fail -X PUT --upload-file <ローカルパス> ''。 アップロードしたファイルは 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)。

ParametersJSON Schema
NameRequiredDescriptionDefault
filesYesアップロード対象のファイルメタ情報。同じ project_id に紐付く N 件をまとめて発行する。
project_idNo既存プロジェクトに追記する場合のみ指定。新規作成では未指定で呼び出すと、サーバが project_id を採番して返す。

TDQS

A4.4/5.0
Behavior4/5

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

Adds substantial behavior beyond annotations: max 100 per batch, 10-minute URL expiry, parallel uploads allowed, duplicate code_id in one batch causes an error, and staging isolation per user×project. This is consistent with idempotentHint=false (fresh URLs each call). Return shape is also sketched, though minor details like auth failure or quota behavior are absent.

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

Conciseness4/5

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

Front-loads the core purpose and is organized into input/output sections, so an agent can locate details quickly. The embedded curl example and several tangential notes (staging split, ADL root handling) make it denser than strictly necessary, though most lines earn their place.

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?

No output schema exists, but the description enumerates the return fields (project_id, urls with code_id/upload_url/content_key, expires_in=600), which compensates. Combined with constraints, error conditions, and the commit_uploaded_codes handoff, an agent has everything needed to call and chain this tool.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds semantics the schema lacks: files are 1–100 and required, urls[] order mirrors input files[] order, project_id is for appending to an existing project, and duplicate code_id fails. That is meaningful additional meaning over the schema.

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: issues presigned PUT URLs for multiple provisioning files in a single call, with an explicit cap of 100. The batch scope is unambiguous, and the contrast with a single-file alternative is legible from the name plus '複数...1 回の呼び出しで' even though the sibling is not named.

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

Usage Guidelines4/5

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

Gives a clear operational context: login required, upload via HTTP PUT, then feed results into commit_uploaded_codes, with a note that an ADL root file can be added as one more entry. It stops short of explicitly routing the agent away from the singular request_upload_url sibling or stating exclusions.

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

commit_uploaded_codesAdd uploaded files to projectA
DestructiveIdempotent
Inspect

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。

ParametersJSON 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 を使うこと。

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.

create_contentCreate projectAInspect

新しい 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。

ParametersJSON Schema
NameRequiredDescriptionDefault
codesYes【必須形状】配列の中に必ず 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 として続ける。
overviewYesプロジェクト概要メタ。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_idNo登録先ワークスペース。"personal"(個人)または組織UUID(auth_check の organizations[].workspace_id)。【必須運用】依頼文(プロンプト)に登録先ワークスペースの指定があればその値を使う。指定が無い場合は auth_check で組織一覧を取得し、**必ずユーザーに登録先(個人 or 組織名)を確認してから**呼ぶこと。無断で個人に作成しない。組織を指定するには、その組織の編集権限(admin または editor。auth_check の organizations[].role で確認可能)が必要。省略時は個人ワークスペースに登録される(後方互換)。ワークスペースを指定できるのは新規作成時のみ。登録済み構成図のワークスペース変更は MCP からは不可(IceShore の Web 画面から行う)。

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only declare the mutation/safety profile; the description adds auth requirements (login; org admin/editor or 403), irreversibility (workspace fixed at creation, cannot change via MCP), size limits (~5MB per call, 6MB sync ceiling), and a pre-save secret-masking behavior (***MASKED***). These are meaningful behavioral traits not derivable from annotations.

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

Conciseness4/5

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

Front-loaded with purpose, alternative routing, then format details; every section earns its place for a complex multi-part payload. However it is long and the codes example partly duplicates the schema, so it is not maximally tight.

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 documents the return (new id prefixed 'd' and diagram URL; ok:false + error on failure), the required overview contents, the document guides for ADL/IaC import/changelog, and the fallback path for oversized uploads. An agent has everything needed to call it correctly.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning beyond the schema: the consequence of missing adlRoot (screen renders empty), the distinction between lang (category) and fmt (file format), and the workspace_id default/confirmation rule. It stops short of only restating schema text.

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+resource (新しい IceShore プロジェクトを作る) with scope (ADL と添付ファイルを登録する), and explicitly distinguishes itself from the sibling save_content for updates. An agent can tell this apart from save_content without opening either 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?

Explicit when-to-use and when-not: new creation vs save_content for updates, plus routing guidance for large uploads (batch_request_upload_url + commit_uploaded_codes over ~5MB) and a mandatory workspace-confirmation workflow before calling. Login and 403-on-missing-org-role conditions are stated.

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

delete_codeDelete project fileA
DestructiveIdempotent
Inspect

プロジェクトの codes から 1 件のファイルを削除する(ログインが必要)。ADL 本体(adlRoot)は削除できない(必要なら save_content の全置換)。 1 ファイル分の読み書きだけで済み、全 codes を送り直す save_content より速い。構成図は保存時にサーバ側で作り直される。 入力: project_id, code_id(どちらも必須)。 出力: { ok: true, id, removed: true|false }。removed:false は、その code_id が元から無かったことを示す。

ParametersJSON Schema
NameRequiredDescriptionDefault
code_idYes削除するファイルの code_id (例 "old.tf")。adlRoot は不可。
project_idYesIceShore プロジェクト ID

TDQS

A4.6/5.0
Behavior5/5

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

Annotations cover destructive/idempotent/readOnly hints, and the description adds real context beyond them: login is required, adlRoot cannot be deleted, the structure diagram is regenerated server-side on save, and removed:false semantics. This is a rich disclosure for a destructive mutation.

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

Conciseness4/5

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

Front-loads the action, then the constraint, then the alternative, then I/O. Efficient overall, though the explicit input/output recaps partially duplicate structured data (the output recap earns its place since no output schema exists).

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 supplies the return shape and the meaning of removed:false, plus auth and constraint info. An agent has everything needed to call it correctly.

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% with both params documented, including the adlRoot restriction on code_id, so the baseline is 3. The description restates the required inputs but adds no syntax or format detail beyond the schema.

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+resource (delete one file from project codes) and immediately scopes it against the sibling save_content. An agent can distinguish this from save_content/add_note without opening either 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?

Explicitly says when to use it (single-file read/write, faster than resending all codes) and names the alternative (save_content full replacement) for the case it cannot handle (adlRoot). Covers the when-not case too.

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

delete_noteDelete noteA
DestructiveIdempotent
Inspect

ADL ノードの humanNote を論理削除する(is_deleted=1・ログインが必要・editor または admin 権限)。行は消さないので、同じ ref_path に add_note すると復活する。 入力: content_id, ref_path(どちらも必須)。 出力: { ok, mode: "deleted"|"not_found" }。

ParametersJSON Schema
NameRequiredDescriptionDefault
ref_pathYes対象ノードの ref_path
content_idYesIceShore プロジェクト ID("d" で始まる内部ID。list_projects が返す id。"I…" 形式は使用不可)

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, but the description goes well beyond them: it clarifies the delete is LOGICAL (row retained), discloses the auth/permission requirements, and explains the restore-by-add_note side effect. That 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.

Conciseness5/5

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

Front-loaded with the core action, then prerequisites, side effect, and structured 入力/出力 blocks. Every sentence earns its place with no redundancy.

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?

Despite having no output schema, the description supplies the return shape ({ ok, mode: "deleted"|"not_found" }), plus auth and side-effect context. Nothing an agent needs to call it correctly is missing.

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% – both content_id and ref_path are documented in the schema, including the ID format constraint. The description only restates that both are required, adding no syntax or format meaning beyond the schema. Baseline 3 applies.

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+resource: logical deletion of an ADL node's humanNote, with the exact mechanism (is_deleted=1). It also names the sibling add_note and describes the restore relationship, so an agent can distinguish it from get_notes/add_note without opening schemas.

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

Usage Guidelines4/5

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

Explicitly states prerequisites: login required, editor or admin permission. It also implies the when-to-use case via the add_note restoration note. It lacks an explicit 'do not use when…' exclusion, so it falls short of a 5.

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

get_contentGet projectA
Read-only
Inspect

【認証不要(公式サンプルの公開コンテンツのみ)】匿名では公式サンプルだけを返し、それ以外はログインが必要(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, ... }。

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesIceShore プロジェクト ID("d" で始まる内部ID。list_projects / create_content が返す id。例: d9289696c392a29e188.13397864。URL スラグの "I…" 形式は使用不可)
modeNo取得モード。 - "meta" (速い・推奨デフォルト): 重い codes blob を S3 から読まない。overview/role 等のメタ情報のみ。10 秒以上短縮可。 - "root" (中): codes を adlRoot 1 件に絞る。ADL 構造だけ欲しい時。 - "detail" (既定値、重い): 全 codes を返す。プロビジョニングファイル全件を参照する時のみ。
localeNo表示ロケール (en/ja 等)。省略時は en

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly/non-destructive), and the description adds substantial behavioral context beyond them: anonymous access returns only official samples and otherwise yields 401, per-mode latency ('meta' saves 10+ seconds, 'detail' may take ~30 seconds), and the return envelope shape. This is exactly the auth and performance disclosure the agent needs.

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

Conciseness4/5

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

Front-loaded with the authentication caveat, then purpose, id source, mode tradeoffs, and output shape in clearly labeled sections. It is somewhat long and the mode section repeats schema text, but every block is navigable and earns its place.

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?

For a read-only retrieval tool with no output schema, the description covers everything needed to call it correctly: auth behavior, required id format ('d'-prefix vs the unusable 'I...' URL slug), default and alternative modes with cost implications, and the return envelope. Nothing material is missing.

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 coverage is 100%, so the schema already documents id, mode, and locale. The description's mode explanations largely duplicate the enum descriptions in the schema, so it adds little beyond the baseline; a 3 is appropriate when the schema does the heavy lifting.

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 ('Returns the ADL and attachments for one IceShore project') and names the sibling tools that supply the required id (list_projects / list_samples). An agent can distinguish this lookup tool from list_projects, list_samples, and save_content 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 Guidelines4/5

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

Gives concrete usage contexts (referencing existing projects, verifying the result of a save/update, with get_content(mode='detail') positioned as the canonical post-save state). It routes the agent to list_projects/list_samples for the id, but stops short of explicitly stating when NOT to use it.

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

get_guideGet guideA
Read-only
Inspect

【認証不要】匿名(未ログイン)でも使える。IceShore のガイド文書(ADL の書き方・登録手順・分析の進め方など)を名前で返す。 MCP リソースに対応していないクライアント向けの取得手段で、対応クライアントは resources/read でも同じ内容を読める。 主な名前: "analysis"(業務影響・依存・外部波及の分析)/ "registration"(システム登録)/ "fix"(ADL の修正)/ "adl"(ADL の作り方)/ "saving-publishing"(保存と公開)。 入力: name(短縮名または URI パス)。知らない name のときは、使える名前の一覧を返す。 出力: ガイド本文(markdown / JSON。本文は英語)。

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesガイド名。短縮名(例 "analysis" / "registration" / "fix" / "adl" / "saving-publishing")または URI パス(例 "guide/analysis" / "skill/adl-validator")。

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the readOnly/non-destructive annotations, the description discloses that no authentication is required (anonymous use) and that an unknown name returns a list of available names — both behavioral traits the annotations do not convey. It also states the output format (markdown/JSON, English body).

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

Conciseness4/5

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

Front-loads the most important constraint (no auth needed) and then proceeds through purpose, alternative, names, input, and output in labeled lines. It is dense and earns most of its length, though the bracketed auth notice and multi-line layout make it slightly heavier than necessary.

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 correctly supplies the return format and language. Combined with the auth disclosure and the unknown-name fallback, an agent has everything needed to call this single-parameter tool correctly.

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

Parameters4/5

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

Schema coverage is 100% so the schema already documents the name parameter and its short-name/URI-path forms; per the rubric the baseline is 3. The description adds value by glossing each of the main guide names ('analysis' = business impact/dependency analysis, etc.) and by noting that an unrecognized name yields a listing, which the schema does not.

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 ('returns IceShore guide documents by name') and enumerates the guide topics (ADL writing, registration, analysis). It is clearly distinguishable from siblings like get_content or get_notes, which fetch user data rather than static documentation.

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?

Explicitly tells the agent when to use this tool ('for clients that don't support MCP resources') and names the alternative ('supporting clients can read the same content via resources/read'). It also gives the condition for an unknown name, which routes the caller to the fallback listing behavior.

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

get_notesGet notesA
Read-only
Inspect

プロジェクトの 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 }] } }。

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesIceShore プロジェクト ID("d" で始まる内部ID。list_projects / create_content が返す id。例: d9289696c392a29e188.13397864。URL スラグの "I…" 形式は使用不可)
refsNo対象ノードの ref_path 配列(例: ["#/actors/customer", "#/useCases/uc1/traffics/t1"])。省略時は全件(500 件まで)

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered; the description adds real behavioral context beyond that: login is required, at most one valid note per node, and orphaned notes (ref_path no longer present in the ADL) can appear after deletion or renaming. It does not discuss pagination or rate limits, but the added constraints are substantive.

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

Conciseness4/5

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

Front-loaded with the core action, then organized into labeled sections for purpose, the refs parameter, an edge-case caveat, and the output shape. Dense but each section carries information; no obvious filler, though it is on the longer side for a two-parameter read tool.

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 present, the description supplies the return shape ({ code, id, data: { notes: [...] } } with field names), the auth requirement, the item cap, and the orphan-note caveat. Nothing an agent needs to call or interpret the result is missing.

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

Parameters4/5

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

Schema coverage is 100%, so both id and refs are already documented, which sets the baseline at 3. The description goes further by explaining the refs omission semantics (all up to 500) and the meaning of orphaned ref_paths, adding interpretive value beyond the schema's own wording.

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: returns the project's humanNote (normative human-authored notes on ADL nodes), with the login requirement and the one-note-per-ref_path constraint front-loaded. An agent can distinguish it from the sibling mutation tools add_note and delete_note purely from the description.

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

Usage Guidelines4/5

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

Explicitly enumerates when to reach for it: checking before editing an existing project, referencing nodes that show human editing traces (_meta.d starting with "h:"), and answering questions about a specific node. It stops short of naming when not to use it or routing to a specific alternative sibling, so it is clear context but not full when/when-not guidance.

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

list_codes_metaList project filesA
Read-only
Inspect

既存プロジェクトの codes 配列のメタデータ一覧を返す(ファイル中身 data は含まない)。差分アップロードの判定に使う。 各エントリの sha256 は、data フィールド(文字列)を SHA-256 にかけた値。テキストファイルなら、ローカルの shasum -a 256 の結果と一致する。 sha256 が一致するファイルは変更なしで、不一致または一覧に無いファイルだけを request_upload_url / batch_request_upload_url → commit_uploaded_codes で送れば足りる。 入力: project_id。 出力: codes: [{code_id, isRoot, lang, fmt, size, sha256}]。

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes対象プロジェクトの id("d" で始まる内部ID。list_projects が返す id)

TDQS

A4.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful context beyond that: the exact sha256 derivation (SHA-256 of the data string, matching local `shasum -a 256`), which tells the agent how to interpret results and how to compare against local files. It does not describe pagination or return format limits, so a 3 is appropriate.

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

Conciseness5/5

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

Front-loads the purpose, then adds the sha256 semantics, the usage workflow, and the input/output shape in clearly separated lines. Every line carries distinct information; nothing is redundant filler.

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 present, the description supplies the return structure ('codes: [{code_id, isRoot, lang, fmt, size, sha256}]'), which is essential for the agent. Combined with the hashing semantics and the upload workflow, the agent has everything needed to call and use the result correctly.

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% and the single project_id parameter is already documented in the schema (including the 'd'-prefixed internal ID note). The description only restates 'input: project_id', adding no semantics beyond the schema. Baseline 3 is correct when the schema does the work.

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 ('returns metadata list of the codes array of an existing project') and explicitly scopes out what it does NOT return ('file content data is not included'). This distinguishes it cleanly from get_content, which fetches file content, without the agent needing to open either 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 an explicit when-to-use case (differential upload decision) and names the downstream alternative path: files whose sha256 mismatches or is absent should be sent via request_upload_url / batch_request_upload_url → commit_uploaded_codes. Both the condition and the alternative tools are stated, not inferred.

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

list_projectsList projectsA
Read-only
Inspect

ユーザが閲覧権限を持つプロジェクト(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。

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo0 起点のページ番号 (default 0)。default の itemperpage=24 件単位でページング。
rangeNo取得スコープのフィルタ。"related" (省略時の既定) = 自分が role を持つ構成図 + 自分の組織の構成図。誰でも見える公開構成図(公式サンプル)は足さない。"" = related に加えて公開構成図も含める(サンプルは list_samples を使うこと)。"bookmark" = bookmark 済のみ。"private" = type=private のみ。"privateBookmark" = type=private かつ bookmark 済。
itemperpageNo1 ページあたりの件数 (default 24、最大 100)。
workspace_idNo特定の組織(ワークスペース)に絞り込む。auth_check が返す organizations[].workspace_id をそのまま渡す。複数組織に所属するユーザでも、指定した 1 組織が所有する案件のみが返るため、組織を跨いだ取りこぼし・混入を防げる。省略時は全所属組織の構成図が混在する。

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds real value beyond that: login requirement, plain-text output with total/totalPages, and page-size default/max. It stops short of describing rate limits or failure modes.

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

Conciseness4/5

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

Front-loaded with purpose and usefully sectioned (用途/ページング/サンプル/入力/出力). Some content (paging defaults, range/sample relationship) duplicates the schema, which slightly inflates the length.

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 compensates by specifying the return format (id+title plain text, trailing total/totalPages). Inputs, paging, filtering, and sibling relationships are all covered, leaving nothing an agent needs to call it correctly.

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%, and the schema itself already documents range values, workspace_id source (auth_check), and paging defaults. The description restates paging and the omitted-range default, adding only marginal meaning beyond the schema, so the baseline 3 applies.

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?

Uses a specific verb+resource ("ユーザが閲覧権限を持つプロジェクト/ADL構成図の一覧を返す") and disambiguates from siblings by stating that official samples come from list_samples, not here. An agent can distinguish this from get_content and list_samples without opening either 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?

Explicitly states when to use it ("作業対象のプロジェクトの特定", as the starting point before get_content) and names the alternative for samples (list_samples). The range semantics also document what is included/excluded by default.

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

list_samplesList sample projectsA
Read-only
Inspect

【認証不要】匿名(未ログイン)でも使える。公式サンプルワークスペースの公開構成図の一覧を返す(ログイン時も公式サンプルワークスペースに固定)。 用途: 新しい設計の参考事例、サンプルを土台にした作成。 list_projects との違い: list_projects は自分が閲覧権限を持つプロジェクト(サンプルを含まない)、本ツールは公式サンプルだけ。 ページング: 既定は page=0 / itemperpage=24。 入力: page, itemperpage(すべて省略可)。 出力: 公開プロジェクトの id とタイトルの一覧。末尾に total / totalPages。

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo0 起点のページ番号 (default 0)。default の itemperpage=24 件単位でページング。
itemperpageNo1 ページあたりの件数 (default 24、最大 100)。

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint/destructiveHint=false, but the description adds valuable context beyond them: no authentication required, usable anonymously, and the result set is pinned to official samples even when logged in. It does not cover rate limits or error behavior, but the added auth/scope semantics are meaningful.

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

Conciseness4/5

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

Labeled sections (用途 / list_projects との違い / ページング / 入力 / 出力) are front-loaded and each line carries distinct information. Slightly repetitive since paging defaults appear in both the paging and input lines, but overall efficient.

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?

For a simple read-only list tool with no output schema, the description covers auth requirements, scope, alternative routing, paging, inputs, and the return shape (ids + titles with total/totalPages). Nothing an agent needs to call it correctly is missing.

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% and both parameters are fully documented there (defaults, max 100). The description restates the paging defaults (page=0, itemperpage=24) but adds no syntax or meaning beyond the schema, so baseline 3 applies.

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 ('returns a list of public structure diagrams of official sample workspaces') and explicitly names the sibling it is not (list_projects). An agent can distinguish it from list_projects without opening either 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?

Explicitly states when to use it ('reference examples for new designs, building on samples') and draws the exact boundary against list_projects ('list_projects = projects you have permission to view, not including samples; this tool = official samples only'). Nothing is left to inference.

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

request_upload_urlRequest upload URLAInspect

プロビジョニングファイル 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 <ローカルパス> ''。ファイル中身はディスクから 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。

ParametersJSON Schema
NameRequiredDescriptionDefault
fmtYesファイル形式 (json / yaml / hcl の 3 値のみ。.tf/.tfvars/.hcl→hcl、.yml→yaml)。
langYesカテゴリ。acf=CFn / tfm=Terraform / slf=Serverless / arm=ARM / gdm=GDM / cim=CIM / aro=ROS / oth=その他。【最頻出ミス】拡張子と取り違えるな。yaml/json は fmt フィールドに入れる
code_idYesプロビジョニングファイルのファイル名 (例 "main.tf" / "serverless.yml" / "template.yaml")。S3 のキーに直接使うので [A-Za-z0-9._-] のみ・最大 200 文字。
project_idNo既存プロジェクトに追記する場合のみ指定。新規作成では未指定で呼び出すと、サーバが project_id を採番して返す。同じセッションの 2 回目以降は返ってきた project_id を渡す。

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only declare it is a non-read-only, non-idempotent, non-destructive call. The description adds real behavioral facts: 10-minute URL expiry, HTTP PUT semantics, 403 when targeting another user's project_id, per-user×project_id staging, and last-write-wins when the same code_id is re-issued.

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

Conciseness4/5

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

Purpose and the multi-file alternative are front-loaded, and the curl invocation example is directly actionable. It is dense and long, but nearly every sentence carries distinct operational information, so little is wasted.

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?

Covers the full lifecycle – auth requirement, URL issuance, upload mechanics, expiry, project_id handling, and the commit path – and even enumerates the return fields despite no output schema. Nothing an agent needs to call it correctly is missing.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3, but the description adds meaning beyond the schema: omitting project_id makes the server allocate a new one, later calls in a session should reuse the returned project_id, and re-issuing the same code_id overwrites at commit time. The required/optional inputs and outputs are also restated usefully.

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: issuing a presigned PUT URL to S3 for one provisioning file, with the login prerequisite noted. It explicitly distinguishes itself from the sibling batch_request_upload_url for multi-file cases, so an agent can route without opening the 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?

Names alternatives and their selecting conditions: batch_request_upload_url for N files, create_content/save_content for clients that cannot run a shell, and commit_uploaded_codes as the downstream step. It also notes is_root:true in commit_uploaded_codes for the ADL root case.

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

save_contentUpdate projectA
DestructiveIdempotent
Inspect

既存の 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。

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes既存プロジェクトの id("d" で始まる内部ID。list_projects / create_content が返す id)
codesYes【必須形状】配列の中に必ず 1 件 id="adlRoot" isRoot=true lang="adl" のエントリを含める。adlRoot.data は ADL 構造を JSON.stringify した文字列。
notesNoAIが生成した変更サマリー。**配列**であること(文字列を渡すと引数エラーで拒否される)。例: [{ at: 1717200000, content: "S3バケット resource_storage を追加" }]。ここに入れた内容だけが構成図の「履歴」タブに変更サマリーとして残る(他に書き込む経路は無い)。
overviewYes更新後のメタ情報。titles/descriptions(複数形・locale-keyed map)、security(取扱情報種別: "publicHandling"|"confidentialHandling"|"privacyHandling")等を含む。type(公開設定)は private 固定。version は送っても無視される(サーバが採番する)。
allow_code_deletionNofull-replace で未指定の既存コードを削除することを明示的に許可する。通常は不要(既存プロビジョニングを保持するには全 codes を送る)。

TDQS

A4.8/5.0
Behavior5/5

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

Annotations declare destructiveHint=true; the description explains the destruction concretely — unspecified existing files are deleted under full-replace, deletion requires allow_code_deletion, and unchanged files must be resent. It also discloses non-annotation behavior: server-side version increment, auto status logic, and secret masking returning a list of redacted locations.

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

Conciseness4/5

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

Front-loads the core action, auth, and sibling routing in the first sentence, then the destructive full-replace rule. Dense but every clause carries operational weight; a briefer invocation-side summary at top would help skimming.

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?

For a destructive, auth-gated mutation with no output schema, this covers auth, replacement semantics, required shape of codes/notes, server-controlled fields, masking behavior, and points to a guide for edge cases. Nothing material is omitted.

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

Parameters4/5

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

Schema coverage is 100% so baseline is 3, but the description adds cross-field meaning: codes shape matches create_content with one adlRoot entry, notes must be an array of {at,content}, and info.version/status in overview are server-controlled and ignored if sent. Slightly over-generous is avoided; these are genuine semantic additions beyond the schema strings.

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 (updates ADL and attachments of an existing IceShore project) and explicitly distinguishes itself from create_content for new creation and from commit_uploaded_codes for partial merges. An agent can route correctly without opening schemas.

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?

Explicitly says when not to use it (create_content handles new), names the merge alternative (commit_uploaded_codes), and states the auth requirement plus required role (owner / admin / editor). Full-replace semantics vs partial merge is spelled out.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 15 tool updates
    • First observedadd_note
    • First observedauth_check
    • First observedbatch_request_upload_url
    • First observedcommit_uploaded_codes
    • First observedcreate_content
    • First observeddelete_code
    • First observeddelete_note
    • First observedget_content
    • First observedget_guide
    • First observedget_notes
    • First observedlist_codes_meta
    • First observedlist_projects
    • First observedlist_samples
    • First observedrequest_upload_url
    • First observedsave_content

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Automatically generates and manages a prompts system for software projects, enabling persistent context for AI coding assistants through project scanning, requirement clarification, and module tracking.
    8
    18 npm
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Auto-captures decision context from multi-agent workflows to preserve the 'why' behind every choice. Enables task traceability, reasoning retrieval, and continuous improvement across planning and implementation sessions.
    17
    13 npm
    6
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Generate deployment-ready AI agent system prompts for professionals in one click. 251 curated archetypes across 41 industries — from FX risk management to clinical documentation to OSINT intelligence.
    3
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources