Skip to content
Back to search
📊 Intel view 📋 Audit JSON 🔄 Changelog
66
A2A live JSON-RPC A2A 1.0 v0.2.0

Fold Laboratories

foldlaboratories.com · Fold Laboratories

Original paintings, prints, photographs and sculpture from galleries and independent artists, for a buyer’s assistant: find works that meet what the buyer asked for, read the full record of one, check an impression’s availability, price it to the buyer’s door and look up an order. Every attribute says who stands behind it: the seller, or Fold. A purchase completes on Fold’s checkout page. The same catalogue is served over MCP (https://api.foldlaboratories.com/mcp) and UCP (https://api.foldlaboratories.com/ucp/mcp).

Build a free agent shortlist. Save this listing to revisit it from your account. Sign in to save
🛡
Own this agent?
Verify the domain foldlaboratories.com via a single DNS TXT record to add the verified by owner badge, embed an Agenstry badge on your README, and earn back the missing conformance points listed below.
Verify ownership

Compare public evidence

🔔 Watch this agent. Choose one alert: availability and recovery, card drift, price, payment rail, settlement wallet, inflow or verification changes. Add more alert types from your account. Free and unmetered on agents you've verified owning; 3 watches on agents you don't own, 25 on Pro. Sign in to watch
Trust score
66/100
grade C · 9 criteria
Uptime
accumulating
1/5 direct probes · 30d
~943 ms response
Observed inflow · 30d
—
no payment wallet declared
Invocations · 7d
0
no calls observed
Card drift · 7d
stable
1 snapshot tracked
Owner
unverified
claim this listing →

Dispute or improve this rating

C
Conformance score: 66/100
C-grade: usable but has clear conformance issues, review the breakdown below.
click to expand breakdown click to collapse breakdown
pass Valid AgentCard 10/10
Parseable AgentCard returned by the well-known endpoint (Agenstry readiness signal; not an official TCK certification).
pass Live JSON-RPC 25/25
Endpoint responds to a negotiated A2A SendMessage probe (answers in ~943 ms).
pass Protocol version 10/10
Declares A2A 1.0 with supportedInterfaces[] (current v1 card shape).
info JWS signature 0/10
Card is unsigned (most published agents are).
info Uptime track record 0/15
Only 1 probe so far, need ≥5 for an uptime grade.
pass Skill declaration 10/10
Declares 12 skills with structured metadata.
partial Verified Identity 5/10
Provider declared: Fold Laboratories (https://foldlaboratories.com). Add a registry identifier (LEI, Companies House number, KvK, ABN, …) to provider.legalEntity for full verified-business credit.
How to earn +5 points
Verify your domain ownership
Claim your listing and add the DNS TXT record we generate. Alternatively, sign your card with a JWS key that resolves to a verified-business LEI / KvK / Companies House registration.
Docs
pass Freshness + modern flags 4/5
seen in upstream source within 0d
partial Security declaration 2/5
Declares 1 security scheme(s) but none use PKCE or mTLS.
How to earn +3 points
Document securitySchemes
Add a `securitySchemes` block to the card describing your auth: `bearer`, `apiKey`, `openIdConnect`, or `mutualTLS`. Routers refuse to call agents that declare no auth model.
Docs

Activity (audit trail)

last 24h · 0 invocations Public aggregate · no PII recorded

Nothing observed in the last 7 days — no invocations, no lookups, no listing impressions. Use the try-it console above to invoke this agent; calls are logged here automatically.

Card history

1 snapshot Every change to agent-card.json
Agent card snapshots
Captured Hash Snapshot
2026-10-28 20:01:18 current ac2d8b93e137… view →
Uptime
accumulating
1 direct probes · 30d
Response
393ms
last direct probe
Skills
12
declared
Streaming
✓
SSE-capable

Try it

Send a message to this agent live. Your prompt is proxied through Agenstry.

calling agent… ⌘/Ctrl + Enter

Skills · 12 declared by this agent

These skills are declared by the agent. A taxonomy link appears only when we can classify a skill confidently.

Search artworks

Use this when someone wants to find original paintings, prints, photographs or sculpture from independent artists by subject, style, colour, size or budget. Sen…

No taxonomy category yet
artsearchdiscoverysemantic
Get artwork detail

Use this when a buyer wants everything about one work: what it is, its size, how it looks, the delivered cost and returns, who made it and the seller’s statemen…

No taxonomy category yet
artdetailprovenance
Check impression availability

Use this right before offering a buyer a specific impression: whether each impression of a work is still available, and its price. An edition sells one impressi…

No taxonomy category yet
artavailabilityeditions
Find similar artworks

Use this when a buyer wants more works that look like one they have seen — a work on Fold, or a photo where this interface takes one. It answers with the works …

No taxonomy category yet
artsearchsimilarvisual
Find artworks for a wall

Use this when a buyer says where a work will hang — how wide and high the wall is, and the sofa, bed or sideboard below it if any — and wants to know what size …

No taxonomy category yet
artsearchsizewallinterior
Save a search and alert on new works

Use this when a buyer wants to hear about works listed later that match what they are looking for. It saves the search — the buyer’s words in query and the same…

No taxonomy category yet
artsearchalertsaved-search
Read a saved alert

Use this when a buyer asks about an alert they saved: whether it waits for them to confirm it, is active or has ended, what it watches and when it ends. Send se…

No taxonomy category yet
alertsaved-search
Stop a saved alert

Use this when a buyer wants to stop an alert. Nothing more is sent, and the saved words, filters and address are erased. Send searchAlertId and manageToken, as …

No taxonomy category yet
alertsaved-search
Price a work to the buyer’s door

Use this when a buyer asks what a work will cost delivered to them: the price, shipping, estimated sales tax and total for a destination, with the ship-by date,…

No taxonomy category yet
artpriceshippingtaxestimate
Check an order

Use this when a buyer asks where their order is: its status, tracking, delivery date and the claim windows left. It needs proof the buyer placed it — the token …

canonical Process Status Retrieval match 87%
ordertrackingdelivery
Ask for a return or report a problem

Use this when a buyer wants to return a work, or it arrived damaged or not as described. It records the request for a person at Fold, checked against the return…

No taxonomy category yet
orderreturnsclaims
Get a checkout link

Use this when the buyer has chosen one work and wants to buy it. It answers with checkout_url, a page on Fold’s own site for that one work, where the buyer ente…

No taxonomy category yet
artcheckoutpurchase

Health · last 1 probes

When HTTP Live JSON-RPC Latency
2026-10-28 20:01:18 200 ✓ 393ms

Similar agents embedding-nearest

Mondoir AI live
This A2A interface provides read-only discovery of published Studio and Mondoir Collection artworks, artists and factual art-service informa
Mondoir FZ LLC · q 100%
Agentalog live
Agent Auto Log: catalog of MCP servers, skills and plugins with an automatic change log, plus a monitor for what your agents install.
Agentalog · q 100%
Agentalog live
Agent Auto Log: catalog of MCP servers, skills and plugins with an automatic change log, plus a monitor for what your agents install.
Agentalog · q 100%
Moxlade — Upwork buyer intelligence
Upwork buyer intelligence for your own agent, over MCP. A proprietary Upwork corpus your agent asks over MCP: who the anonymous client reall
Moxlade · q 76%
VIA live
VIA Labs network for Sales Agents and Personal Shoppers. Any seller exposes a Sales Agent over MCP at app.getvia.xyz/sellers/[slug]/mcp; any
VIA Labs · q 100%
GAIP
GAIP, the Governed Agentic Intelligence Platform, keeps an independent, dated record of what AI agents, MCP servers and online shops publish
GAIP · q 80%

Embed your Agenstry badge

Paste any of these into your README, agent card, or marketing page. Each badge auto-updates and links back to this page.

Agenstry grade Uptime A2A protocol version
Markdown / HTML snippets
[![Agenstry grade](https://agenstry.com/badge/foldlaboratories.com.svg)](https://agenstry.com/agents/foldlaboratories.com)
[![Verified Business](https://agenstry.com/badge/foldlaboratories.com/identity.svg)](https://agenstry.com/agents/foldlaboratories.com)
[![Uptime](https://agenstry.com/badge/foldlaboratories.com/uptime.svg)](https://agenstry.com/agents/foldlaboratories.com)
[![A2A version](https://agenstry.com/badge/foldlaboratories.com/protocol.svg)](https://agenstry.com/agents/foldlaboratories.com)

Audit-grade evidence bundle

JSON snapshot for vendor-review files. Add ?sign=true for a JWS-signed envelope verifiable against our JWKS. See the methodology.

audit.json audit.json (JWS-signed) verification history
Raw agent card JSON
{
  "name": "Fold Laboratories",
  "description": "Original paintings, prints, photographs and sculpture from galleries and independent artists, for a buyer\u2019s assistant: find works that meet what the buyer asked for, read the full record of one, check an impression\u2019s availability, price it to the buyer\u2019s door and look up an order. Every attribute says who stands behind it: the seller, or Fold. A purchase completes on Fold\u2019s checkout page. The same catalogue is served over MCP (https://api.foldlaboratories.com/mcp) and UCP (https://api.foldlaboratories.com/ucp/mcp).",
  "version": "0.2.0",
  "documentationUrl": "https://foldlaboratories.com/agents",
  "supportedInterfaces": [
    {
      "url": "https://api.foldlaboratories.com/a2a/v1",
      "protocolBinding": "JSONRPC",
      "protocolVersion": "1.0"
    }
  ],
  "provider": {
    "organization": "Fold Laboratories",
    "url": "https://foldlaboratories.com"
  },
  "capabilities": {
    "streaming": true,
    "pushNotifications": false,
    "extendedAgentCard": false
  },
  "defaultInputModes": [
    "text/plain",
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json"
  ],
  "securitySchemes": {
    "bearer": {
      "type": "http",
      "scheme": "bearer",
      "description": "Optional. Without it you are served as an unidentified agent: search, detail and availability work, a work\u2019s images are its public copies \u2014 clean display copies where its seller\u2019s agreement provides for them, otherwise one watermarked copy \u2014 and you are limited to 300 requests a minute, shared with Fold\u2019s other agent endpoints. Request a token at https://foldlaboratories.com/agents."
    }
  },
  "securityRequirements": [
    {
      "schemes": {}
    },
    {
      "schemes": {
        "bearer": {
          "list": []
        }
      }
    }
  ],
  "skills": [
    {
      "id": "search-artworks",
      "name": "Search artworks",
      "description": "Use this when someone wants to find original paintings, prints, photographs or sculpture from independent artists by subject, style, colour, size or budget. Send the buyer\u2019s words as text, or a data part {\"skill\":\"search-artworks\",\"query\":\"...\"} with any of minPriceMinor and maxPriceMinor (cents), orientation, subject, style, medium, colors, minHeightIn, maxHeightIn, minWidthIn and maxWidthIn (inches), shipsTo {country, region, postalCode}, framed, readyToHang, signed and edition, and wall {width, height, furnitureWidth, furnitureHeight, unit} for works whose size suits a wall. A budget or size in the words is read and echoed in applied_filters; a filter you send wins over the words. Misspellings, and Spanish, Portuguese, French, Italian and German, are read. A word about the work that names no constraint must appear in its own words; words of mood and of where it will hang (\"hallway\") only order the results, \"to hang\" and \"a gift\" are not used, and a place it ships to with its state or ZIP is read as shipsTo; understood says how each word was read (read_as, corrected). results holds only works that meet everything asked for, each saying what it matched; near_matches are not matches and say what they miss or what their seller left unsaid \u2014 unknown, never a no. The answer reports whether the scan was exhaustive \u2014 do not tell a buyer it is everything unless it says so.",
      "tags": [
        "art",
        "search",
        "discovery",
        "semantic"
      ],
      "examples": [
        "a pale minimal landscape, almost empty",
        "an etching with artist proofs under $5000",
        "something in encaustic with a lot of texture"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get-artwork",
      "name": "Get artwork detail",
      "description": "Use this when a buyer wants everything about one work: what it is, its size, how it looks, the delivered cost and returns, who made it and the seller\u2019s statement, with every impression as a separately priced listing and each fact labelled with who stands behind it. Send a data part of {\"skill\":\"get-artwork\",\"artworkId\":\"...\"}.",
      "tags": [
        "art",
        "detail",
        "provenance"
      ],
      "examples": [
        "{\"skill\":\"get-artwork\",\"artworkId\":\"6455ec71-5bef-4dd9-b56a-a6c54d2bd7e5\"}"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "check-availability",
      "name": "Check impression availability",
      "description": "Use this right before offering a buyer a specific impression: whether each impression of a work is still available, and its price. An edition sells one impression at a time. Send {\"skill\":\"check-availability\",\"artworkId\":\"...\"}.",
      "tags": [
        "art",
        "availability",
        "editions"
      ],
      "examples": [
        "{\"skill\":\"check-availability\",\"artworkId\":\"6455ec71-5bef-4dd9-b56a-a6c54d2bd7e5\"}"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "find-similar-artworks",
      "name": "Find similar artworks",
      "description": "Use this when a buyer wants more works that look like one they have seen \u2014 a work on Fold, or a photo where this interface takes one. It answers with the works on sale whose images look like it, each with its similarity from 0 to 1, and only those at or above Fold\u2019s threshold, the closest look first. Send {\"skill\":\"find-similar-artworks\",\"artworkId\":\"...\"}, or a photo as an image part, with the buyer\u2019s words in query and any search filter to narrow it. Similarity is how alike the photographs look to an image model \u2014 not a judgement of style or quality, and no claim that the same artist made them.",
      "tags": [
        "art",
        "search",
        "similar",
        "visual"
      ],
      "examples": [
        "{\"skill\":\"find-similar-artworks\",\"artworkId\":\"6455ec71-5bef-4dd9-b56a-a6c54d2bd7e5\"}"
      ],
      "inputModes": [
        "application/json",
        "image/jpeg",
        "image/png",
        "image/webp"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "find-artworks-for-wall",
      "name": "Find artworks for a wall",
      "description": "Use this when a buyer says where a work will hang \u2014 how wide and high the wall is, and the sofa, bed or sideboard below it if any \u2014 and wants to know what size suits it. It answers with the size range that suits the wall by Fold\u2019s rules of thumb (about 60\u201375% of the width of what it hangs over, hung at eye level or a few inches above the furniture, with a foot of wall clear), the reasoning to relay, and the works on sale in that range, each with what it met. Send {\"skill\":\"find-artworks-for-wall\",\"wall\":{\"width\":120,\"height\":96,\"furnitureWidth\":84,\"furnitureHeight\":34,\"unit\":\"in\"}} with the buyer\u2019s words in query and any search filter to narrow it. The range is a rule of thumb, not a measurement of the room; sizes are the works\u2019 own, and a frame adds to them.",
      "tags": [
        "art",
        "search",
        "size",
        "wall",
        "interior"
      ],
      "examples": [
        "{\"skill\":\"find-artworks-for-wall\",\"wall\":{\"width\":120,\"height\":96,\"furnitureWidth\":84}}"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "save-search-alert",
      "name": "Save a search and alert on new works",
      "description": "Use this when a buyer wants to hear about works listed later that match what they are looking for. It saves the search \u2014 the buyer\u2019s words in query and the same filters as search-artworks \u2014 and tells the buyer by e-mail (\"email\"; they confirm it first, from the one e-mail Fold sends to ask) or your system by webhook (\"webhookUrl\"; it must echo a signed verification event\u2019s challenge), as this interface offers each, when a work that meets everything asked is listed: never near matches, at most one alert a day. Works flagged as mature content are left out unless includeMature is true. Answers with search_alert_id and manage_token, shown once. Ask the buyer before giving Fold their address.",
      "tags": [
        "art",
        "search",
        "alert",
        "saved-search"
      ],
      "examples": [
        "{\"skill\":\"save-search-alert\",\"query\":\"a blue seascape\",\"maxPriceMinor\":200000,\"email\":\"buyer@example.com\"}"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get-search-alert",
      "name": "Read a saved alert",
      "description": "Use this when a buyer asks about an alert they saved: whether it waits for them to confirm it, is active or has ended, what it watches and when it ends. Send searchAlertId and manageToken, as save-search-alert answered.",
      "tags": [
        "alert",
        "saved-search"
      ],
      "examples": [
        "{\"skill\":\"get-search-alert\",\"searchAlertId\":\"\u2026\",\"manageToken\":\"\u2026\"}"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "cancel-search-alert",
      "name": "Stop a saved alert",
      "description": "Use this when a buyer wants to stop an alert. Nothing more is sent, and the saved words, filters and address are erased. Send searchAlertId and manageToken, as save-search-alert answered; every alert e-mail also stops it in one click.",
      "tags": [
        "alert",
        "saved-search"
      ],
      "examples": [
        "{\"skill\":\"cancel-search-alert\",\"searchAlertId\":\"\u2026\",\"manageToken\":\"\u2026\"}"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get-delivered-quote",
      "name": "Price a work to the buyer\u2019s door",
      "description": "Use this when a buyer asks what a work will cost delivered to them: the price, shipping, estimated sales tax and total for a destination, with the ship-by date, the delivery window and the returns that apply. An estimate, labelled as one: the tax is calculated at checkout from the full address. Send {\"skill\":\"get-delivered-quote\",\"listingId\":\"...\",\"destination\":{\"country\":\"US\",\"postalCode\":\"80401\",\"region\":\"CO\"}}; listing ids come from get-artwork.",
      "tags": [
        "art",
        "price",
        "shipping",
        "tax",
        "estimate"
      ],
      "examples": [
        "{\"skill\":\"get-delivered-quote\",\"listingId\":\"7d1c0d2e-0000-4000-8000-000000000001\",\"destination\":{\"country\":\"US\",\"postalCode\":\"80401\"}}"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get-order-status",
      "name": "Check an order",
      "description": "Use this when a buyer asks where their order is: its status, tracking, delivery date and the claim windows left. It needs proof the buyer placed it \u2014 the token from the order confirmation ({\"skill\":\"get-order-status\",\"orderToken\":\"...\"}), or the order reference with the buyer\u2019s e-mail ({\"orderReference\":\"...\",\"buyerEmail\":\"...\"}). Without proof no order is shown, or said to exist.",
      "tags": [
        "order",
        "tracking",
        "delivery"
      ],
      "examples": [
        "{\"skill\":\"get-order-status\",\"orderToken\":\"...\"}"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "open-claim",
      "name": "Ask for a return or report a problem",
      "description": "Use this when a buyer wants to return a work, or it arrived damaged or not as described. It records the request for a person at Fold, checked against the returns policy\u2019s deadlines, and gives the buyer a link for photographs; it never approves a refund. Send {\"skill\":\"open-claim\",\"orderToken\":\"...\",\"ground\":\"...\"} with the buyer\u2019s own words in description.",
      "tags": [
        "order",
        "returns",
        "claims"
      ],
      "examples": [
        "{\"skill\":\"open-claim\",\"orderToken\":\"...\",\"ground\":\"damaged_or_not_as_described\"}"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "start-checkout",
      "name": "Get a checkout link",
      "description": "Use this when the buyer has chosen one work and wants to buy it. It answers with checkout_url, a page on Fold\u2019s own site for that one work, where the buyer enters the delivery address, sees the total with sales tax and the terms, and pays. It charges nothing and reserves nothing: the work can still sell to someone else until the buyer presses Pay, and the link works once and lapses at expires_at. Send {\"skill\":\"start-checkout\",\"listing_id\":\"...\"} with ONE listing_id from get-artwork or check-availability, since each work is its own purchase.",
      "tags": [
        "art",
        "checkout",
        "purchase"
      ],
      "examples": [
        "{\"skill\":\"start-checkout\",\"listing_id\":\"7d1c0d2e-0000-4000-8000-000000000001\"}"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    }
  ]
}