Fold Laboratories Art Catalogue

Original art from galleries and artists: semantic search, provenance, live availability.

Should I use this

Quality & Safety

A
Description quality
93%
Schema completeness
100%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~816Tokens (tool definitions)
~1.4 KBTypical response size
Moderate attention impact (0.64% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "art": {
      "url": "https://api.foldlaboratories.com/mcp"
    }
  }
}

Remote endpoints

https://api.foldlaboratories.com/mcpstreamable-http

What it can do

Tool inventory

Tools (3)

🟒 Read-only🟑 WriteπŸ”΄ Deleteβšͺ Unknown
🟒search_artworks(query, limit, min_price_usd, max_price_usd, seller_stated_tags_only, ...)

Search original artworks by natural-language description of what the buyer wants β€” subject, mood, palette, texture, period, scale. Matches on MEANING rather than keywords, so "a moody blue seascape" finds work no keyword search would. IMPORTANT: the query text is matched on meaning ONLY. A budget written into it β€” "under 20k" β€” is NOT applied; pass min_price_usd and max_price_usd instead, or you will get results outside the buyer’s range and not know it. IMPORTANT: this catalogue CANNOT be filtered by authenticity or provenance strength, and no parameter accepts one β€” Fold verifies sellers, not works, and assesses neither. See _verification on the response and the verification block on each result. Returns only works that are purchasable now; include_sold adds works that have sold. Works taken off sale are never returned. Attributes such as medium and year are as stated by the seller; a null means the seller did not specify it. IMPORTANT: check the `completeness` field before telling a buyer this is everything available β€” "partial" means more may exist beyond what was scanned.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "description": "What the buyer is looking for, in natural language."
    },
    "limit": {
      "description": "Maximum results. Default 10, hard cap 100.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "min_price_usd": {
      "description": "Lowest acceptable price.",
      "type": "number",
      "minimum": 0
    },
    "max_price_usd": {
      "description": "Highest acceptable price.",
      "type": "number",
      "exclusiveMinimum": 0
    },
    "seller_stated_tags_only": {
      "description": "When true, match only tags the seller asserted, excluding model-generated ones. Use when the buyer needs the seller to have made the claim themselves.",
      "type": "boolean"
    },
    "include_sold": {
      "description": "Also include works that have already sold. Off by default. Works taken off sale are never returned either way.",
      "type": "boolean"
    }
  },
  "required": [
    "query"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟒get_artwork(artwork_id)

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. Attributes are as stated by the seller, and a null means unspecified rather than estimated. Also returns TEMPORARY image URLs β€” show them to the buyer, but honour `expires_at` and re-fetch rather than caching or redistributing them. Use this before presenting a work to a buyer, and quote the `impression` label exactly as given.

Input Schema

{
  "type": "object",
  "properties": {
    "artwork_id": {
      "type": "string",
      "minLength": 1,
      "description": "artwork_id from search_artworks."
    }
  },
  "required": [
    "artwork_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒check_availability(listing_ids)

Re-check whether specific impressions are still purchasable, immediately before presenting them to a buyer or attempting a purchase. Each work here is unique or from a small edition, so an impression can sell between search and checkout. ALWAYS call this before offering a specific impression β€” offering a sold original is worse than offering nothing.

Input Schema

{
  "type": "object",
  "properties": {
    "listing_ids": {
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1
      },
      "description": "listing_id values from get_artwork."
    }
  },
  "required": [
    "listing_ids"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded3 tools
verifiedversion not recorded3 tools