Fold Laboratories
REMOTE · API.FOLDLABORATORIES.COM
Original art from galleries and artists: search, details, delivered prices and checkout links.
Available components
Last scanned (3 hours ago)
Scores higher than 53% of remote servers
Reachable. Last reached 5 Nov 2026.
Category E-commerce
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security57
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (cancel_search_alert). See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability77
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 3240 tokens (~249/item across 13 items; 10 tools + 3 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 Management17
- Stability observed for 5 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage99
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 98% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 10 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 11 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
- Supports UI / widget rendering.Pass
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 +1
No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.
- 2 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 1 Nov 26 +1
- Schema quality: 289 → 249 ▲ functional
- Stability: unverified → 0.03 ▲ functional
- New resource “fold-checkout” functional
- New resource “fold-gallery-v2” functional
- 31 Oct 26 64
First indexed and scored.
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 · Probed https://api.foldlaboratories.com/mcp?surface=registry
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=api.foldlaboratories.com | CN=YE1,O=Let's Encrypt,C=US | 27 Aug 2026 | 25 Nov 2026 | ECDSA 256 | ECDSA-SHA384 | 556b32195bc30f1c4c8dc79c387e67de34d |
| SANs: api.foldlaboratories.com | ||||||
| CN=YE1,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 5ddd70dd31f801c85c186a7a04b80afe |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of api.foldlaboratories.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| foldlaboratories.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://api.foldlaboratories.com/mcp?surface=registry | Verified | 200 | |
| http (plaintext) | http://api.foldlaboratories.com/mcp?surface=registry | HTTPS enforced | 301 | https://api.foldlaboratories.com/mcp?surface=registry |
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 →
cancel_search_alert Stop a saved alert ~99
Use this when a buyer wants to stop an alert for new works. Nothing more is sent, and the saved words, filters and address are erased. Needs the search_alert_id and manage_token save_search_alert gave; a buyer can also stop it from any alert e-mail in one click.
| Name | Type | Req | Description |
|---|---|---|---|
| manage_token | string | yes | The manage_token save_search_alert gave. |
| search_alert_id | string | yes | The search_alert_id save_search_alert gave. |
No output schema declared.
No examples provided.
check_availability Check availability ~131
Use this when time has passed since a search or a work’s detail answered — the buyer came back later, or is weighing several works — to re-check whether specific impressions can still be bought before offering them. Each work here is unique or from a small edition, so an impression can sell at any time: never offer one as available from an old answer. A search’s offers and get_artwork say what can be bought as they answer, and the checkout checks again itself, so no call is needed between them and the checkout.
| Name | Type | Req | Description |
|---|---|---|---|
| listing_ids | array | yes | listing_id values from get_artwork. |
No output schema declared.
No examples provided.
get_artwork Get artwork detail ~306
Use this when someone wants the full facts about one work before deciding: what it is, its size, how it looks, what delivery costs and when it ships, whether it can be returned, who made it, and what Fold verified about the seller. Full detail for one artwork: attribution, medium, dimensions, edition structure, provenance, seller, and every individual impression that can be bought with its own price and availability. A numbered edition has one entry per impression — including artist proofs (AP), printer proofs (PP), and the bon à tirer (BAT), which are separate objects from the numbered run and usually priced differently. Each entry in `attributes` says who stands behind it (seller_stated, fold_derived or fold_verified), and a null means unspecified rather than estimated. Also returns image URLs to show the buyer. A signed URL is TEMPORARY: honour its `expires_at` and re-fetch rather than caching or redistributing it. An image marked `permanent` is one of the work’s public images, with no expiry: a clean display copy, or, where it also says `preview`, a reduced copy watermarked by Fold. Use this before presenting a work to a buyer, and quote the `impression` label exactly as given. Its public images, up to 3, also come as small pictures attached after the answer, so you can see how it looks.
| Name | Type | Req | Description |
|---|---|---|---|
| artwork_id | string | yes | artwork_id from search_artworks. |
No output schema declared.
No examples provided.
get_delivered_quote Estimate the delivered price ~170
Use this when a buyer asks what a work will cost delivered to them and when it would arrive. Given one listing_id and a US destination (a five-digit ZIP code, and the state if known), it answers with the price, the seller’s delivery charge, an ESTIMATE of sales tax from Fold’s tax engine for that ZIP code, the total, the date the seller says it ships by and the arrival window their transit estimate gives, the returns that apply, the policy links and how to check out. Read-only: nothing is opened or reserved. Checkout calculates the exact tax from the full address before the buyer pays. Fold delivers only to the 50 US states and DC.
| Name | Type | Req | Description |
|---|---|---|---|
| destination | object | yes | – |
| listing_id | string | yes | A listing_id from get_artwork. |
No output schema declared.
No examples provided.
get_order_status Look up an order ~176
Use this when a buyer asks where their order is or what they can still claim. With the token from the order page’s address, or the order reference from the confirmation e-mail and the e-mail address the buyer gave at checkout, it answers with the order’s status, the tracking the seller recorded, and each return or claim window with when it closes. An order is shown only to whoever proves they placed it; an unknown order and a wrong proof get the same answer.
| Name | Type | Req | Description |
|---|---|---|---|
| buyer_email | string | – | The e-mail address the buyer gave at checkout. Send with order_reference. |
| order_reference | string | – | The order reference printed in the confirmation e-mail. Send with buyer_email. |
| order_token | string | – | The token in the order page’s address, from the confirmation e-mail: /order/<token>. |
No output schema declared.
No examples provided.
get_search_alert Read a saved alert ~97
Use this when a buyer asks about an alert for new works they saved: whether it is waiting for them to confirm it, active or ended, what it watches, when it last sent works and when it ends. Needs the search_alert_id and manage_token save_search_alert gave.
| Name | Type | Req | Description |
|---|---|---|---|
| manage_token | string | yes | The manage_token save_search_alert gave. |
| search_alert_id | string | yes | The search_alert_id save_search_alert gave. |
No output schema declared.
No examples provided.
open_claim Open a return or claim ~228
Use this when a buyer wants to return a work or report a problem with an order: damage or a difference from the description on arrival, non-delivery, a doubt about authenticity or title, an agent purchase they did not authorise, cancelling before dispatch, or a 30-day return. It checks the ground against the Returns policy’s window for this order, records the request for a person at Fold, and answers with a link for sending photographs. It refunds nothing: a person at Fold decides every request and replies by e-mail. Needs the same proof as get_order_status.
| Name | Type | Req | Description |
|---|---|---|---|
| buyer_email | string | – | The e-mail address the buyer gave at checkout. Send with order_reference. |
| description | string | – | What went wrong, in the buyer’s words. |
| ground | string | yes | The ground, as Returns §2 names it. |
| order_reference | string | – | The order reference printed in the confirmation e-mail. Send with buyer_email. |
| order_token | string | – | The token in the order page’s address, from the confirmation e-mail: /order/<token>. |
No output schema declared.
No examples provided.
save_search_alert Save a search and alert on new works ~634
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 filters as search_artworks — and tells the buyer by e-mail, or your own system by webhook, when a work that matches it is listed: only works that meet everything asked, never near matches, at most one alert a day, for 180 days. An e-mail alert starts only when the buyer confirms it from the one e-mail Fold sends to ask; ask the buyer before giving Fold their address. Every alert e-mail has one-click unsubscribe. A webhook alert starts once webhook_url answers a signed verification event by echoing its challenge. Works flagged as mature content are left out unless include_mature is true, which only the buyer’s own request should set. Answers with search_alert_id and manage_token, shown once: get_search_alert reads the alert and cancel_search_alert ends it.
| Name | Type | Req | Description |
|---|---|---|---|
| colors | array | – | Every one of these among the colours the seller confirmed for the work. |
| edition | string | – | unique: one of a kind; edition: one impression of an edition. |
| string | – | The buyer’s e-mail address, which they gave for this alert. Fold sends it one e-mail to confirm, and nothing else until they do. | |
| framed | boolean | – | Framed (true) or unframed (false), as the seller stated. |
| include_mature | boolean | – | Also announce works their sellers flagged as mature content. Only when the buyer asked. |
| max_height_in | number | – | Height at most this, in inches. |
| max_price_usd | number | – | Highest acceptable price, in US dollars. |
| max_width_in | number | – | Width at most this, in inches. |
| medium | array | – | Any of these media; a family such as painting or print includes its members. |
| min_height_in | number | – | Height at least this, in inches. |
| min_price_usd | number | – | Lowest acceptable price, in US dollars. |
| min_width_in | number | – | Width at least this, in inches. |
| orientation | array | – | Any of: portrait (taller than wide), landscape (wider than tall), square. |
| query | string | – | What the buyer is looking for, in their words, as for search_artworks. |
| ready_to_hang | boolean | – | Ready to hang, as the seller stated. |
| ships_to | object | – | Where the buyer wants it delivered. Fold delivers to the 50 US states and DC. |
| signed | boolean | – | Signed by the artist, as the seller stated. |
| style | array | – | Any of these styles. |
| subject | array | – | Any of these subjects. |
| wall | object | – | Only works whose size suits this wall, as search_artworks’ wall reads it. |
| webhook_url | string | – | Your https endpoint for search_alert.new_works events, signed as Standard Webhooks specifies. It must echo the verification event’s data.challenge. |
No output schema declared.
No examples provided.
search_artworks Search artworks ~1,083
Use this when someone wants to find original paintings, prints, photographs or sculpture from independent artists: by subject, style, colour, size or budget; for a particular wall; or like a work or a photo they have. It returns only works that meet everything asked for, each with what it met. near_matches come apart, each saying what it misses or what its seller left unsaid: a blank fact is unknown, never a no. Write the request in words ("a large blue abstract painting under $2,000"; misspellings, and Spanish, Portuguese, French, Italian and German, are read) or send filters — min_price_usd, max_price_usd, orientation, subject, style, medium, colors, min_height_in, max_height_in, min_width_in, max_width_in, ships_to, framed, ready_to_hang, signed, edition — and a filter wins over the words. applied_filters lists every constraint and where it came from; understood says how each word was read (read_as, corrected); correct a misreading with a filter. A word about the work that names no constraint must appear in its own words to match ("lighthouse"). Words of mood ("calm") and of where it will hang ("hallway") only order the results; "to hang" and "a gift" are not used. A place it ships to, with its state or ZIP, is read as ships_to. fold_derived marks Fold’s reading of the seller’s words. This catalogue CANNOT be filtered by authenticity or provenance strength: Fold verifies sellers, not works (see _verification). Works on sale now; include_sold adds sold works. Attributes are the seller’s; null means unspecified, never estimated. completeness says whether every work was checked. A wall — wall: {width, height, furniture_width, furniture_height, unit} — keeps only works whose size suits it by Fold’s rules of thumb, and wall_fit gives the size range and the reasoning to relay: a rule of thumb, not a measurement of the room. With a wall, query may be left out. similar_to {artwork_id | image_url | image_base64} keeps only works that look like it, at or above Fold’s simi…
| Name | Type | Req | Description |
|---|---|---|---|
| colors | array | – | Every one of these among the colours the seller confirmed for the work. |
| edition | string | – | unique: one of a kind; edition: one impression of an edition. |
| framed | boolean | – | Framed (true) or unframed (false), as the seller stated. |
| include_sold | boolean | – | Also include works that have already sold. Off by default. Works taken off sale are never returned either way. |
| limit | integer | – | Maximum matches. Default 10, hard cap 100. |
| max_height_in | number | – | Height at most this, in inches. |
| max_price_usd | number | – | Highest acceptable price, in US dollars. |
| max_width_in | number | – | Width at most this, in inches. |
| medium | array | – | Any of these media; a family such as painting or print includes its members. |
| min_height_in | number | – | Height at least this, in inches. |
| min_price_usd | number | – | Lowest acceptable price, in US dollars. |
| min_width_in | number | – | Width at least this, in inches. |
| orientation | array | – | Any of: portrait (taller than wide), landscape (wider than tall), square. |
| query | string | – | What the buyer is looking for, in their words. Leave it out only to search by a wall or similar_to alone. |
| ready_to_hang | boolean | – | Ready to hang, as the seller stated. |
| ships_to | object | – | Where the buyer wants it delivered. Fold delivers to the 50 US states and DC. |
| signed | boolean | – | Signed by the artist, as the seller stated. |
| similar_to | object | – | A work, or a photo, the works must look like. |
| style | array | – | Any of these styles. |
| subject | array | – | Any of these subjects. |
| wall | object | – | The wall the work will hang on: only works whose size suits it. |
No output schema declared.
No examples provided.
start_checkout Get a checkout link ~248
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 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. Give the link to the buyer or open it in your browser. It checks availability itself, so call it straight from a search’s offer.listing_id or get_artwork’s listings, with no other call first; one listing_id per call, since each work is its own purchase. The buyer needs no account and never signs in: on the page they give a name, an e-mail for the order confirmation and a US delivery address, and pay. If the work has sold, or another buyer is paying for it, the refusal carries out_of_stock: what the work is now, and up to three similar works on sale here to offer the buyer instead.
| Name | Type | Req | Description |
|---|---|---|---|
| listing_id | string | yes | A single listing_id from get_artwork or check_availability. |
No output schema declared.
No examples provided.
How do I install the Fold Laboratories MCP server?
Fold Laboratories is a hosted endpoint at https://api.foldlaboratories.com/mcp?surface=registry, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · api.foldlaboratories.com
claude mcp add --transport http com-foldlaboratories-art 'https://api.foldlaboratories.com/mcp?surface=registry'
What is the Fold Laboratories MCP server?
Fold Laboratories is an MCP server listed in the public MCP registry as com.foldlaboratories/art. Original art from galleries and artists: search, details, delivered prices and checkout links. This page covers its hosted endpoint (https://api.foldlaboratories.com/mcp?surface=registry).
Is the Fold Laboratories MCP server safe to use?
Fold Laboratories scores 67 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 Fold Laboratories MCP server expose?
Fold Laboratories exposes 10 tools: search_artworks, get_artwork, check_availability, save_search_alert, get_search_alert, and 5 more. Their descriptions and schemas cost roughly 3,172 tokens of context every time the server is loaded.
Does the Fold Laboratories MCP server require authentication?
No. We connected to Fold Laboratories without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Fold Laboratories MCP server still maintained?
Fold Laboratories 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.