Skip to content
Squatch MCP

Image Resize & Convert Tools (Tanod)

dev.tanod/images

by dev.tanodยท v0.1.2Source: Official MCP Registry

MCP Bill of Materials

A machine-readable inventory of what this server exposes and depends on: tools with their effects, transports, packages, findings and provenance (schema version 1.0). Third-party text in it is escaped. Also available from the REST API at /api/v1/servers/464b7afe-b8db-45d5-9a58-ca8522d69b12/mcbom.

MCP Bill of Materials

root{21}
schema_version: "1.0"
bom_format: "squatch-mcbom"
generator{3}
name: "squatch-mcp"
classifier_version: "rules_v1@2026-10-11.1"
unicode_version: "18.0.0"
server{7}
name: "dev.tanod/images"
title: "Image Resize & Convert Tools (Tanod)"
description: "Edit images in one call: resize, convert, compress, crop, metadata, favicons, QR codes, OCR."
version: "0.1.2"
homepage_url: "https://tanod.dev"
source: "official_registry"
upstream_status: "active"
publisher{4}
namespace: "dev.tanod"
display_name: "dev.tanod"
type: "registry_namespace"
status: "unclaimed"
organization: null
repository{5}
url: "https://github.com/tanod-labs/tanod-mcp"
provider: "github"
owner: "tanod-labs"
name: "tanod-mcp"
verified: false
packages[0]
transports[1]
0{5}
kind: "remote"
type: "streamable-http"
endpoint_url: "https://tanod.dev/mcp/images"
endpoint_host: "tanod.dev"
auth_type: "none"
auth{3}
type: "none"
authorization_servers[0]
scopes[0]
protocol{4}
era: "modern"
negotiated_version: "2026-07-28"
supported_versions[0]
transport_type: "streamable-http"
tools[24]
0{9}
name: "convert_color_check_contrast"
title: "utilpeek: convert a color and check WCAG contrast"
effect: "READ"
effect_confidence: 0.762
capabilities[0]
risk_severity: "INFO"
fingerprint: "434c1f106b53ba814a5bc9e5c25a34a96d436974af813cb65467dbc83bc16780"
input_schema_fingerprint: "d2c15ab7e7c39f38706832b353adf30ef38b2e9a11ee910e68e59f7eb36c37ad"
annotations{5}
title: "utilpeek: convert a color and check WCAG contrast"
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
1{9}
name: "extract_pdf_images"
title: "pdfpeek: extract embedded raster images"
effect: "READ"
effect_confidence: 0.747
capabilities[2]
0{2}
capability: "EXTERNAL_COMMUNICATION"
confidence: 0.783
1{2}
capability: "FILE_ACCESS"
confidence: 0.592
risk_severity: "INFO"
fingerprint: "caef11655442cd76a128ec166ebce0e6f91fea7dca2d646fa8b2a599e1312209"
input_schema_fingerprint: "d0534455ce08e71c03af02c2f7385ad751fa8bfeeeae97af763c6cc2c77a3962"
annotations{5}
title: "pdfpeek: extract embedded raster images"
readOnlyHint: false
destructiveHint: false
idempotentHint: true
openWorldHint: true
2{9}
name: "image_blurhash"
title: "imagepeek: compute an image's BlurHash"
effect: "READ"
effect_confidence: 0.422
capabilities[1]
0{2}
capability: "EXTERNAL_COMMUNICATION"
confidence: 0.661
risk_severity: "INFO"
fingerprint: "2338d25c3a962b8a2757c5f5d93568897c09039500abc8188c3ce5f017596adf"
input_schema_fingerprint: "a61e9a29e693a5131a00ccfe0e7d0593ae224adb4f13841bd06a79b19a7fd5f4"
annotations{5}
title: "imagepeek: compute an image's BlurHash"
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: true
3{9}
name: "image_colors"
title: "imagepeek: extract an image's dominant colours"
effect: "READ"
effect_confidence: 0.422
capabilities[1]
0{2}
capability: "EXTERNAL_COMMUNICATION"
confidence: 0.661
risk_severity: "INFO"
fingerprint: "99af92e6038156620fa5361e87df9b30c83c408e46053ebbf1f742b2d80525ac"
input_schema_fingerprint: "47a358572384a2a7c21f63d8ce35e2bb964050fc9980817f54daf88c35c49ba5"
annotations{5}
title: "imagepeek: extract an image's dominant colours"
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: true
4{9}
name: "image_compress"
title: "imagepeek: compress an image (optionally to a byte budget)"
effect: "UNKNOWN"
effect_confidence: 0.15
capabilities[1]
0{2}
capability: "EXTERNAL_COMMUNICATION"
confidence: 0.804
risk_severity: "LOW"
fingerprint: "375ccd52488340976f96b01f32f1997ad414d69596841efe12df17c4ce46a280"
input_schema_fingerprint: "cc35283037e81dd2dd6e49cf4864507899e7f3c343db1ea0f8a1066c17febdb0"
annotations{5}
title: "imagepeek: compress an image (optionally to a byte budget)"
readOnlyHint: false
destructiveHint: false
idempotentHint: true
openWorldHint: true
5{9}
name: "image_convert"
title: "imagepeek: convert an image to another format"
effect: "READ"
effect_confidence: 0.405
capabilities[1]
0{2}
capability: "EXTERNAL_COMMUNICATION"
confidence: 0.833
risk_severity: "INFO"
fingerprint: "2ef3b0720d863ccf49ddf2cce08ee9408fe0151826c36aed3a7cf1b5c6717d8b"
input_schema_fingerprint: "ff8577dc99db8617cab4c79517b1db3720bfcf0ae05335a25235aad308bec72e"
annotations{5}
title: "imagepeek: convert an image to another format"
readOnlyHint: false
destructiveHint: false
idempotentHint: true
openWorldHint: true
6{9}
name: "image_crop"
title: "imagepeek: crop an image"
effect: "UNKNOWN"
effect_confidence: 0.15
capabilities[1]
0{2}
capability: "EXTERNAL_COMMUNICATION"
confidence: 0.804
risk_severity: "LOW"
fingerprint: "1e3eacb8d0fac8c3cace145048eabbfcdffad1bad006b9e73d12f34a3607d42d"
input_schema_fingerprint: "71d3bd0a3f973e9eabd213b66d2184d8c72aef3d16f74a5603010b6ef0d8df4a"
annotations{5}
title: "imagepeek: crop an image"
readOnlyHint: false
destructiveHint: false
idempotentHint: true
openWorldHint: true
7{9}
name: "image_dedupe"
title: "imagepeek: find duplicate and near-duplicate images in a batch of up to 100 URLs"
effect: "READ"
effect_confidence: 0.422
capabilities[1]
0{2}
capability: "EXTERNAL_COMMUNICATION"
confidence: 0.686
risk_severity: "INFO"
fingerprint: "5ff5e7a2355a0d53c1d46459dee689c54311cfd8e48a4cb88441bf4975570b7a"
input_schema_fingerprint: "9dbd7ef7853cc5dd42e3336738fc1d882ce7862c0199e81d31996036107c24df"
annotations{5}
title: "imagepeek: find duplicate and near-duplicate images in a batch of up to 100 URLs"
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: true
8{9}
name: "image_favicon"
title: "imagepeek: make a favicon set from an image"
effect: "UNKNOWN"
effect_confidence: 0.278
capabilities[1]
0{2}
capability: "EXTERNAL_COMMUNICATION"
confidence: 0.804
risk_severity: "LOW"
fingerprint: "6cef02c65636ef962027d6f76c9d4775a7acd9580ed7ce44e5f653f5011c5379"
input_schema_fingerprint: "818f21095cc4d1cd2a8411aff0c8890dac60ecd599368a4cb0bdfa7390f9a560"
annotations{5}
title: "imagepeek: make a favicon set from an image"
readOnlyHint: false
destructiveHint: false
idempotentHint: true
openWorldHint: true
9{9}
name: "image_hash"
title: "imagepeek: perceptual hashes of an image (compare two images)"
effect: "READ"
effect_confidence: 0.595
capabilities[1]
0{2}
capability: "EXTERNAL_COMMUNICATION"
confidence: 0.804
risk_severity: "INFO"
fingerprint: "9494ea554e75e8223b2da23772199f19ab98938d9ba275e437de4c9c66020984"
input_schema_fingerprint: "24d46623607ba2c8f99160c583a60c845c1fb056b1d5f767f3f29a14eaf8a293"
annotations{5}
title: "imagepeek: perceptual hashes of an image (compare two images)"
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: true
10{9}
name: "image_metadata"
title: "imagepeek: read an image's metadata (EXIF, GPS, XMP, IPTC)"
effect: "READ"
effect_confidence: 0.422
capabilities[2]
0{2}
capability: "EXTERNAL_COMMUNICATION"
confidence: 0.601
1{2}
capability: "LOCATION"
confidence: 0.718
risk_severity: "LOW"
fingerprint: "46fb08b9a884a677e674e3684c2a52b90e5aa1e46d4c9ca428182dd302a4517c"
input_schema_fingerprint: "911f1ad095ad828ee320d4a617b69ceed6fc87f859b5b36f32de765ce9ab6239"
annotations{5}
title: "imagepeek: read an image's metadata (EXIF, GPS, XMP, IPTC)"
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: true
11{9}
name: "image_resize"
title: "imagepeek: resize an image"
effect: "WRITE"
effect_confidence: 0.575
capabilities[1]
0{2}
capability: "EXTERNAL_COMMUNICATION"
confidence: 0.804
risk_severity: "MEDIUM"
fingerprint: "54e9cba386993a9bcf30a7e4dcdaa9de02e00bb616b455682265a0294113f184"
input_schema_fingerprint: "31dce8ef06cbb1180924525705307e04b0d98b0557bf11cbbb67896bc61d6376"
annotations{5}
title: "imagepeek: resize an image"
readOnlyHint: false
destructiveHint: false
idempotentHint: true
openWorldHint: true
12{9}
name: "image_rotate"
title: "imagepeek: rotate or flip an image"
effect: "WRITE"
effect_confidence: 0.575
capabilities[1]
0{2}
capability: "EXTERNAL_COMMUNICATION"
confidence: 0.804
risk_severity: "MEDIUM"
fingerprint: "c76acaf6764b12c18470a2a44aab80d6e63694e98f480eee63b91afd7b630bf1"
input_schema_fingerprint: "5d771303fb82b56c87bb3fbed6485d464d393163e549ac722d2e79b909e12dcb"
annotations{5}
title: "imagepeek: rotate or flip an image"
readOnlyHint: false
destructiveHint: false
idempotentHint: true
openWorldHint: true
13{9}
name: "image_strip_metadata"
title: "imagepeek: strip an image's metadata (EXIF, GPS, XMP)"
effect: "UNKNOWN"
effect_confidence: 0.15
capabilities[2]
0{2}
capability: "EXTERNAL_COMMUNICATION"
confidence: 0.804
1{2}
capability: "LOCATION"
confidence: 0.61
risk_severity: "LOW"
fingerprint: "be5f888482cc2f3268feb30c8f486548d4dd8ba6c72b0c7d9d643e02d675f5d7"
input_schema_fingerprint: "7a3fc286a2eac1aa4bfdf66a497b9203992e8cf13192355eb91a076d582cacfd"
annotations{5}
title: "imagepeek: strip an image's metadata (EXIF, GPS, XMP)"
readOnlyHint: false
destructiveHint: false
idempotentHint: true
openWorldHint: true
14{9}
name: "image_thumbnail"
title: "imagepeek: make thumbnails of an image"
effect: "UNKNOWN"
effect_confidence: 0.278
capabilities[1]
0{2}
capability: "EXTERNAL_COMMUNICATION"
confidence: 0.804
risk_severity: "LOW"
fingerprint: "d87cffd2d6e7dde750c2b633649cfebcc2e7e0798327c16c78b787aca3e99822"
input_schema_fingerprint: "685d3cd14d172ca5fc502a136d43e4c9c96804d5271d92606f3ec4b5454f73dc"
annotations{5}
title: "imagepeek: make thumbnails of an image"
readOnlyHint: false
destructiveHint: false
idempotentHint: true
openWorldHint: true
15{9}
name: "image_watermark"
title: "imagepeek: add a text watermark to an image"
effect: "UNKNOWN"
effect_confidence: 0.15
capabilities[1]
0{2}
capability: "EXTERNAL_COMMUNICATION"
confidence: 0.804
risk_severity: "LOW"
fingerprint: "ecbc6279ab127fcad83ab0cfd6d4bcdd68bf369595510eeac8adda1d8f386cff"
input_schema_fingerprint: "3acce713f06a4087b576fd9edbd98db3458774011c189c1300664345215277e0"
annotations{5}
title: "imagepeek: add a text watermark to an image"
readOnlyHint: false
destructiveHint: false
idempotentHint: true
openWorldHint: true
16{9}
name: "make_barcode"
title: "utilpeek: make a 1-D barcode image (SVG or PNG)"
effect: "WRITE"
effect_confidence: 0.703
capabilities[1]
0{2}
capability: "EXTERNAL_COMMUNICATION"
confidence: 0.666
risk_severity: "MEDIUM"
fingerprint: "a4cec26be178df431c8b89a405ccfb8ff7987a86c82b4581a2b3c97e329cc31e"
input_schema_fingerprint: "a184e116c93903b007a1f825d2afb641852e6214a2d0843cb08d070dd552c088"
annotations{5}
title: "utilpeek: make a 1-D barcode image (SVG or PNG)"
readOnlyHint: false
destructiveHint: false
idempotentHint: true
openWorldHint: true
17{9}
name: "make_qr_code"
title: "utilpeek: make a QR code image (SVG or PNG)"
effect: "WRITE"
effect_confidence: 0.65
capabilities[1]
0{2}
capability: "EXTERNAL_COMMUNICATION"
confidence: 0.556
risk_severity: "MEDIUM"
fingerprint: "20a664443904a8bf68eb61a295f59d9682ae90b64cca0c0910bba779a9f7df9a"
input_schema_fingerprint: "b7a62ac68b51ecd748e68072c4c9870ac7922a61954ac951042658ae0570a6a0"
annotations{5}
title: "utilpeek: make a QR code image (SVG or PNG)"
readOnlyHint: false
destructiveHint: false
idempotentHint: true
openWorldHint: true
18{9}
name: "ocr_image"
title: "sitepeek: OCR the text in an image"
effect: "READ"
effect_confidence: 0.762
capabilities[1]
0{2}
capability: "EXTERNAL_COMMUNICATION"
confidence: 0.729
risk_severity: "INFO"
fingerprint: "4f64dcc6deb650452530095f6db01015eef44c8f577dbd880417e6e2a1deed87"
input_schema_fingerprint: "93de91a8b5556066c9f3e84522cafcd181986a5e9cb45448cc59da29554d1bc0"
annotations{5}
title: "sitepeek: OCR the text in an image"
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: true
19{9}
name: "read_qr_barcode"
title: "imagepeek: read QR codes and barcodes from an image"
effect: "READ"
effect_confidence: 0.762
capabilities[2]
0{2}
capability: "EXTERNAL_COMMUNICATION"
confidence: 0.661
1{2}
capability: "PAYMENT"
confidence: 0.538
risk_severity: "LOW"
fingerprint: "c54d6f457618f919042cf9b2ee2ff49992fb5bbfacffaa8546d07cdc03b373d3"
input_schema_fingerprint: "7ecdb1a84d5b9e7bf15fd2833547505ad0ed87e1e6ab7b30a08345775909ebba"
annotations{5}
title: "imagepeek: read QR codes and barcodes from an image"
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: true
20{9}
name: "recognize_math_image"
title: "imagepeek: equation image to LaTeX"
effect: "READ"
effect_confidence: 0.422
capabilities[1]
0{2}
capability: "EXTERNAL_COMMUNICATION"
confidence: 0.661
risk_severity: "INFO"
fingerprint: "0aa87ee89cf3b279a8e5add800cd09c7cf471e60de67a4859abc6814ac7444e4"
input_schema_fingerprint: "972bbb9dbf59c15420f3998c8269e0ec7a7b86ed20655ac3df44422908c1ef32"
annotations{5}
title: "imagepeek: equation image to LaTeX"
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: true
21{9}
name: "render_mermaid"
title: "pdfpeek: render Mermaid diagram code to an SVG or PNG image"
effect: "READ"
effect_confidence: 0.703
capabilities[0]
risk_severity: "INFO"
fingerprint: "9a2669e98ac4526844997d00f86bd041ee600812a67a10a340253762c8aa9693"
input_schema_fingerprint: "62633d8ef82023c41bffb68cdc2949dcfb5942e0a492a57bd380d579ae29ec13"
annotations{5}
title: "pdfpeek: render Mermaid diagram code to an SVG or PNG image"
readOnlyHint: false
destructiveHint: false
idempotentHint: true
openWorldHint: true
22{9}
name: "upscale_image"
title: "imagepeek: neural 2x upscale"
effect: "UNKNOWN"
effect_confidence: 0.15
capabilities[1]
0{2}
capability: "EXTERNAL_COMMUNICATION"
confidence: 0.729
risk_severity: "LOW"
fingerprint: "31dce72e16096c7100cb28b1080eff60247acfa0f4379a8ed02cdd11663967a2"
input_schema_fingerprint: "80c3caa5aff16e1e2a4851a908a8371faa85624b13e17140386b47c52091709a"
annotations{5}
title: "imagepeek: neural 2x upscale"
readOnlyHint: false
destructiveHint: false
idempotentHint: true
openWorldHint: true
23{9}
name: "vectorize_image"
title: "imagepeek: trace a raster to SVG"
effect: "UNKNOWN"
effect_confidence: 0.15
capabilities[1]
0{2}
capability: "EXTERNAL_COMMUNICATION"
confidence: 0.729
risk_severity: "LOW"
fingerprint: "f27eb74192bff1b6c5c63ca8785226cb3a0681928bf59ab58b7c249e78b0caaf"
input_schema_fingerprint: "4c811f155b7d1450f17cea9c46c278816e15fcd5733c4ba6761e7bf7d5612d59"
annotations{5}
title: "imagepeek: trace a raster to SVG"
readOnlyHint: false
destructiveHint: false
idempotentHint: true
openWorldHint: true
resources[0]
prompts[0]
extensions[0]
data{6}
privacy_completeness: "not_provided"
data_categories[0]
ai_training: null
retention_policy: null
processing_regions[0]
subprocessors[0]
external_integrations[1]
0{3}
host: "tanod.dev"
registrable_domain: "tanod.dev"
source: "transport"
findings[10]
0{6}
check_id: "SQ-SERVER-AUTH-NONE-WRITE"
category: "authentication"
severity: "MEDIUM"
title: "State-changing tools available without authentication"
subject_type: "server"
subject_name: null
1{6}
check_id: "SQ-TOOL-CONCEALMENT"
category: "prompt_injection"
severity: "HIGH"
title: "Text asks the AI model to hide actions from the user"
subject_type: "tool"
subject_name: "make_barcode"
2{6}
check_id: "SQ-TOOL-META-INSUFFICIENT"
category: "tool_design"
severity: "LOW"
title: "Description too thin to determine behavior"
subject_type: "tool"
subject_name: "image_compress"
3{6}
check_id: "SQ-TOOL-META-INSUFFICIENT"
category: "tool_design"
severity: "LOW"
title: "Description too thin to determine behavior"
subject_type: "tool"
subject_name: "image_crop"
4{6}
check_id: "SQ-TOOL-META-INSUFFICIENT"
category: "tool_design"
severity: "LOW"
title: "Description too thin to determine behavior"
subject_type: "tool"
subject_name: "image_favicon"
5{6}
check_id: "SQ-TOOL-META-INSUFFICIENT"
category: "tool_design"
severity: "LOW"
title: "Description too thin to determine behavior"
subject_type: "tool"
subject_name: "image_strip_metadata"
6{6}
check_id: "SQ-TOOL-META-INSUFFICIENT"
category: "tool_design"
severity: "LOW"
title: "Description too thin to determine behavior"
subject_type: "tool"
subject_name: "image_thumbnail"
7{6}
check_id: "SQ-TOOL-META-INSUFFICIENT"
category: "tool_design"
severity: "LOW"
title: "Description too thin to determine behavior"
subject_type: "tool"
subject_name: "image_watermark"
8{6}
check_id: "SQ-TOOL-META-INSUFFICIENT"
category: "tool_design"
severity: "LOW"
title: "Description too thin to determine behavior"
subject_type: "tool"
subject_name: "upscale_image"
9{6}
check_id: "SQ-TOOL-META-INSUFFICIENT"
category: "tool_design"
severity: "LOW"
title: "Description too thin to determine behavior"
subject_type: "tool"
subject_name: "vectorize_image"
trust{9}
registry_namespace: "verified_upstream"
publisher_identity: "unverified"
organization: "unverified"
domain: "unverified"
repository: "unverified"
source_provenance: "unknown"
security_scan: "findings_detected"
privacy_transparency: "not_provided"
monitoring: "active"
provenance{4}
registry_name: "dev.tanod/images"
registry_content_sha256: "7dba68615b60fabab269c71356a573dd6ed17e42033addf80d4cd608c221eac4"
scan_snapshot_fingerprint: "d1177ee249127673ac0d23343b7fa4bc86b3d114b0b692d9f485093b6f79f0a5"
scanner_version: "1.0.0"
timestamps{4}
generated_at: "2026-11-15T03:52:16.087Z"
observed_at: "2026-11-09T14:55:17.55+00:00"
registry_published_at: "2026-11-09T13:39:24.379002+00:00"
registry_updated_at: null