{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_eyazvd4ct8q6","handle":"duskly","url":"https://wellknown.network/agents/duskly","links":{"self":"https://wellknown.network/agents/duskly/record.json","html":"https://wellknown.network/agents/duskly","markdown":"https://wellknown.network/agents/duskly/record.md","api":"https://wellknown.network/api/v1/agents/duskly","status":"https://wellknown.network/api/v1/agents/duskly/status","claim":"https://wellknown.network/agents/duskly/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/duskly/claim.json","badge":"https://wellknown.network/agents/duskly/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/duskly/history","tools":"https://wellknown.network/api/v1/agents/duskly/tools"},"ard":{"identifier":"urn:air:duskly.ai:server:duskly","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Duskly","summary":"MLS compliance for edited listing photos: classify edits, write disclosures, verify provenance.","description":"MLS compliance for edited listing photos: classify edits, write disclosures, verify provenance.","publisher":{"name":"ai.duskly","url":null},"homepage":"https://duskly.ai/mcp-server","repository":null,"version":"1.0.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://duskly.ai/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-09-25T02:28:09.915809Z","publishedAt":"2026-09-25T02:28:09.915809Z","registryName":"ai.duskly/duskly"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"commerce.payments","name":"Payments","confidence":1,"provenance":"derived"},{"slug":"content.writing","name":"Writing & Editing","confidence":0.51,"provenance":"derived"},{"slug":"commerce.pricing","name":"Pricing & Quotes","confidence":0.51,"provenance":"derived"}],"categories":["commerce","content"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 3h ago.","lastOkAt":"2026-10-11T15:23:53.824Z","lastProbedAt":"2026-10-11T15:23:53.824Z","statusComputedAt":"2026-10-11T15:24:47.696Z","reliability30d":{"probes":62,"successRate":1,"p50Ms":212,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":62,"ok":62,"authBoundaryOk":0,"serviceOk":62,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-11T15:23:53.824Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":184,"error":null,"detail":{"tools":[{"name":"duskly_classify_edit","description":"Whether a given edit to a real estate listing photo must be disclosed, and whether any market prohibits it outright.\n\nUse this before telling someone an edit is"},{"name":"duskly_generate_disclosure","description":"The exact disclosure text to publish alongside an edited listing photo, written for each surface it has to appear on: the MLS photo description, public remarks,"},{"name":"duskly_list_prohibited_alterations","description":"Edits that are prohibited outright in one or more markets and are never made acceptable by adding a disclosure.\n\nUse this when someone asks to remove, conceal o"},{"name":"duskly_list_edits","description":"Every edit Duskly performs, with what it does and how it is classified for disclosure.\n\nUse this to pick the right edit for what someone is asking for, and to s"},{"name":"duskly_verify_image","description":"Inspect an image for provenance signals: an invisible Duskly watermark, IPTC digital source type metadata, and whether a C2PA container appears present.\n\nWorks "},{"name":"duskly_get_pricing","description":"Duskly's price and what a paid listing returns. Use this when someone asks what it costs or what they get.\n\nEditing is not available over MCP: renders spend mod"},{"name":"duskly_start_listing","description":"Returns the URL a person should open to upload listing photos and run an edit themselves.\n\nUse this when someone wants an edit performed. Editing is deliberatel"},{"name":"duskly_get_listing","description":"The state of a Duskly listing: how many photos it holds, which have been edited, whether it has been paid for, and how much of its render budget remains.\n\nTakes"},{"name":"duskly_get_listing_pack","description":"Everything a paid listing returns: the download link for the archive, the disclosure wording for every edited photo, and the public page showing the unaltered o"},{"name":"duskly_get_checkout_url","description":"A Stripe Checkout URL for an unpaid listing, for a **person** to open and pay.\n\nDuskly does not take payment through MCP and no agent completes a purchase. Give"}],"toolCount":10,"toolsHash":"b62ff423405eed113d2568cf632b17911d97ba4395361cb2faa066ec2156aa82","serverName":"duskly-mcp-server","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-11T09:26:47.112Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":242,"error":null,"detail":{"tools":[{"name":"duskly_classify_edit","description":"Whether a given edit to a real estate listing photo must be disclosed, and whether any market prohibits it outright.\n\nUse this before telling someone an edit is"},{"name":"duskly_generate_disclosure","description":"The exact disclosure text to publish alongside an edited listing photo, written for each surface it has to appear on: the MLS photo description, public remarks,"},{"name":"duskly_list_prohibited_alterations","description":"Edits that are prohibited outright in one or more markets and are never made acceptable by adding a disclosure.\n\nUse this when someone asks to remove, conceal o"},{"name":"duskly_list_edits","description":"Every edit Duskly performs, with what it does and how it is classified for disclosure.\n\nUse this to pick the right edit for what someone is asking for, and to s"},{"name":"duskly_verify_image","description":"Inspect an image for provenance signals: an invisible Duskly watermark, IPTC digital source type metadata, and whether a C2PA container appears present.\n\nWorks "},{"name":"duskly_get_pricing","description":"Duskly's price and what a paid listing returns. Use this when someone asks what it costs or what they get.\n\nEditing is not available over MCP: renders spend mod"},{"name":"duskly_start_listing","description":"Returns the URL a person should open to upload listing photos and run an edit themselves.\n\nUse this when someone wants an edit performed. Editing is deliberatel"},{"name":"duskly_get_listing","description":"The state of a Duskly listing: how many photos it holds, which have been edited, whether it has been paid for, and how much of its render budget remains.\n\nTakes"},{"name":"duskly_get_listing_pack","description":"Everything a paid listing returns: the download link for the archive, the disclosure wording for every edited photo, and the public page showing the unaltered o"},{"name":"duskly_get_checkout_url","description":"A Stripe Checkout URL for an unpaid listing, for a **person** to open and pay.\n\nDuskly does not take payment through MCP and no agent completes a purchase. Give"}],"toolCount":10,"toolsHash":"b62ff423405eed113d2568cf632b17911d97ba4395361cb2faa066ec2156aa82","serverName":"duskly-mcp-server","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-11T02:21:57.301Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":163,"error":null,"detail":{"tools":[{"name":"duskly_classify_edit","description":"Whether a given edit to a real estate listing photo must be disclosed, and whether any market prohibits it outright.\n\nUse this before telling someone an edit is"},{"name":"duskly_generate_disclosure","description":"The exact disclosure text to publish alongside an edited listing photo, written for each surface it has to appear on: the MLS photo description, public remarks,"},{"name":"duskly_list_prohibited_alterations","description":"Edits that are prohibited outright in one or more markets and are never made acceptable by adding a disclosure.\n\nUse this when someone asks to remove, conceal o"},{"name":"duskly_list_edits","description":"Every edit Duskly performs, with what it does and how it is classified for disclosure.\n\nUse this to pick the right edit for what someone is asking for, and to s"},{"name":"duskly_verify_image","description":"Inspect an image for provenance signals: an invisible Duskly watermark, IPTC digital source type metadata, and whether a C2PA container appears present.\n\nWorks "},{"name":"duskly_get_pricing","description":"Duskly's price and what a paid listing returns. Use this when someone asks what it costs or what they get.\n\nEditing is not available over MCP: renders spend mod"},{"name":"duskly_start_listing","description":"Returns the URL a person should open to upload listing photos and run an edit themselves.\n\nUse this when someone wants an edit performed. Editing is deliberatel"},{"name":"duskly_get_listing","description":"The state of a Duskly listing: how many photos it holds, which have been edited, whether it has been paid for, and how much of its render budget remains.\n\nTakes"},{"name":"duskly_get_listing_pack","description":"Everything a paid listing returns: the download link for the archive, the disclosure wording for every edited photo, and the public page showing the unaltered o"},{"name":"duskly_get_checkout_url","description":"A Stripe Checkout URL for an unpaid listing, for a **person** to open and pay.\n\nDuskly does not take payment through MCP and no agent completes a purchase. Give"}],"toolCount":10,"toolsHash":"b62ff423405eed113d2568cf632b17911d97ba4395361cb2faa066ec2156aa82","serverName":"duskly-mcp-server","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T19:26:49.562Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":44,"error":null,"detail":{"tools":[{"name":"duskly_classify_edit","description":"Whether a given edit to a real estate listing photo must be disclosed, and whether any market prohibits it outright.\n\nUse this before telling someone an edit is"},{"name":"duskly_generate_disclosure","description":"The exact disclosure text to publish alongside an edited listing photo, written for each surface it has to appear on: the MLS photo description, public remarks,"},{"name":"duskly_list_prohibited_alterations","description":"Edits that are prohibited outright in one or more markets and are never made acceptable by adding a disclosure.\n\nUse this when someone asks to remove, conceal o"},{"name":"duskly_list_edits","description":"Every edit Duskly performs, with what it does and how it is classified for disclosure.\n\nUse this to pick the right edit for what someone is asking for, and to s"},{"name":"duskly_verify_image","description":"Inspect an image for provenance signals: an invisible Duskly watermark, IPTC digital source type metadata, and whether a C2PA container appears present.\n\nWorks "},{"name":"duskly_get_pricing","description":"Duskly's price and what a paid listing returns. Use this when someone asks what it costs or what they get.\n\nEditing is not available over MCP: renders spend mod"},{"name":"duskly_start_listing","description":"Returns the URL a person should open to upload listing photos and run an edit themselves.\n\nUse this when someone wants an edit performed. Editing is deliberatel"},{"name":"duskly_get_listing","description":"The state of a Duskly listing: how many photos it holds, which have been edited, whether it has been paid for, and how much of its render budget remains.\n\nTakes"},{"name":"duskly_get_listing_pack","description":"Everything a paid listing returns: the download link for the archive, the disclosure wording for every edited photo, and the public page showing the unaltered o"},{"name":"duskly_get_checkout_url","description":"A Stripe Checkout URL for an unpaid listing, for a **person** to open and pay.\n\nDuskly does not take payment through MCP and no agent completes a purchase. Give"}],"toolCount":10,"toolsHash":"b62ff423405eed113d2568cf632b17911d97ba4395361cb2faa066ec2156aa82","serverName":"duskly-mcp-server","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T13:23:57.812Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":427,"error":null,"detail":{"tools":[{"name":"duskly_classify_edit","description":"Whether a given edit to a real estate listing photo must be disclosed, and whether any market prohibits it outright.\n\nUse this before telling someone an edit is"},{"name":"duskly_generate_disclosure","description":"The exact disclosure text to publish alongside an edited listing photo, written for each surface it has to appear on: the MLS photo description, public remarks,"},{"name":"duskly_list_prohibited_alterations","description":"Edits that are prohibited outright in one or more markets and are never made acceptable by adding a disclosure.\n\nUse this when someone asks to remove, conceal o"},{"name":"duskly_list_edits","description":"Every edit Duskly performs, with what it does and how it is classified for disclosure.\n\nUse this to pick the right edit for what someone is asking for, and to s"},{"name":"duskly_verify_image","description":"Inspect an image for provenance signals: an invisible Duskly watermark, IPTC digital source type metadata, and whether a C2PA container appears present.\n\nWorks "},{"name":"duskly_get_pricing","description":"Duskly's price and what a paid listing returns. Use this when someone asks what it costs or what they get.\n\nEditing is not available over MCP: renders spend mod"},{"name":"duskly_start_listing","description":"Returns the URL a person should open to upload listing photos and run an edit themselves.\n\nUse this when someone wants an edit performed. Editing is deliberatel"},{"name":"duskly_get_listing","description":"The state of a Duskly listing: how many photos it holds, which have been edited, whether it has been paid for, and how much of its render budget remains.\n\nTakes"},{"name":"duskly_get_listing_pack","description":"Everything a paid listing returns: the download link for the archive, the disclosure wording for every edited photo, and the public page showing the unaltered o"},{"name":"duskly_get_checkout_url","description":"A Stripe Checkout URL for an unpaid listing, for a **person** to open and pay.\n\nDuskly does not take payment through MCP and no agent completes a purchase. Give"}],"toolCount":10,"toolsHash":"b62ff423405eed113d2568cf632b17911d97ba4395361cb2faa066ec2156aa82","serverName":"duskly-mcp-server","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T06:26:41.512Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":150,"error":null,"detail":{"tools":[{"name":"duskly_classify_edit","description":"Whether a given edit to a real estate listing photo must be disclosed, and whether any market prohibits it outright.\n\nUse this before telling someone an edit is"},{"name":"duskly_generate_disclosure","description":"The exact disclosure text to publish alongside an edited listing photo, written for each surface it has to appear on: the MLS photo description, public remarks,"},{"name":"duskly_list_prohibited_alterations","description":"Edits that are prohibited outright in one or more markets and are never made acceptable by adding a disclosure.\n\nUse this when someone asks to remove, conceal o"},{"name":"duskly_list_edits","description":"Every edit Duskly performs, with what it does and how it is classified for disclosure.\n\nUse this to pick the right edit for what someone is asking for, and to s"},{"name":"duskly_verify_image","description":"Inspect an image for provenance signals: an invisible Duskly watermark, IPTC digital source type metadata, and whether a C2PA container appears present.\n\nWorks "},{"name":"duskly_get_pricing","description":"Duskly's price and what a paid listing returns. Use this when someone asks what it costs or what they get.\n\nEditing is not available over MCP: renders spend mod"},{"name":"duskly_start_listing","description":"Returns the URL a person should open to upload listing photos and run an edit themselves.\n\nUse this when someone wants an edit performed. Editing is deliberatel"},{"name":"duskly_get_listing","description":"The state of a Duskly listing: how many photos it holds, which have been edited, whether it has been paid for, and how much of its render budget remains.\n\nTakes"},{"name":"duskly_get_listing_pack","description":"Everything a paid listing returns: the download link for the archive, the disclosure wording for every edited photo, and the public page showing the unaltered o"},{"name":"duskly_get_checkout_url","description":"A Stripe Checkout URL for an unpaid listing, for a **person** to open and pay.\n\nDuskly does not take payment through MCP and no agent completes a purchase. Give"}],"toolCount":10,"toolsHash":"b62ff423405eed113d2568cf632b17911d97ba4395361cb2faa066ec2156aa82","serverName":"duskly-mcp-server","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T23:30:01.181Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":214,"error":null,"detail":{"tools":[{"name":"duskly_classify_edit","description":"Whether a given edit to a real estate listing photo must be disclosed, and whether any market prohibits it outright.\n\nUse this before telling someone an edit is"},{"name":"duskly_generate_disclosure","description":"The exact disclosure text to publish alongside an edited listing photo, written for each surface it has to appear on: the MLS photo description, public remarks,"},{"name":"duskly_list_prohibited_alterations","description":"Edits that are prohibited outright in one or more markets and are never made acceptable by adding a disclosure.\n\nUse this when someone asks to remove, conceal o"},{"name":"duskly_list_edits","description":"Every edit Duskly performs, with what it does and how it is classified for disclosure.\n\nUse this to pick the right edit for what someone is asking for, and to s"},{"name":"duskly_verify_image","description":"Inspect an image for provenance signals: an invisible Duskly watermark, IPTC digital source type metadata, and whether a C2PA container appears present.\n\nWorks "},{"name":"duskly_get_pricing","description":"Duskly's price and what a paid listing returns. Use this when someone asks what it costs or what they get.\n\nEditing is not available over MCP: renders spend mod"},{"name":"duskly_start_listing","description":"Returns the URL a person should open to upload listing photos and run an edit themselves.\n\nUse this when someone wants an edit performed. Editing is deliberatel"},{"name":"duskly_get_listing","description":"The state of a Duskly listing: how many photos it holds, which have been edited, whether it has been paid for, and how much of its render budget remains.\n\nTakes"},{"name":"duskly_get_listing_pack","description":"Everything a paid listing returns: the download link for the archive, the disclosure wording for every edited photo, and the public page showing the unaltered o"},{"name":"duskly_get_checkout_url","description":"A Stripe Checkout URL for an unpaid listing, for a **person** to open and pay.\n\nDuskly does not take payment through MCP and no agent completes a purchase. Give"}],"toolCount":10,"toolsHash":"b62ff423405eed113d2568cf632b17911d97ba4395361cb2faa066ec2156aa82","serverName":"duskly-mcp-server","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T16:32:02.153Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":419,"error":null,"detail":{"tools":[{"name":"duskly_classify_edit","description":"Whether a given edit to a real estate listing photo must be disclosed, and whether any market prohibits it outright.\n\nUse this before telling someone an edit is"},{"name":"duskly_generate_disclosure","description":"The exact disclosure text to publish alongside an edited listing photo, written for each surface it has to appear on: the MLS photo description, public remarks,"},{"name":"duskly_list_prohibited_alterations","description":"Edits that are prohibited outright in one or more markets and are never made acceptable by adding a disclosure.\n\nUse this when someone asks to remove, conceal o"},{"name":"duskly_list_edits","description":"Every edit Duskly performs, with what it does and how it is classified for disclosure.\n\nUse this to pick the right edit for what someone is asking for, and to s"},{"name":"duskly_verify_image","description":"Inspect an image for provenance signals: an invisible Duskly watermark, IPTC digital source type metadata, and whether a C2PA container appears present.\n\nWorks "},{"name":"duskly_get_pricing","description":"Duskly's price and what a paid listing returns. Use this when someone asks what it costs or what they get.\n\nEditing is not available over MCP: renders spend mod"},{"name":"duskly_start_listing","description":"Returns the URL a person should open to upload listing photos and run an edit themselves.\n\nUse this when someone wants an edit performed. Editing is deliberatel"},{"name":"duskly_get_listing","description":"The state of a Duskly listing: how many photos it holds, which have been edited, whether it has been paid for, and how much of its render budget remains.\n\nTakes"},{"name":"duskly_get_listing_pack","description":"Everything a paid listing returns: the download link for the archive, the disclosure wording for every edited photo, and the public page showing the unaltered o"},{"name":"duskly_get_checkout_url","description":"A Stripe Checkout URL for an unpaid listing, for a **person** to open and pay.\n\nDuskly does not take payment through MCP and no agent completes a purchase. Give"}],"toolCount":10,"toolsHash":"b62ff423405eed113d2568cf632b17911d97ba4395361cb2faa066ec2156aa82","serverName":"duskly-mcp-server","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T09:27:59.299Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":326,"error":null,"detail":{"tools":[{"name":"duskly_classify_edit","description":"Whether a given edit to a real estate listing photo must be disclosed, and whether any market prohibits it outright.\n\nUse this before telling someone an edit is"},{"name":"duskly_generate_disclosure","description":"The exact disclosure text to publish alongside an edited listing photo, written for each surface it has to appear on: the MLS photo description, public remarks,"},{"name":"duskly_list_prohibited_alterations","description":"Edits that are prohibited outright in one or more markets and are never made acceptable by adding a disclosure.\n\nUse this when someone asks to remove, conceal o"},{"name":"duskly_list_edits","description":"Every edit Duskly performs, with what it does and how it is classified for disclosure.\n\nUse this to pick the right edit for what someone is asking for, and to s"},{"name":"duskly_verify_image","description":"Inspect an image for provenance signals: an invisible Duskly watermark, IPTC digital source type metadata, and whether a C2PA container appears present.\n\nWorks "},{"name":"duskly_get_pricing","description":"Duskly's price and what a paid listing returns. Use this when someone asks what it costs or what they get.\n\nEditing is not available over MCP: renders spend mod"},{"name":"duskly_start_listing","description":"Returns the URL a person should open to upload listing photos and run an edit themselves.\n\nUse this when someone wants an edit performed. Editing is deliberatel"},{"name":"duskly_get_listing","description":"The state of a Duskly listing: how many photos it holds, which have been edited, whether it has been paid for, and how much of its render budget remains.\n\nTakes"},{"name":"duskly_get_listing_pack","description":"Everything a paid listing returns: the download link for the archive, the disclosure wording for every edited photo, and the public page showing the unaltered o"},{"name":"duskly_get_checkout_url","description":"A Stripe Checkout URL for an unpaid listing, for a **person** to open and pay.\n\nDuskly does not take payment through MCP and no agent completes a purchase. Give"}],"toolCount":10,"toolsHash":"b62ff423405eed113d2568cf632b17911d97ba4395361cb2faa066ec2156aa82","serverName":"duskly-mcp-server","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T03:22:43.951Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":278,"error":null,"detail":{"tools":[{"name":"duskly_classify_edit","description":"Whether a given edit to a real estate listing photo must be disclosed, and whether any market prohibits it outright.\n\nUse this before telling someone an edit is"},{"name":"duskly_generate_disclosure","description":"The exact disclosure text to publish alongside an edited listing photo, written for each surface it has to appear on: the MLS photo description, public remarks,"},{"name":"duskly_list_prohibited_alterations","description":"Edits that are prohibited outright in one or more markets and are never made acceptable by adding a disclosure.\n\nUse this when someone asks to remove, conceal o"},{"name":"duskly_list_edits","description":"Every edit Duskly performs, with what it does and how it is classified for disclosure.\n\nUse this to pick the right edit for what someone is asking for, and to s"},{"name":"duskly_verify_image","description":"Inspect an image for provenance signals: an invisible Duskly watermark, IPTC digital source type metadata, and whether a C2PA container appears present.\n\nWorks "},{"name":"duskly_get_pricing","description":"Duskly's price and what a paid listing returns. Use this when someone asks what it costs or what they get.\n\nEditing is not available over MCP: renders spend mod"},{"name":"duskly_start_listing","description":"Returns the URL a person should open to upload listing photos and run an edit themselves.\n\nUse this when someone wants an edit performed. Editing is deliberatel"},{"name":"duskly_get_listing","description":"The state of a Duskly listing: how many photos it holds, which have been edited, whether it has been paid for, and how much of its render budget remains.\n\nTakes"},{"name":"duskly_get_listing_pack","description":"Everything a paid listing returns: the download link for the archive, the disclosure wording for every edited photo, and the public page showing the unaltered o"},{"name":"duskly_get_checkout_url","description":"A Stripe Checkout URL for an unpaid listing, for a **person** to open and pay.\n\nDuskly does not take payment through MCP and no agent completes a purchase. Give"}],"toolCount":10,"toolsHash":"b62ff423405eed113d2568cf632b17911d97ba4395361cb2faa066ec2156aa82","serverName":"duskly-mcp-server","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"duskly_classify_edit","description":"Whether a given edit to a real estate listing photo must be disclosed, and whether any market prohibits it outright.\n\nUse this before telling someone an edit is"},{"name":"duskly_generate_disclosure","description":"The exact disclosure text to publish alongside an edited listing photo, written for each surface it has to appear on: the MLS photo description, public remarks,"},{"name":"duskly_list_prohibited_alterations","description":"Edits that are prohibited outright in one or more markets and are never made acceptable by adding a disclosure.\n\nUse this when someone asks to remove, conceal o"},{"name":"duskly_list_edits","description":"Every edit Duskly performs, with what it does and how it is classified for disclosure.\n\nUse this to pick the right edit for what someone is asking for, and to s"},{"name":"duskly_verify_image","description":"Inspect an image for provenance signals: an invisible Duskly watermark, IPTC digital source type metadata, and whether a C2PA container appears present.\n\nWorks "},{"name":"duskly_get_pricing","description":"Duskly's price and what a paid listing returns. Use this when someone asks what it costs or what they get.\n\nEditing is not available over MCP: renders spend mod"},{"name":"duskly_start_listing","description":"Returns the URL a person should open to upload listing photos and run an edit themselves.\n\nUse this when someone wants an edit performed. Editing is deliberatel"},{"name":"duskly_get_listing","description":"The state of a Duskly listing: how many photos it holds, which have been edited, whether it has been paid for, and how much of its render budget remains.\n\nTakes"},{"name":"duskly_get_listing_pack","description":"Everything a paid listing returns: the download link for the archive, the disclosure wording for every edited photo, and the public page showing the unaltered o"},{"name":"duskly_get_checkout_url","description":"A Stripe Checkout URL for an unpaid listing, for a **person** to open and pay.\n\nDuskly does not take payment through MCP and no agent completes a purchase. Give"}],"package":null,"toolSurface":{"id":"ts_eaf3a8dkw6gq","endpointId":"ep_2c85xywzsrf6","hash":"b62ff423405eed113d2568cf632b17911d97ba4395361cb2faa066ec2156aa82","toolCount":10,"serverName":"duskly-mcp-server","serverVersion":"1.0.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-09-25T03:24:58.149Z","lastSeenAt":"2026-10-11T15:23:53.831Z","observations":62,"toolNames":["duskly_classify_edit","duskly_generate_disclosure","duskly_list_prohibited_alterations","duskly_list_edits","duskly_verify_image","duskly_get_pricing","duskly_start_listing","duskly_get_listing","duskly_get_listing_pack","duskly_get_checkout_url"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_2c85xywzsrf6","url":"https://duskly.ai/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-10T06:26:41.510Z","auth":{"observedAt":"2026-10-10T06:26:41.587Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-10T06:26:41.596Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"duskly.ai","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-09-04T19:03:36.000Z","validTo":"2026-12-03T20:03:33.000Z","daysToExpiry":53,"sanCount":3,"fingerprint256":"2C:07:9D:D1:E8:F5:2A:DC:3A:4C:89:8E:97:91:56:CA:7F:BF:47:D0:C8:96:11:8E:83:1B:A8:26:4A:FB:8F:2E"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"ai.duskly/duskly","url":"https://registry.modelcontextprotocol.io/v0/servers/ai.duskly%2Fduskly","firstSeenAt":"2026-09-25T03:19:04.981Z","fetchedAt":"2026-10-11T18:21:58.500Z","normalizedAt":"2026-10-11T18:21:58.500Z"}]},"firstSeenAt":"2026-09-25T03:19:04.981Z","updatedAt":"2026-10-11T15:25:56.302Z"}