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/91acb9db-8aa5-47bb-8f26-196c5095ac01/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: "ai.duskly/duskly"
title: "Duskly"
description: "MLS compliance for edited listing photos: classify edits, write disclosures, verify provenance."
version: "1.0.0"
homepage_url: "https://duskly.ai/mcp-server"
source: "official_registry"
upstream_status: "active"
publisher{4}
namespace: "ai.duskly"
display_name: "ai.duskly"
type: "registry_namespace"
status: "unclaimed"
organization: null
repository: null
packages[0]
transports[1]
0{5}
kind: "remote"
type: "streamable-http"
endpoint_url: "https://duskly.ai/mcp"
endpoint_host: "duskly.ai"
auth_type: "none"
auth{3}
type: "none"
authorization_servers[0]
scopes[0]
protocol{4}
era: "legacy"
negotiated_version: "2025-06-18"
supported_versions[0]
transport_type: "streamable-http"
tools[10]
0{9}
name: "duskly_classify_edit"
title: "Classify a listing photo edit"
effect: "READ"
effect_confidence: 0.879
capabilities[0]
risk_severity: "LOW"
fingerprint: "85d988e29e92eb43ff2cbb79c0c124a136dc72bb5044c75a59369c06623c538d"
input_schema_fingerprint: "6bcb047b9da6602a977402070f0e7f4ce4463b7b19dfea90264998e96f8416e2"
annotations{5}
title: null
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
1{9}
name: "duskly_generate_disclosure"
title: "Generate MLS disclosure wording"
effect: "READ"
effect_confidence: 0.879
capabilities[1]
0{2}
capability: "EXTERNAL_COMMUNICATION"
confidence: 0.601
risk_severity: "INFO"
fingerprint: "cc9662e5b00078e0ea65e95b202bb5b13daa76e6eb78ad49ab383cf8e9765934"
input_schema_fingerprint: "44c499a36b194efc7d5b6644cc0f389db1f73a920f882f9742e26ed60c8bedcc"
annotations{5}
title: null
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
2{9}
name: "duskly_get_checkout_url"
title: "Get a payment link for a listing"
effect: "READ"
effect_confidence: 0.848
capabilities[2]
0{2}
capability: "EXTERNAL_COMMUNICATION"
confidence: 0.816
1{2}
capability: "PAYMENT"
confidence: 0.943
risk_severity: "LOW"
fingerprint: "2993c1d56f6fd046666801b0d848bbfe9c0b100b69c4ac85a5f8d2f04652e5b8"
input_schema_fingerprint: "9c0af5e98e5e1759642ce98c4d9fd4802e3c9efc2685a8c9754362b97604638e"
annotations{5}
title: null
readOnlyHint: false
destructiveHint: false
idempotentHint: false
openWorldHint: true
3{9}
name: "duskly_get_listing"
title: "Look up a listing"
effect: "READ"
effect_confidence: 0.879
capabilities[0]
risk_severity: "INFO"
fingerprint: "e6585780b0bd0b9d8537c8525c6eb50a3a592d0d5201ea0b195b1c565696600f"
input_schema_fingerprint: "9c0af5e98e5e1759642ce98c4d9fd4802e3c9efc2685a8c9754362b97604638e"
annotations{5}
title: null
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
4{9}
name: "duskly_get_listing_pack"
title: "Get the deliverables for a paid listing"
effect: "READ"
effect_confidence: 0.879
capabilities[0]
risk_severity: "INFO"
fingerprint: "a4b23c78644e86a21c36f950080a600f10c0f8f5aec3a9f54bf9ff5bc7eeba47"
input_schema_fingerprint: "9c0af5e98e5e1759642ce98c4d9fd4802e3c9efc2685a8c9754362b97604638e"
annotations{5}
title: null
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
5{9}
name: "duskly_get_pricing"
title: "What Duskly costs and what a purchase includes"
effect: "READ"
effect_confidence: 0.798
capabilities[0]
risk_severity: "INFO"
fingerprint: "7dccf05e51a29e991e7f611a380cfa21dcf2d916913d6dd42c596c18f2d026a0"
input_schema_fingerprint: "f973399805c1c233633f5196cf8e2ad40ee100b94996d711dcd030813b671bc5"
annotations{5}
title: null
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
6{9}
name: "duskly_list_edits"
title: "List available edits and their compliance status"
effect: "READ"
effect_confidence: 0.879
capabilities[0]
risk_severity: "LOW"
fingerprint: "989f611758aeecfb6bccaa524a97521b8d0f87b967d112f30fdb083cfa835896"
input_schema_fingerprint: "f973399805c1c233633f5196cf8e2ad40ee100b94996d711dcd030813b671bc5"
annotations{5}
title: null
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
7{9}
name: "duskly_list_prohibited_alterations"
title: "Alterations no disclosure can cure"
effect: "WRITE"
effect_confidence: 0.603
capabilities[0]
risk_severity: "LOW"
fingerprint: "6828770958374020736a2434f33c09da6b756abbef09c22814809d8feb7164f5"
input_schema_fingerprint: "f973399805c1c233633f5196cf8e2ad40ee100b94996d711dcd030813b671bc5"
annotations{5}
title: null
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
8{9}
name: "duskly_start_listing"
title: "Get a link for a person to upload photos"
effect: "WRITE"
effect_confidence: 0.747
capabilities[1]
0{2}
capability: "PERSONAL_DATA"
confidence: 0.669
risk_severity: "LOW"
fingerprint: "836430365e62d2f4a24a96d89f70096d335f23fb70bba10fef2d75534cca779b"
input_schema_fingerprint: "c721030ea8264a33916421246c7d477d48a0c85930e372a2babefa25ba68f186"
annotations{5}
title: null
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
9{9}
name: "duskly_verify_image"
title: "Check an image for provenance marks"
effect: "READ"
effect_confidence: 0.908
capabilities[0]
risk_severity: "INFO"
fingerprint: "25acba5597c29b47cacba0f03f9d74760daef3e294c71b186451cf33291b38c5"
input_schema_fingerprint: "c375bc366b7e452b1ebcc9485f2dbbde524b686f22dd6048d6ed573fd430efd5"
annotations{5}
title: null
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
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: "duskly.ai"
registrable_domain: "duskly.ai"
source: "transport"
findings[5]
0{6}
check_id: "SQ-REPO-MISSING"
category: "provenance"
severity: "LOW"
title: "No source repository linked"
subject_type: "server"
subject_name: null
1{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
2{6}
check_id: "SQ-TOOL-ANNOTATION-UNDERCLAIM"
category: "annotations"
severity: "LOW"
title: "Annotations understate what the tool does"
subject_type: "tool"
subject_name: "duskly_list_prohibited_alterations"
3{6}
check_id: "SQ-TOOL-ANNOTATION-UNDERCLAIM"
category: "annotations"
severity: "LOW"
title: "Annotations understate what the tool does"
subject_type: "tool"
subject_name: "duskly_start_listing"
4{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: "duskly_generate_disclosure"
trust{9}
registry_namespace: "verified_upstream"
publisher_identity: "unverified"
organization: "unverified"
domain: "unverified"
repository: "not_provided"
source_provenance: "unknown"
security_scan: "findings_detected"
privacy_transparency: "not_provided"
monitoring: "active"
provenance{4}
registry_name: "ai.duskly/duskly"
registry_content_sha256: "ae5da646b22dcf8b5bb9f3a4560dfc8cc2581389cae74ae7bed4cf858821a080"
scan_snapshot_fingerprint: "71aad9b06bdda3e0fcbc279cf87da1ec7427b87c4cae8c3e6ee587736b1b56c8"
scanner_version: "1.0.0"
timestamps{4}
generated_at: "2026-11-15T04:53:47.330Z"
observed_at: "2026-11-12T05:59:45.348+00:00"
registry_published_at: "2026-09-25T02:28:09.915809+00:00"
registry_updated_at: null