connect
Server Details
AI-native art catalogue. Catalogue works, parse provenance, and generate signed RAIs.
- Status
- Unhealthy
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP
- URL
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
1 tool update
- Added
rai_links
50 tool updates
- Removed
accept_rai_request - Added
buyer_confirmations - Removed
cancel_rai_request - Added
condition_reports - Removed
confirm_pending_rai_issue - Added
consignment_requests - Removed
create_condition_report - Removed
create_consignment_request - Changed
create_custody_event1 field changed- changed
Input schema / properties / holder_entity_id / descriptionPrevious value: -"Optional entity UUID. Resolve via suggest_entity to link to an existing record (~2,500 seed entities cover major galleries, museums, and auction houses)."New value: +"Optional entity UUID. Resolve via the entities tool (action: \"suggest\") to link to an existing record (~2,500 seed entities cover major galleries, museums, and auction houses)."
- Removed
create_deal - Removed
create_delegation - Removed
create_entity - Removed
create_place - Added
deals - Removed
decline_pending_rai_issue - Removed
decline_rai_request - Added
delegations - Added
endorsements - Added
entities - Removed
fulfill_rai_request - Removed
get_deal - Removed
get_rai_request - Removed
get_rights_request - Removed
invalidate_buyer_confirmation - Removed
issue_endorsement - Removed
list_condition_reports - Removed
list_consignment_requests - Removed
list_deals - Removed
list_delegations - Removed
list_endorsements_issued - Removed
list_endorsements_received - Removed
list_pending_rai_issues - Removed
list_places - Removed
list_rai_requests - Removed
list_rights_requests - Removed
list_work_endorsements - Changed
parse_provenance1 field changed- changed
Input schema / properties / entries / items / properties / holder_id / descriptionPrevious value: -"Optional entity UUID from suggest_entity."New value: +"Optional entity UUID from the entities tool (action: \"suggest\")."
- Added
pending_rai_issues - Added
places - Added
rai_requests - Removed
resend_buyer_confirmation - Removed
respond_to_consignment_request - Removed
respond_to_rights_request - Removed
revoke_endorsement - Added
rights_requests - Changed
save_provenance1 field changed- changed
Input schema / properties / entries / items / properties / holder_id / descriptionPrevious value: -"Optional entity UUID from suggest_entity."New value: +"Optional entity UUID from the entities tool (action: \"suggest\")."
- Removed
submit_rai_request - Removed
suggest_entity - Removed
update_deal_state - Removed
update_delegation
27 tool updates
- Removed
analyze_work_image - Changed
create_condition_report1 field changed- changed
Input schema / properties / work_id / descriptionPrevious value: -"Look up via search_natural_language. Never ask the user for this."New value: +"Look up via search_works. Never ask the user for this."
- Changed
create_consignment_request1 field changed- changed
Input schema / properties / work_id / descriptionPrevious value: -"UUID of the target work. Use search_natural_language to resolve title → UUID."New value: +"UUID of the target work. Use search_works to resolve title → UUID."
- Changed
create_custody_event1 field changed- changed
Input schema / properties / work_id / descriptionPrevious value: -"Look up via search_natural_language. Never ask the user for this."New value: +"Look up via search_works. Never ask the user for this."
- Changed
create_note1 field changed- changed
Input schema / properties / work_id / descriptionPrevious value: -"Look up via search_natural_language. Never ask the user for this."New value: +"Look up via search_works. Never ask the user for this."
- Changed
create_rai1 field changed- changed
Input schema / properties / work_id / descriptionPrevious value: -"The work UUID. Look up via search_natural_language. Never ask the user for this."New value: +"The work UUID. Look up via search_works. Never ask the user for this."
- Changed
fulfill_rai_request1 field changed- changed
Input schema / properties / work_id / descriptionPrevious value: -"The work to authenticate. Resolve via search_natural_language. Never ask the user for the UUID."New value: +"The work to authenticate. Resolve via search_works. Never ask the user for the UUID."
- Removed
get_authentication_status - Changed
get_provenance1 field changed- changed
Input schema / properties / work_id / descriptionPrevious value: -"Look up via search_natural_language. Never ask the user for this."New value: +"Look up via search_works. Never ask the user for this."
- Changed
get_provenance_visual1 field changed- changed
Input schema / properties / work_id / descriptionPrevious value: -"Look up via search_natural_language — never ask the user for this."New value: +"Look up via search_works — never ask the user for this."
- Added
get_rai - Changed
get_upload_url1 field changed- changed
Input schema / properties / work_id / descriptionPrevious value: -"Look up via search_natural_language, or from the response of create_work. Never ask the user for this."New value: +"Look up via search_works, or from the response of create_work. Never ask the user for this."
- Changed
get_work1 field changed- changed
Input schema / properties / work_id / descriptionPrevious value: -"Look up via search_natural_language — never ask the user for this."New value: +"Look up via search_works — never ask the user for this."
- Removed
get_work_data - Changed
issue_endorsement1 field changed- changed
Input schema / properties / work_id / descriptionPrevious value: -"Omit for roster-level (all works). Set for per-work. Resolve via search_natural_language."New value: +"Omit for roster-level (all works). Set for per-work. Resolve via search_works."
- Changed
link_wallet_challenge1 field changed- changed
Input schema / properties / work_uwi / descriptionPrevious value: -"The work UWI (e.g., RAI-2026-00417) the challenge binds to. Look up via search_natural_language."New value: +"The work UWI (e.g., RAI-2026-00417) the challenge binds to. Look up via search_works."
- Changed
link_work_to_bibliography1 field changed- changed
Input schema / properties / work_id / descriptionPrevious value: -"Look up via search_natural_language. Never ask the user for this."New value: +"Look up via search_works. Never ask the user for this."
- Changed
link_work_to_exhibition1 field changed- changed
Input schema / properties / work_id / descriptionPrevious value: -"Look up via search_natural_language. Never ask the user for this."New value: +"Look up via search_works. Never ask the user for this."
- Changed
list_condition_reports1 field changed- changed
Input schema / properties / work_id / descriptionPrevious value: -"Look up via search_natural_language. Never ask the user for this."New value: +"Look up via search_works. Never ask the user for this."
- Changed
list_custody_events1 field changed- changed
Input schema / properties / work_id / descriptionPrevious value: -"Look up via search_natural_language. Never ask the user for this."New value: +"Look up via search_works. Never ask the user for this."
- Changed
list_rai_issues1 field changed- changed
Input schema / properties / work_id / descriptionPrevious value: -"From search_natural_language. Never ask the user for this."New value: +"From search_works. Never ask the user for this."
- Changed
list_work_endorsements1 field changed- changed
Input schema / properties / work_id / descriptionPrevious value: -"The work UUID. Look up via search_natural_language. Never ask the user for this."New value: +"The work UUID. Look up via search_works. Never ask the user for this."
- Changed
parse_provenance1 field changed- changed
Input schema / properties / work_id / descriptionPrevious value: -"Optional. Look up via search_natural_language if the user mentions a specific work."New value: +"Optional. Look up via search_works if the user mentions a specific work."
- Changed
record_sale1 field changed- changed
Input schema / properties / work_id / descriptionPrevious value: -"Look up via search_natural_language. Never ask the user for this."New value: +"Look up via search_works. Never ask the user for this."
- Changed
save_provenance1 field changed- changed
Input schema / properties / work_id / descriptionPrevious value: -"The work to save provenance for. Look up via search_natural_language. Never ask the user for this."New value: +"The work to save provenance for. Look up via search_works. Never ask the user for this."
- Removed
search_natural_language - Changed
update_work1 field changed- changed
Input schema / properties / work_id / descriptionPrevious value: -"Look up via search_natural_language. Never ask the user for this."New value: +"Look up via search_works. Never ask the user for this."
3 tool updates
- Changed
create_work4 fields changed- removed
Input schema / properties / dimensionsRemoved value: -{ - "additionalProperties": false, - "properties": { - "depth": { - "type": [ - "number", - "null" - ] - }, - "diameter": { - "type": [ - "number", - "null" - ] - }, - "height": { - "type": [ - "number", - "null" - ] - }, - "unit": { - "type": [ - "string", - "null" - ] - }, - "width": { - "type": [ - "number", - "null" - ] - } - }, - "type": "object" -} - removed
Input schema / properties / dimensions_displayRemoved value: -{ - "description": "e.g. \"36 × 24 in\"", - "type": "string" -} - removed
Input schema / properties / inscriptionsRemoved value: -{ - "description": "LEGACY (pre-ADR-0027). Prefer authentication_marker_value.wording. Retained during transition.", - "type": "string" -} - removed
Input schema / properties / signature_statusRemoved value: -{ - "description": "LEGACY (pre-ADR-0027). Prefer authentication_marker_type. Retained during transition.", - "enum": [ - "signed", - "unsigned", - "signed_and_dated", - "inscribed", - "signed_verso", - "stamped" - ], - "type": "string" -}
- Changed
create_works_batch12 fields changed- added
Input schema / properties / works / items / properties / authentication_marker_typeAdded value: +{ + "description": "ADR-0027 Identity Eight slot 8 discriminator. Ask using the per-category label (e.g. \"Inscription\" for a painting), never a generic \"signature\" field. \"unsigned\" / \"none\" are legitimate positive values. NFT: link_wallet_challenge + link_wallet_verify first. See create_work.", + "enum": [ + "physical_inscription", + "digital_signature", + "credits", + "score", + "instructions", + "certificate", + "generation_params", + "on_chain_signer", + "unsigned", + "none" + ], + "type": "string" +} - added
Input schema / properties / works / items / properties / authentication_marker_valueAdded value: +{ + "additionalProperties": {}, + "description": "ADR-0027 slot 8 variant payload. See create_work.", + "type": "object" +} - removed
Input schema / properties / works / items / properties / dimensions_displayRemoved value: -{ - "type": "string" -} - changed
Input schema / properties / works / items / properties / edition_status / descriptionPrevious value: -"Identity Eight field 6 — unique / numbered / artist_proof."New value: +"Identity Eight slot 6 — six values per ADR-0027: unique / numbered / artist_proof / open / variable / not_applicable. Omission blocks authentication." - changed
Input schema / properties / works / items / properties / edition_status / enumPrevious value: -[ - "unique", - "numbered", - "artist_proof" -]New value: +[ + "unique", + "numbered", + "artist_proof", + "open", + "variable", + "not_applicable" +] - added
Input schema / properties / works / items / properties / extent_typeAdded value: +{ + "description": "ADR-0027 Identity Eight slot 5 discriminator. See create_work.", + "enum": [ + "dimensions", + "duration", + "runtime", + "file_size", + "variable", + "not_applicable" + ], + "type": "string" +} - added
Input schema / properties / works / items / properties / extent_valueAdded value: +{ + "additionalProperties": {}, + "description": "ADR-0027 slot 5 variant payload. See create_work.", + "type": "object" +} - removed
Input schema / properties / works / items / properties / inscriptionsRemoved value: -{ - "description": "Free-text signature/inscription wording (orthogonal to signature_status).", - "type": "string" -} - added
Input schema / properties / works / items / properties / medium_categoryAdded value: +{ + "description": "ADR-0027 sibling — drives per-category labels + defaults for slots 5/7/8. See create_work.", + "enum": [ + "painting", + "sculpture", + "photography", + "print", + "drawing", + "time_based", + "software", + "nft", + "performance", + "installation", + "conceptual", + "generative", + "other" + ], + "type": "string" +} - added
Input schema / properties / works / items / properties / primary_work_file_typeAdded value: +{ + "description": "ADR-0027 sibling (NOT one of the Eight). For time_based / software / nft / generative. See create_work.", + "enum": [ + "sha256", + "ipfs_cid", + "arweave_tx", + "on_chain" + ], + "type": "string" +} - added
Input schema / properties / works / items / properties / primary_work_file_valueAdded value: +{ + "additionalProperties": {}, + "description": "ADR-0027 primary_work_file variant payload.", + "type": "object" +} - removed
Input schema / properties / works / items / properties / signature_statusRemoved value: -{ - "description": "Identity Eight field 8 — \"unsigned\" is a legitimate positive value.", - "enum": [ - "signed", - "unsigned", - "signed_and_dated", - "inscribed", - "signed_verso", - "stamped" - ], - "type": "string" -}
- Changed
update_work4 fields changed- removed
Input schema / properties / dimensionsRemoved value: -{ - "additionalProperties": false, - "properties": { - "depth": { - "type": [ - "number", - "null" - ] - }, - "diameter": { - "type": [ - "number", - "null" - ] - }, - "height": { - "type": [ - "number", - "null" - ] - }, - "unit": { - "type": [ - "string", - "null" - ] - }, - "width": { - "type": [ - "number", - "null" - ] - } - }, - "type": "object" -} - removed
Input schema / properties / dimensions_displayRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / inscriptionsRemoved value: -{ - "description": "LEGACY (pre-ADR-0027). Prefer authentication_marker_value.wording.", - "type": "string" -} - removed
Input schema / properties / signature_statusRemoved value: -{ - "description": "LEGACY (pre-ADR-0027). Prefer authentication_marker_type.", - "enum": [ - "signed", - "unsigned", - "signed_and_dated", - "inscribed", - "signed_verso", - "stamped" - ], - "type": "string" -}
6 tool updates
- Added
get_authentication_queue - Removed
get_signing_inbox - Added
list_authentication_devices - Removed
list_signing_keys - Added
retire_authentication_device - Removed
retire_signing_key
3 tool updates
- Added
get_rights_request - Added
list_rights_requests - Added
respond_to_rights_request
16 tool updates
- Added
confirm_pending_rai_issue - Added
create_consignment_request - Changed
create_work3 fields changed- added
Input schema / properties / ai_usage_restrictionsAdded value: +{ + "anyOf": [ + { + "additionalProperties": {}, + "type": "object" + }, + { + "type": "null" + } + ], + "description": "V1.1 AIPREF (ADR-0021) per-work override. Shape: { train_ai?: boolean, train_genai?: boolean, ai_use?: boolean, search?: boolean, all?: boolean }. true = allowed, false = restricted. NULL inherits the account default (protective for train_ai / train_genai / ai_use; permissive for search). Touching this on a signed work triggers pending_identity_resign." +} - added
Input schema / properties / attribution_overridesAdded value: +{ + "anyOf": [ + { + "additionalProperties": {}, + "type": "object" + }, + { + "type": "null" + } + ], + "description": "V1.1 attribution per-work override (ADR-0020, Berne Art. 6bis framing). Shape: { credit_line?: string, anonymity?: \"named\" | \"anonymous\" | \"pseudonymous\", pseudonym?: string }. NULL falls back to the computed credit line from the artist's display name. Touching this on a signed work triggers pending_identity_resign." +} - added
Input schema / properties / reproduction_rights_overridesAdded value: +{ + "anyOf": [ + { + "additionalProperties": {}, + "type": "object" + }, + { + "type": "null" + } + ], + "description": "V1.1 IPTC PLUS reproduction rights per-work override (ADR-0019). Shape per the IPTC PLUS vocabulary pinned in the credential at issuance. NULL inherits the account default. Touching this on a signed work triggers pending_identity_resign." +}
- Added
decline_pending_rai_issue - Added
get_authentication_status - Added
get_signing_inbox - Added
invalidate_buyer_confirmation - Added
list_consignment_requests - Added
list_pending_rai_issues - Added
list_rai_issues - Added
list_signing_keys - Added
resend_buyer_confirmation - Added
respond_to_consignment_request - Added
retire_signing_key - Added
update_account_rights_defaults - Changed
update_work3 fields changed- added
Input schema / properties / ai_usage_restrictionsAdded value: +{ + "anyOf": [ + { + "additionalProperties": {}, + "type": "object" + }, + { + "type": "null" + } + ], + "description": "V1.1 AIPREF per-work override (ADR-0021). { train_ai?, train_genai?, ai_use?, search?, all? }. true = allowed, false = restricted. NULL inherits the account default. Triggers pending_identity_resign on signed works." +} - added
Input schema / properties / attribution_overridesAdded value: +{ + "anyOf": [ + { + "additionalProperties": {}, + "type": "object" + }, + { + "type": "null" + } + ], + "description": "V1.1 attribution per-work override (ADR-0020). { credit_line?, anonymity?, pseudonym? }. NULL falls back to computed credit line. Triggers pending_identity_resign on signed works." +} - added
Input schema / properties / reproduction_rights_overridesAdded value: +{ + "anyOf": [ + { + "additionalProperties": {}, + "type": "object" + }, + { + "type": "null" + } + ], + "description": "V1.1 IPTC PLUS reproduction rights per-work override (ADR-0019). NULL inherits. Triggers pending_identity_resign on signed works." +}
10 tool updates
- Changed
confirm_website_import1 field changed- removed
Input schema / properties / works / items / properties / artwork_typeRemoved value: -{ - "type": [ - "string", - "null" - ] -}
- Added
create_delegation - Changed
create_work1 field changed- removed
Input schema / properties / artwork_typeRemoved value: -{ - "type": "string" -}
- Changed
create_works_batch1 field changed- removed
Input schema / properties / works / items / properties / artwork_typeRemoved value: -{ - "type": "string" -}
- Added
list_delegations - Changed
search_natural_language1 field changed- removed
Input schema / properties / artwork_typeRemoved value: -{ - "type": "string" -}
- Changed
search_works1 field changed- removed
Input schema / properties / artwork_typeRemoved value: -{ - "type": "string" -}
- Changed
search_works_visual1 field changed- removed
Input schema / properties / artwork_typeRemoved value: -{ - "type": "string" -}
- Added
update_delegation - Changed
update_work1 field changed- removed
Input schema / properties / artwork_typeRemoved value: -{ - "type": "string" -}
7 tool updates
- Changed
create_work11 fields changed- added
Input schema / properties / authentication_marker_typeAdded value: +{ + "description": "ADR-0027 Identity Eight slot 8 discriminator. Variants: physical_inscription (signature/monogram/stamp on physical works), digital_signature (master file or binary), credits (named in credits — time_based), score / instructions (performance/installation/conceptual), certificate (paper or PDF CoA), generation_params (seed + model + prompt — generative), on_chain_signer (NFT — embeds wallet-link proof; requires link_wallet_verify first), unsigned (artist asserts no inscription — positive value), none (no marker by nature — positive value, distinct from unsigned). Must be a value allowed by the work's medium_category per the config.", + "enum": [ + "physical_inscription", + "digital_signature", + "credits", + "score", + "instructions", + "certificate", + "generation_params", + "on_chain_signer", + "unsigned", + "none" + ], + "type": "string" +} - added
Input schema / properties / authentication_marker_valueAdded value: +{ + "additionalProperties": {}, + "description": "ADR-0027 Identity Eight slot 8 variant payload. Shape depends on authentication_marker_type. For on_chain_signer: { chain, wallet_address, wallet_link_id, challenge_text_hash, wallet_signature, verified_at } — call link_wallet_challenge + link_wallet_verify first; the verify response gives you wallet_link_id and the canonical payload. For physical_inscription: { wording? }. For generation_params: { seed, model, prompt, dimensions? }. For unsigned / none: {}.", + "type": "object" +} - changed
Input schema / properties / edition_status / descriptionPrevious value: -"Identity Eight field 6 — the edition shape. \"unique\" for one-off works. \"numbered\" requires edition_number + edition_total (X of Y). \"artist_proof\" uses edition_total as the AP count. Omission blocks authentication."New value: +"Identity Eight slot 6 — the edition shape. Six values per ADR-0027: \"unique\" (one-off), \"numbered\" (X of Y — requires edition_number + edition_total), \"artist_proof\" (edition_total = AP count), \"open\" (no fixed limit — software/photography/time-based), \"variable\" (every instance differs by design — generative/performance), \"not_applicable\" (no edition framing — conceptual/performance/software). Omission blocks authentication. Per-category allowed lists live in @raisonnai/shared/medium-categories." - changed
Input schema / properties / edition_status / enumPrevious value: -[ - "unique", - "numbered", - "artist_proof" -]New value: +[ + "unique", + "numbered", + "artist_proof", + "open", + "variable", + "not_applicable" +] - added
Input schema / properties / extent_typeAdded value: +{ + "description": "ADR-0027 Identity Eight slot 5 discriminator. Variants: dimensions (H × W × D — physical), duration (ISO 8601 / seconds — time_based), runtime (CPU/render time — software/generative), file_size (bytes — software), variable (installation/performance), not_applicable (conceptual). Must be a value allowed by the work's medium_category per the config.", + "enum": [ + "dimensions", + "duration", + "runtime", + "file_size", + "variable", + "not_applicable" + ], + "type": "string" +} - added
Input schema / properties / extent_valueAdded value: +{ + "additionalProperties": {}, + "description": "ADR-0027 Identity Eight slot 5 variant payload. Shape depends on extent_type: dimensions = { height, width, depth?, diameter?, unit }; duration = { iso_8601 | seconds }; runtime = { seconds }; file_size = { bytes }; variable = { note? }; not_applicable = {}.", + "type": "object" +} - changed
Input schema / properties / inscriptions / descriptionPrevious value: -"Free-text signature/inscription wording, e.g. \"Signed l.r. in graphite: Julia McDaid 2026.\" Orthogonal to signature_status — may be empty even when signature_status is set (e.g., when signature_status is \"unsigned\")."New value: +"LEGACY (pre-ADR-0027). Prefer authentication_marker_value.wording. Retained during transition." - added
Input schema / properties / medium_categoryAdded value: +{ + "description": "ADR-0027 sibling field. Picks one of thirteen categories. Drives per-category defaults for slots 5, 7, 8 + primary_work_file requirement. Required to reach Ready to authenticate. Use the user's own framing: \"video\" / \"film\" / \"sound\" → time_based; \"binary\" / \"app\" / \"software\" → software; \"NFT\" / \"on-chain\" → nft.", + "enum": [ + "painting", + "sculpture", + "photography", + "print", + "drawing", + "time_based", + "software", + "nft", + "performance", + "installation", + "conceptual", + "generative", + "other" + ], + "type": "string" +} - added
Input schema / properties / primary_work_file_typeAdded value: +{ + "description": "ADR-0027 sibling reference. Required for time_based / software / nft / generative categories. NOT one of the Identity Eight. sha256 = Raisonnai stores or co-stores the file; ipfs_cid = IPFS content identifier (already a hash); arweave_tx = Arweave transaction ID; on_chain = chain reference for NFT works. Column NULL when absent — there is no `none` value.", + "enum": [ + "sha256", + "ipfs_cid", + "arweave_tx", + "on_chain" + ], + "type": "string" +} - added
Input schema / properties / primary_work_file_valueAdded value: +{ + "additionalProperties": {}, + "description": "ADR-0027 primary_work_file variant payload. Shape depends on primary_work_file_type. sha256: { hash, byte_length, mime_type?, storage_uris: string[] } — storage_uris are non-canonical (multi-location redundancy doesn't invalidate the credential). ipfs_cid: { cid, codec?, gateway_uris?: string[] }. arweave_tx: { tx_id, gateway_uris?: string[] }. on_chain: { chain, contract_address, token_id, token_uri, token_uri_resolved_at, token_uri_mutable, token_uri_content_hash, token_uri_metadata_excerpt } — call /on-chain/resolve-token-uri to populate the resolved fields.", + "type": "object" +} - changed
Input schema / properties / signature_status / descriptionPrevious value: -"Identity Eight field 8 — the artist's positive assertion about signature/inscription. \"unsigned\" is a legitimate value meaning the artist confirms the work is unsigned (NOT equivalent to leaving this field blank). Omission blocks authentication."New value: +"LEGACY (pre-ADR-0027). Prefer authentication_marker_type. Retained during transition."
- Added
link_wallet_challenge - Added
link_wallet_verify - Added
list_wallet_links - Added
revoke_wallet_link - Changed
submit_rai_request1 field changed- changed
Input schema / properties / purpose / descriptionPrevious value: -"Why the record is needed: purchase, verification, insurance, estate_planning, loan, other. Always required."New value: +"Why the Report is needed: purchase, verification, insurance, estate_planning, loan, other. Always required."
- Changed
update_work11 fields changed- added
Input schema / properties / authentication_marker_typeAdded value: +{ + "description": "ADR-0027 slot 8 discriminator. For on_chain_signer (NFT), call link_wallet_challenge + link_wallet_verify first.", + "enum": [ + "physical_inscription", + "digital_signature", + "credits", + "score", + "instructions", + "certificate", + "generation_params", + "on_chain_signer", + "unsigned", + "none" + ], + "type": "string" +} - added
Input schema / properties / authentication_marker_valueAdded value: +{ + "additionalProperties": {}, + "description": "ADR-0027 slot 8 variant payload.", + "type": "object" +} - changed
Input schema / properties / edition_status / descriptionPrevious value: -"Identity Eight field 6 — edition shape (unique / numbered / artist_proof). Changing this on a signed work triggers pending_resignature."New value: +"Identity Eight slot 6 (ADR-0027 expanded). Six values: unique / numbered / artist_proof / open / variable / not_applicable. Changing this on a signed work triggers pending_identity_resign." - changed
Input schema / properties / edition_status / enumPrevious value: -[ - "unique", - "numbered", - "artist_proof" -]New value: +[ + "unique", + "numbered", + "artist_proof", + "open", + "variable", + "not_applicable" +] - added
Input schema / properties / extent_typeAdded value: +{ + "description": "ADR-0027 slot 5 discriminator.", + "enum": [ + "dimensions", + "duration", + "runtime", + "file_size", + "variable", + "not_applicable" + ], + "type": "string" +} - added
Input schema / properties / extent_valueAdded value: +{ + "additionalProperties": {}, + "description": "ADR-0027 slot 5 variant payload.", + "type": "object" +} - changed
Input schema / properties / inscriptions / descriptionPrevious value: -"Free-text signature/inscription wording. Changing this on a signed work triggers pending_resignature (the wording is part of the signed canonical record)."New value: +"LEGACY (pre-ADR-0027). Prefer authentication_marker_value.wording." - added
Input schema / properties / medium_categoryAdded value: +{ + "description": "ADR-0027 sibling field — changing on signed work triggers pending_identity_resign.", + "enum": [ + "painting", + "sculpture", + "photography", + "print", + "drawing", + "time_based", + "software", + "nft", + "performance", + "installation", + "conceptual", + "generative", + "other" + ], + "type": "string" +} - added
Input schema / properties / primary_work_file_typeAdded value: +{ + "description": "ADR-0027 sibling reference (NOT one of the Eight). Required for time_based / software / nft / generative.", + "enum": [ + "sha256", + "ipfs_cid", + "arweave_tx", + "on_chain" + ], + "type": "string" +} - added
Input schema / properties / primary_work_file_valueAdded value: +{ + "additionalProperties": {}, + "description": "ADR-0027 primary_work_file variant payload.", + "type": "object" +} - changed
Input schema / properties / signature_status / descriptionPrevious value: -"Identity Eight field 8 — artist's positive assertion about signature/inscription. \"unsigned\" is a legitimate value. Changing this on a signed work triggers pending_resignature."New value: +"LEGACY (pre-ADR-0027). Prefer authentication_marker_type."
3 tool updates
- Changed
create_work1 field changed- removed
Input schema / properties / edition_typeRemoved value: -{ - "description": "LEGACY free-text edition descriptor. Prefer edition_status for new records.", - "type": "string" -}
- Changed
create_works_batch1 field changed- removed
Input schema / properties / works / items / properties / edition_typeRemoved value: -{ - "description": "LEGACY — prefer edition_status.", - "type": "string" -}
- Changed
update_work1 field changed- removed
Input schema / properties / edition_typeRemoved value: -{ - "description": "LEGACY — prefer edition_status.", - "type": "string" -}
3 tool updates
- Changed
create_work6 fields changed- added
Input schema / properties / edition_number / descriptionAdded value: +"Required when edition_status is \"numbered\" (the X in X of Y)." - added
Input schema / properties / edition_statusAdded value: +{ + "description": "Identity Eight field 6 — the edition shape. \"unique\" for one-off works. \"numbered\" requires edition_number + edition_total (X of Y). \"artist_proof\" uses edition_total as the AP count. Omission blocks authentication.", + "enum": [ + "unique", + "numbered", + "artist_proof" + ], + "type": "string" +} - added
Input schema / properties / edition_total / descriptionAdded value: +"Required when edition_status is \"numbered\" (the Y in X of Y) or \"artist_proof\" (the AP count)." - added
Input schema / properties / edition_type / descriptionAdded value: +"LEGACY free-text edition descriptor. Prefer edition_status for new records." - added
Input schema / properties / inscriptions / descriptionAdded value: +"Free-text signature/inscription wording, e.g. \"Signed l.r. in graphite: Julia McDaid 2026.\" Orthogonal to signature_status — may be empty even when signature_status is set (e.g., when signature_status is \"unsigned\")." - added
Input schema / properties / signature_statusAdded value: +{ + "description": "Identity Eight field 8 — the artist's positive assertion about signature/inscription. \"unsigned\" is a legitimate value meaning the artist confirms the work is unsigned (NOT equivalent to leaving this field blank). Omission blocks authentication.", + "enum": [ + "signed", + "unsigned", + "signed_and_dated", + "inscribed", + "signed_verso", + "stamped" + ], + "type": "string" +}
- Changed
create_works_batch6 fields changed- added
Input schema / properties / works / items / properties / edition_numberAdded value: +{ + "type": "integer" +} - added
Input schema / properties / works / items / properties / edition_statusAdded value: +{ + "description": "Identity Eight field 6 — unique / numbered / artist_proof.", + "enum": [ + "unique", + "numbered", + "artist_proof" + ], + "type": "string" +} - added
Input schema / properties / works / items / properties / edition_totalAdded value: +{ + "type": "integer" +} - added
Input schema / properties / works / items / properties / edition_typeAdded value: +{ + "description": "LEGACY — prefer edition_status.", + "type": "string" +} - added
Input schema / properties / works / items / properties / inscriptionsAdded value: +{ + "description": "Free-text signature/inscription wording (orthogonal to signature_status).", + "type": "string" +} - added
Input schema / properties / works / items / properties / signature_statusAdded value: +{ + "description": "Identity Eight field 8 — \"unsigned\" is a legitimate positive value.", + "enum": [ + "signed", + "unsigned", + "signed_and_dated", + "inscribed", + "signed_verso", + "stamped" + ], + "type": "string" +}
- Changed
update_work4 fields changed- added
Input schema / properties / edition_statusAdded value: +{ + "description": "Identity Eight field 6 — edition shape (unique / numbered / artist_proof). Changing this on a signed work triggers pending_resignature.", + "enum": [ + "unique", + "numbered", + "artist_proof" + ], + "type": "string" +} - added
Input schema / properties / edition_type / descriptionAdded value: +"LEGACY — prefer edition_status." - added
Input schema / properties / inscriptions / descriptionAdded value: +"Free-text signature/inscription wording. Changing this on a signed work triggers pending_resignature (the wording is part of the signed canonical record)." - added
Input schema / properties / signature_statusAdded value: +{ + "description": "Identity Eight field 8 — artist's positive assertion about signature/inscription. \"unsigned\" is a legitimate value. Changing this on a signed work triggers pending_resignature.", + "enum": [ + "signed", + "unsigned", + "signed_and_dated", + "inscribed", + "signed_verso", + "stamped" + ], + "type": "string" +}
2 tool updates
- Added
create_custody_event - Added
list_custody_events
8 tool updates
- Changed
create_rai1 field changed- changed
Input schema / properties / work_id / descriptionPrevious value: -"The work UUID. Look up via search_natural_language — never ask the user for this."New value: +"The work UUID. Look up via search_natural_language. Never ask the user for this."
- Changed
fulfill_rai_request1 field changed- changed
Input schema / properties / work_id / descriptionPrevious value: -"The work to authenticate. Resolve via search_natural_language — never ask the user for the UUID."New value: +"The work to authenticate. Resolve via search_natural_language. Never ask the user for the UUID."
- Changed
get_provenance1 field changed- changed
Input schema / properties / work_id / descriptionPrevious value: -"Look up via search_natural_language — never ask the user for this."New value: +"Look up via search_natural_language. Never ask the user for this."
- Changed
issue_endorsement1 field changed- changed
Input schema / properties / artist_account_id / descriptionPrevious value: -"Account ID of the artist being endorsed. Resolve via get_profile or the authorization record."New value: +"Account ID of the account being endorsed (artist, estate, foundation, or scholar). Resolve via get_profile or the authorization record. Parameter name is historic; the receiver does not have to be an artist account."
- Changed
list_work_endorsements1 field changed- changed
Input schema / properties / work_id / descriptionPrevious value: -"The work UUID. Look up via search_natural_language — never ask the user for this."New value: +"The work UUID. Look up via search_natural_language. Never ask the user for this."
- Changed
parse_provenance2 fields changed- changed
Input schema / properties / entries / items / properties / event_type / descriptionPrevious value: -"Work-centric event type. Transfer type (ownership/custody) is derived at the API level."New value: +"Work-centric ownership transfer. Consignments, loans, and deposits are CUSTODY events (the work moves but ownership does not) and live on a separate timeline. Do not write them here. See parse_provenance description for routing." - changed
Input schema / properties / entries / items / properties / event_type / enumPrevious value: -[ - "sold", - "gifted", - "bequeathed", - "consigned", - "loaned", - "deposited", - "returned", - "exchanged", - "inherited", - "seized", - "found", - "transferred", - "created", - "unknown" -]New value: +[ + "sold", + "gifted", + "bequeathed", + "returned", + "exchanged", + "inherited", + "seized", + "found", + "transferred", + "created", + "unknown" +]
- Changed
save_provenance3 fields changed- changed
Input schema / properties / entries / items / properties / event_type / descriptionPrevious value: -"Work-centric event type. Transfer type (ownership/custody) is derived at the API level."New value: +"Work-centric ownership transfer. Consignments, loans, and deposits are CUSTODY events (the work moves but ownership does not) and live on a separate timeline. Do not write them here. See parse_provenance description for routing." - changed
Input schema / properties / entries / items / properties / event_type / enumPrevious value: -[ - "sold", - "gifted", - "bequeathed", - "consigned", - "loaned", - "deposited", - "returned", - "exchanged", - "inherited", - "seized", - "found", - "transferred", - "created", - "unknown" -]New value: +[ + "sold", + "gifted", + "bequeathed", + "returned", + "exchanged", + "inherited", + "seized", + "found", + "transferred", + "created", + "unknown" +] - changed
Input schema / properties / work_id / descriptionPrevious value: -"The work to save provenance for. Look up via search_natural_language — never ask the user for this."New value: +"The work to save provenance for. Look up via search_natural_language. Never ask the user for this."
- Changed
update_work1 field changed- changed
Input schema / properties / work_id / descriptionPrevious value: -"Look up via search_natural_language — never ask the user for this."New value: +"Look up via search_natural_language. Never ask the user for this."
7 tool updates
- Added
cancel_rai_request - Removed
create_rai_request - Changed
decline_rai_request1 field changed- added
Input schema / properties / reasonAdded value: +{ + "description": "Optional. Shared with the requester in the decline email.", + "maxLength": 500, + "type": "string" +}
- Changed
fulfill_rai_request3 fields changed- added
Input schema / properties / messageAdded value: +{ + "description": "Optional note attached to the fulfillment email.", + "maxLength": 2000, + "type": "string" +} - changed
Input schema / properties / pin / descriptionPrevious value: -"PIN the requester will enter to open the view. Ask the user to choose one; never invent."New value: +"PIN the requester will enter. Required for unauthenticated requesters; optional when the requester has a Raisonnai account. Ask the user to choose one if needed; never invent." - changed
Input schema / requiredPrevious value: -[ - "request_id", - "work_id", - "pin" -]New value: +[ + "request_id", + "work_id" +]
- Added
get_rai_request - Changed
list_rai_requests1 field changed- added
Input schema / properties / directionAdded value: +{ + "default": "inbox", + "description": "Which side: \"inbox\" for requests addressed to the user (artist), \"outgoing\" for requests the user has sent.", + "enum": [ + "inbox", + "outgoing" + ], + "type": "string" +}
- Added
submit_rai_request
5 tool updates
- Added
create_deal - Changed
create_note1 field changed- changed
Input schema / properties / visibility / enumPrevious value: -[ - "private", - "authorized_dealers", - "all_authorized" -]New value: +[ + "private", + "public", + "authorized" +]
- Added
get_deal - Added
list_deals - Added
update_deal_state
1 tool update
- Added
analyze_work_image
10 tool updates
- Added
accept_rai_request - Added
create_rai_request - Added
decline_rai_request - Added
fulfill_rai_request - Added
issue_endorsement - Added
list_endorsements_issued - Added
list_endorsements_received - Added
list_rai_requests - Added
list_work_endorsements - Added
revoke_endorsement
1 tool update
- Changed
parse_artwork_page1 field changed- changed
Input schema / properties / content / descriptionPrevious value: -"The raw HTML or plain text content containing artwork information. Can be a full HTML page, a fragment, or plain text with artwork details."New value: +"Raw HTML containing schema.org / JSON-LD markup for artworks. Plain text without structured markup will return zero works."
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Original art from galleries and artists: semantic search, provenance, live availability.
Art provenance intelligence — 282K-node knowledge graph with cited answers and honest gaps.
AI training dataset marketplace: 2M+ museum artworks with Golden Codex enrichment
Discover, browse, and collect from 500+ on-chain generative art projects.
Related MCP Servers
AlicenseAqualityDmaintenanceBitcoin-anchored provenance for AI outputs; enables stamping, verifying, and tracing outputs with offline-verifiable canonical roots.3Apache 2.0- AlicenseNot gradedqualityCmaintenanceEnables agentic creators to generate images, videos, and audio, run taste-based scoring, and publish through human-gated signed manifests using their own keys and local provenance.MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI agents to query the largest CC0 database for provenance, license verification, and market data, and generate CC0 images, all via pay-per-call x402 micropayments.-
- AlicenseAqualityDmaintenanceEnables AI agents to certify their creations with verifiable, timestamped proof anchored to Bitcoin, and to verify certificates.3MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Most tools have distinct purposes with detailed descriptions that clarify boundaries. However, the high count (75) increases the chance of misselection, especially among similar tools like search variants (search_natural_language, search_works, search_works_visual) and work retrieval (get_work, get_work_data).
Tools generally follow verb_noun snake_case, but there are inconsistencies: plural vs singular (create_works_batch vs create_work), different verbs for similar actions (retire vs revoke), and mixed verb choices (fulfill vs submit, respond_to vs accept/decline).
75 tools is excessive for even a broad domain like art cataloguing. Many tools could be consolidated (e.g., list/get pairs, multiple search tools, separate tools for RAI request lifecycle). This high count burdens agents with selection complexity.
The tool set is remarkably comprehensive, covering creation, retrieval, update, and deletion/archival for works, entities, exhibitions, provenance, condition reports, consignment, deals, authentication, endorsements, and more. No major gaps are apparent.