atx-mcp
OCI · GHCR.IO/GRIDHRA/ATX-MCP · 2 COMPONENTS
Deterministic, non-generative image transform MCP server: reproducible recipes, immutable originals.
Available components
Last scanned (10 hours ago)
Scores higher than 74% of OCI servers
Category Design and Media
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security0
- No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.Unverified
- Known CVEs could not be checked: this artifact ships no SBOM or dependency manifest, so there is no dependency list to read.Unverified
- Install-script risk not yet assessed.Unverified
- Dependency health could not be checked: this artifact ships no SBOM or dependency manifest, so there is no dependency list to read.Unverified
Provenance & Transparency48
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 9 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability60
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 5947 tokens (~457/item across 13 items; 13 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management73
- Stability observed for 22 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 13 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 14 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
Unverified: 1 category
A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
Checks we ran (12)
- Source repository
- Provenance
- License
- Maintenance
- Security disclosure
- Schema quality
- Stability
- Tool coverage
- Injection markers
- Destructive annotations
- Judged manipulation
- MCP protocol
Checks we could not complete (4)
These are gaps on our side, not findings about this package. We only credit what we can confirm, so a category made up entirely of them scores 0.
- Malware scan in Supply Chain Security (scores 0 for this)No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.
- Known CVEs in Supply Chain Security (scores 0 for this)Known CVEs could not be checked: this artifact ships no SBOM or dependency manifest, so there is no dependency list to read.
- Install scripts in Supply Chain Security (scores 0 for this)Install-script risk not yet assessed.
- Dependency health in Supply Chain Security (scores 0 for this)Dependency health could not be checked: this artifact ships no SBOM or dependency manifest, so there is no dependency list to read.
Does not apply to this package (2)
- Endpoint SecurityScored on hosted endpoints only. A package has no live endpoint of its own for us to probe.
- Transport & ReachabilityScored on hosted endpoints only. A package has no live endpoint of its own for us to probe.
The score does not measure everything. What the score does not measure →
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 −3
- Stability: pass → 0.73 functional
- 29 Oct 26 0
- Stability: 0.97 → pass security
- 28 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 26 Oct 26 0
- Package version: 0.6.5 → 0.6.7 functional
- 25 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 23 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 77 to 80. That category is still filling its 30-day observation window: 23 days of observed history at the previous scan, 24 at this one. The score rises as the window fills, whether or not the server changes.
- 21 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 70 to 73. That category is still filling its 30-day observation window: 21 days of observed history at the previous scan, 22 at this one. The score rises as the window fills, whether or not the server changes.
- 19 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 63 to 67. That category is still filling its 30-day observation window: 19 days of observed history at the previous scan, 20 at this one. The score rises as the window fills, whether or not the server changes.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Analysed oci/ghcr.io/gridhra/atx-mcp@0.6.7
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | oci |
| Reason | No attestation published |
Background: How many MCP packages publish verified provenance →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
apply_transform ~388
Apply a transform recipe at full resolution and issue a new revision. Pass either `recipe` ({"operations": [...]}, applied in order, at most one "encode" and it must be last) or `preset` (a built-in named recipe) - exactly one of the two - and either `revision_id` (one image) or `revision_ids` (the same recipe over a batch of up to 64; one failure does not abort the rest). Call list_operations for the operation catalog and the preset names, explain_operation for one operation's full schema. Idempotent: the same (revision_id, resolved recipe) returns the existing derived revision; a preset hashes identically to the equivalent raw recipe. Note: if the recipe's encode format is png, webp, or avif, any ICC color profile on the source is dropped (embedding is only supported for jpeg output); this is reported as a warning, not an error.
| Name | Type | Req | Description |
|---|---|---|---|
| preset | string|null | – | ビルトインプリセット名(`list_operations` の presets セクション参照)。 指定するとそのプリセットのレシピが使われる。`recipe` とは排他。 |
| recipe | object|null | – | 変換レシピ。`{"operations": [...]}`。`preset` とはどちらか一方のみ指定する。 |
| revision_id | string|null | – | 入力 revision ID("rev_...")。`revision_ids` とは排他で、どちらか一方が必須。 |
| revision_ids | array|null | – | 同じレシピを複数 revision に適用する(1..=64 件)。`revision_id` とは排他。 1件が失敗してもバッチは中断せず、その要素に error が入る。 |
Structured output declared, but exposes no named fields.
No examples provided.
compare_revisions ~328
Scale two revisions to a long edge of 640px each and compose them on one canvas (side by side, or stacked) with an 8px gap, returned inline as a JPEG. A is placed left/top, B is placed right/bottom. Useful for before/after or A/B visual checks. layout="diff" instead requires A and B to share the exact same dimensions and returns a single pixel-difference heatmap plus mean_abs_diff/max_abs_diff/changed_pixel_ratio and an `ssim` score (structural similarity, 1.0 = identical). Every layout also reports `perceptual_hash_distance`: the Hamming distance between the two dHash values (0..=64), where 5 or less usually means the same picture re-encoded or resized and 20 or more means two different pictures.
| Name | Type | Req | Description |
|---|---|---|---|
| layout | – | – | `"side_by_side"`(既定、水平に並べる)| `"stacked"`(垂直に並べる)| `"diff"`(並べる代わりに1枚の差分ヒートマップを作る。A/B の寸法が完全一致している必要がある)。 |
| revision_id_a | string | yes | 比較対象 A の revision ID("rev_...")。合成画像の左(または上)に置かれる。 |
| revision_id_b | string | yes | 比較対象 B の revision ID("rev_...")。合成画像の右(または下)に置かれる。 |
| Name | Type | Req | Description |
|---|---|---|---|
| a | – | yes | – |
| a_position | string | yes | A が合成画像のどこに置かれるか("left" | "top")。 |
| b | – | yes | – |
| b_position | string | yes | B が合成画像のどこに置かれるか("right" | "bottom")。 |
| byte_size | integer | yes | – |
| changed_pixel_ratio | number|null | – | `layout: "diff"` のときだけ載る: d > 2 の画素が全体に占める割合(0.0..=1.0)。 |
| height | integer | yes | – |
| layout | string | yes | – |
| max_abs_diff | integer|null | – | `layout: "diff"` のときだけ載る: 画素ごとのチャンネル最大絶対差 d の、全画素中の最大値。 |
| mean_abs_diff | number|null | – | `layout: "diff"` のときだけ載る: 全チャンネル・全画素平均の絶対差(0..255 スケール)。 |
| mime_type | string | yes | – |
| perceptual_hash_distance | integer|null | – | Hamming distance (0..=64) between the two revisions' perceptual hashes (dHash), on every layout. 0 means the thumbnails are identical; 5 or less usually means the same picture re-encoded or resized;… |
| preview_path | string | yes | 比較プレビュー画像の絶対パス。 |
| ssim | number|null | – | Structural similarity (SSIM, 0..=1) over the two images' luma. Present only with `layout: "diff"` and equal dimensions. 1.0 is pixel-identical; above ~0.98 the difference is usually invisible; below… |
| width | integer | yes | 合成画像(比較プレビュー)の寸法・容量。 |
No examples provided.
detect_document ~260
Detect the dominant quadrilateral (a sheet of paper, a screen, a whiteboard, a sign) in a revision with a contour-based search, and return it as a ready-to-paste perspective operation. This is to `perspective` what detect_tilt is to `rotate`: read-only, it never modifies the image, and a null quad means "do not correct". The quad is in post-EXIF-orientation pixel coordinates, ordered tl, tr, br, bl, and `output_size_hint` is exactly the size `perspective` will produce from it. Optional `min_area_ratio` (0.05..=1.0, default 0.2) is the smallest fraction of the frame a candidate may cover. When quad is null the reason is the first warning: no_quad_found, already_rectified (the page already fills the frame) or low_confidence.
| Name | Type | Req | Description |
|---|---|---|---|
| min_area_ratio | number|null | – | 画像面積に対する候補四角形の最小面積比(0.05..=1.0)。省略時は 0.2。 |
| revision_id | string | yes | 対象 revision ID("rev_...")。 |
| Name | Type | Req | Description |
|---|---|---|---|
| detection | – | yes | 検出結果。`quad` が null なら「補正しない」で、理由は `warnings` の先頭に入る。 |
| revision_id | string | yes | – |
No examples provided.
detect_text_blocks ~432
Find the text-like blocks (headline, paragraphs, table, caption) of a revision with a binarize + run-length smearing + connected-components pass, and report whether the text will survive a preview downscale. Read-only: it never modifies the image. Blocks come back in reading order (top to bottom, then left to right) in post-EXIF-orientation pixel coordinates, each with its line_count, median_line_height_px and ink_ratio. `legibility.line_height_at_1568_px` is the median line height once the whole image is shrunk to long edge 1568 (below ~16 the text is usually unreadable), and `legibility.recommended_bands` splits the image into crops that clear that bar - each entry is already a `crop` operation, so paste one into a recipe before render_preview `long_edge: 1568` and read them in order. `legibility.strategy` says how it split: "whole" (no split needed), "bands" (full-width horizontal bands) or "blocks" (per-block crops, used when the image is too wide for full-width bands to help). Optional `max_blocks` (1..=128, default 32) and `min_block_area_ratio` (0.0..=1.0, default 0.00005) bound how many and how small the blocks may be. No block found means the image has no text-like structure, not an error.
| Name | Type | Req | Description |
|---|---|---|---|
| max_blocks | integer|null | – | 返すブロック数の上限(1..=128)。省略時は 32。 |
| min_block_area_ratio | number|null | – | 作業画像面積に対する 1 ブロックの最小面積比(0.0..=1.0)。 これ未満の成分はノイズとして捨てる。省略時は 0.00005。 |
| revision_id | string | yes | 対象 revision ID("rev_...")。 |
| Name | Type | Req | Description |
|---|---|---|---|
| detection | – | yes | 検出結果。ブロックが無ければ `blocks` は空で `warnings` に理由が入る。 |
| revision_id | string | yes | – |
No examples provided.
detect_tilt ~243
Detect the tilt (roll) of a revision: Canny + Hough dominant lines for coarse candidates, refined below 0.1 degree with an edge projection-profile search. Horizontal-only and vertical-only estimates are reported separately so a disagreement can be read as perspective/camera position rather than roll, Set include_score_curve=true to also get the whole search range as a score curve (omitted by default to keep the answer small). Read-only: it never modifies the image. A null recommended angle means "do not correct".
| Name | Type | Req | Description |
|---|---|---|---|
| include_score_curve | boolean | – | 探索範囲全体のスコア曲線(最大 300 点)を結果に含めるか。既定 false。 ピークの鋭さ・多峰性を自分で読みたいときだけ true にする(既定では省かれる)。 |
| max_abs_angle | number|null | – | 探索する最大傾き角(度、0.5..=45)。省略時は 15。 |
| revision_id | string | yes | 対象 revision ID("rev_...")。 |
| Name | Type | Req | Description |
|---|---|---|---|
| detection | – | yes | 検出結果。`score_curve` は `include_score_curve: true` のときだけ載る。 |
| revision_id | string | yes | – |
No examples provided.
explain_operation ~120
Full reference for one recipe operation: every parameter with its type, range, required/default status and semantics, one or two ready-to-paste JSON examples, and the gotchas worth knowing before using it. A built-in preset name works too and returns its full operation list, so a preset can be read and copied as a raw recipe. An unknown name returns a structured error listing every valid operation and preset. Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| operation | string | yes | 説明したい op 名(`{"op": "..."}` に書く名前)。 |
Structured output declared, but exposes no named fields.
No examples provided.
export_asset ~459
Copy revisions' bytes out of the workspace. Pass either `revision_id` + `dest_path` (one file) or `revision_ids` + `dest_dir` (a batch of up to 64 into one existing directory; one failure does not abort the rest) - exactly one of the two forms. For a batch, `filename_template` (default "{revision_id}.{ext}") builds each file name from {revision_id} / {index} (1-based, zero-padded) / {ext} (from the MIME type) / {stem} (the file name the lineage was imported from); it must be a plain file name, and if two entries would collide nothing is written. Refuses to overwrite an existing file unless overwrite=true (ask the user first), and never writes inside the workspace store or through a symbolic link.
| Name | Type | Req | Description |
|---|---|---|---|
| dest_dir | string|null | – | 書き出し先ディレクトリ(ワークスペース外、既存のディレクトリ)。 `revision_ids`(複数)専用。 |
| dest_path | string|null | – | 書き出し先パス(ワークスペース外)。`revision_id`(単数)専用。 |
| filename_template | string|null | – | `dest_dir` 内のファイル名の組み立て方。既定 `"{revision_id}.{ext}"`。 `revision_ids`(複数)専用。 |
| overwrite | boolean | – | 既存ファイルを上書きしてよいか。既定 false(既存なら失敗する)。 |
| revision_id | string|null | – | 書き出す revision ID("rev_...")。`revision_ids` とは排他で、どちらか一方が必須。 |
| revision_ids | array|null | – | 複数 revision を1回で書き出す(1..=64 件)。`revision_id` とは排他。 このときは `dest_path` ではなく `dest_dir` を渡す。 1件が失敗してもバッチは中断せず、`failed` に理由が入る。 |
Structured output declared, but exposes no named fields.
No examples provided.
generate_mask ~769
Generate a deterministic grayscale mask as a new PNG revision, with exactly the dimensions of `reference_revision_id`. `kind` is "linear_gradient" (angle_degrees, start, end), "radial_gradient" (center_x, center_y, radius, feather), "luminosity_range" (min, max, feather) or "color_range" (hue_center, hue_width, feather); the gradients use only the reference's dimensions, the other two compute weights from its pixels. White = the masked operation applies fully, black = not at all. Reference the returned revision_id from any tone/filter operation as "mask": {"revision_id": "rev_...", "invert": false, "feather_px": 0}, or visualise it with render_preview overlay="mask". Idempotent: the same params over the same reference produce byte-identical PNG bytes and return the existing revision.
| Name | Type | Req | Description |
|---|---|---|---|
| angle_degrees | number|null | – | linear_gradient: グラデーション軸の角度(度)。0 = 上が白で下へ向かって黒、 90 = 左が白で右へ向かって黒(正の角度で時計回り)。既定 0。 |
| center_x | number|null | – | radial_gradient: 中心の X(画像幅に対する相対値 0..1)。既定 0.5。 |
| center_y | number|null | – | radial_gradient: 中心の Y(画像高に対する相対値 0..1)。既定 0.5。 |
| end | number|null | – | linear_gradient: 軸上で重みが 0.0 に達する位置(0..1、`start` 以上)。既定 1.0。 |
| feather | number|null | – | 減衰帯の幅。radial_gradient では対角線の半分に対する比(0..1、既定 0.25)、 luminosity_range では輝度単位(0..255、既定 16)、 color_range では色相の度数(0..180、既定 15)。linear_gradient では使わない (`start`/`end` の間隔がフェザそのもの)。 |
| hue_center | number|null | – | color_range: 中心色相(度、0..360)。必須。 |
| hue_width | number|null | – | color_range: 中心からの**片側**幅(度、1..180)。既定 30。 |
| kind | string | yes | `"linear_gradient"` | `"radial_gradient"` | `"luminosity_range"` | `"color_range"`。 |
| max | integer|null | – | luminosity_range: 完全に選択される輝度域の上限(0..255、`min` 以上)。既定 255。 |
| min | integer|null | – | luminosity_range: 完全に選択される輝度域の下限(0..255)。既定 0。 |
| radius | number|null | – | radial_gradient: 重みが 1.0 の内円の半径(対角線の半分に対する比 0..1)。既定 0.5。 |
| reference_revision_id | string | yes | 寸法(と、輝度/色域マスクでは画素)の供給元になる画像 revision ID。 |
| start | number|null | – | linear_gradient: 軸上で重みが 1.0 のままでいる終端位置(0..1)。既定 0.0。 |
| Name | Type | Req | Description |
|---|---|---|---|
| generator | string | yes | 既定値まで解決したパラメータの正規化 JSON(origin の generator と同一文字列)。 |
| height | integer | yes | – |
| kind | string | yes | 生成した種別(`linear_gradient` 等)。 |
| mean_weight | number | yes | マスクの平均重み(0..1)。1 に近いほど広く、0 に近いほど狭い被覆。 |
| next | string | yes | 次の一手(op への参照の仕方)。 |
| reference_revision_id | string | yes | 参照した画像 revision(寸法・画素の供給元)。 |
| reused | boolean | yes | 同じマスクが既に生成済みで既存 revision を返した場合 true(冪等ヒット)。 |
| revision | – | yes | – |
| width | integer | yes | – |
No examples provided.
import_asset ~231
Import a local image file into the workspace and issue an immutable revision. Pass either `path` (one file) or `paths` (a batch of up to 64; one bad file does not abort the batch, it lands in `failed`) - exactly one of the two. Idempotent: importing the same bytes again returns the existing revision. If the imported bytes are already the output of a recipe held in this workspace, the result carries a warning plus `already_derived_from` so the same recipe is not applied twice.
| Name | Type | Req | Description |
|---|---|---|---|
| path | string|null | – | 取り込むローカルファイルの絶対パス(または cwd からの相対パス)。 `paths` とは排他で、どちらか一方が必須。 |
| paths | array|null | – | 複数ファイルを1回で取り込む(1..=64 件)。`path` とは排他。 1件が失敗してもバッチは中断せず、`failed` に理由が入る。 |
Structured output declared, but exposes no named fields.
No examples provided.
inspect_image ~277
Inspect a revision: dimensions, MIME type, byte size, alpha/ICC presence, EXIF orientation and summary, whether GPS (PII) metadata is present, luma statistics, a `sharpness` score (variance of the Laplacian - relative, so compare it against a known-good capture rather than an absolute; for documents below ~30 usually means motion blur or defocus) and a `perceptual_hash` (dHash, 16 hex digits) for telling "is this the same picture?" without comparing pixels. Set include_exif=true to also get every EXIF field as {ifd, tag, value} entries; it is off by default because the full dump can carry GPS coordinates and names.
| Name | Type | Req | Description |
|---|---|---|---|
| include_exif | boolean | – | EXIF 全フィールドを `info.exif` に載せるか。既定 false。 既定で落としているのはプライバシーのため: 全量には GPS 座標や 個人名が入りうるので、明示的に要求されたときだけ返す (`exif_summary` と `has_gps` は従来どおり常に載る)。 |
| revision_id | string | yes | 対象 revision ID("rev_...")。 |
| Name | Type | Req | Description |
|---|---|---|---|
| info | – | yes | – |
| path | string | yes | – |
| revision_id | string | yes | – |
No examples provided.
list_assets ~54
List revisions in the workspace ledger (lineage, recipe hash, dimensions, sizes).
| Name | Type | Req | Description |
|---|---|---|---|
| asset_id | string|null | – | 指定した asset_id の revision だけに絞る。省略時は全件。 |
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer | yes | – |
| revisions | array | yes | – |
No examples provided.
list_operations ~119
Compact catalog of the recipe vocabulary: every operation with a one-line description and its parameter names with terse type/range hints, plus the built-in preset names. Optional `category` ("geometry" | "color" | "filter" | "output") narrows the list. Call explain_operation for the full schema of one operation. Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string|null | – | 絞り込む分類(`"geometry"` | `"color"` | `"filter"` | `"output"`)。省略時は全件。 |
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer | yes | – |
| ops | array | yes | op の名前と分類だけ。要約・パラメータはテキスト側 / `explain_operation` 側。 |
| presets | array | yes | ビルトインプリセット名(`apply_transform` / `render_preview` の `preset` に渡せる)。 説明はテキストサマリ側にだけ載せる。 |
No examples provided.
render_preview ~555
Render a recipe as a small JPEG preview (long edge <= 768 by default) and return it inline plus a file path, so the composition can be checked before committing to apply_transform. Takes either `recipe` or `preset`, exactly like apply_transform - or NEITHER, which previews the revision as it is (use this with overlay="grid" to read crop coordinates off an image before writing a recipe). Optional `long_edge` (256..=1568) sets the preview size: raise it to 1568 when the point of the preview is to READ text in the image; 768 is too small for that. Optional `overlay` ("grid" | "thirds" | "horizon") draws semi-transparent composition guide lines on the returned preview only (never on the apply_transform output). overlay="mask" instead visualises a mask: pass `mask_revision_id` (required for this overlay and rejected for the others) and the preview is tinted red where the mask weight exceeds 0.5 and dimmed elsewhere, so the coverage can be eyeballed. Note: if the recipe's encode format is png, webp, or avif, any ICC color profile on the source is dropped (embedding is only supported for jpeg output); this is reported as a warning, not an error.
| Name | Type | Req | Description |
|---|---|---|---|
| long_edge | integer|null | – | プレビューの長辺(256..=1568)。省略時は 768。 文字を読む用途では 1568 まで上げる(DESIGN.md §9.12)。 |
| mask_revision_id | string|null | – | `overlay: "mask"` で可視化するマスク画像 revision ID。 `overlay` が `"mask"` のときのみ指定でき、そのときは必須。 |
| overlay | string|null | – | 構図確認用のガイド線。`"grid"`(1/8 刻みの格子)| `"thirds"`(三分割法)| `"horizon"`(1/12 刻みの水平線のみ、傾き目視用)| `"mask"`(マスクの被覆可視化。 `mask_revision_id` が必須)。省略時はオーバレイなし。 |
| preset | string|null | – | ビルトインプリセット名。`recipe` とは排他。 |
| recipe | object|null | – | 変換レシピ。`{"operations": [...]}`。`preset` とはどちらか一方のみ指定する。 |
| revision_id | string | yes | 入力 revision ID("rev_...")。 |
| Name | Type | Req | Description |
|---|---|---|---|
| byte_size | integer | yes | – |
| engine_version | string | yes | – |
| estimated_vision_tokens | integer | yes | Rough token cost of reading this preview inline: a rule of thumb for Anthropic vision models (pixels / 750, rounded up); other hosts differ. Use it to decide whether a larger `long_edge` (or reading… |
| height | integer | yes | – |
| mask_revision_id | string|null | – | `overlay: "mask"` で可視化したマスクの revision ID。それ以外では null。 |
| mime_type | string | yes | – |
| overlay | string|null | – | 適用した overlay。未指定なら null。 |
| preview_path | string | yes | プレビュー画像の絶対パス。 |
| recipe_hash | string | yes | – |
| source_revision_id | string | yes | – |
| warnings | array | yes | – |
| width | integer | yes | – |
No examples provided.
How do I install the atx-mcp server?
atx-mcp runs locally as a container image, launched with docker run --rm -i ghcr.io/gridhra/atx-mcp:0.6.7, plus the required -v, which you supply. Ready-made configuration for Claude, Cursor, VS Code, Codex and 3 more is on this page, copied from each client's own documentation.
oci · ghcr.io/gridhra/atx-mcp
claude mcp add gridhra-atx-mcp -- docker run --rm -i ghcr.io/gridhra/atx-mcp:0.6.7
Incomplete: the registry marks -v as required and gives no value we can show, so it is not in this command. Add it before you run it.
What is the atx-mcp server?
atx-mcp is listed in the public MCP registry as io.github.gridhra/atx-mcp. Deterministic, non-generative image transform MCP server: reproducible recipes, immutable originals. This page covers its container image (ghcr.io/gridhra/atx-mcp).
Is the atx-mcp server safe to use?
atx-mcp scores 49 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the atx-mcp server expose?
atx-mcp exposes 13 tools: apply_transform, compare_revisions, detect_document, detect_text_blocks, detect_tilt, and 8 more. Their descriptions and schemas cost roughly 4,235 tokens of context every time the server is loaded.
Is the atx-mcp server still maintained?
atx-mcp is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the atx-mcp server under?
atx-mcp declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.
What did VerifyMCP test on the atx-mcp server?
VerifyMCP ran 12 checks on atx-mcp, covering Source repository, Provenance, License, Maintenance and 8 more. 4 items could not be completed, a gap on our side rather than a finding about atx-mcp: Malware scan, Known CVEs, Install scripts and Dependency health. One category scores 0 for that reason, because we only credit what we can confirm. Endpoint Security and Transport & Reachability do not apply to a container image, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.