# connect MCP server

AI-native art catalogue. Catalogue works, parse provenance, and generate signed RAIs.

## Links
- Registry page: https://www.getdrio.com/mcp/ai-raisonn-connect
- Repository: https://github.com/raisonnai/raisonnai

## Install
- Endpoint: https://mcp.raisonn.ai/mcp
- Auth: Not captured

## Setup notes
- Remote endpoint: https://mcp.raisonn.ai/mcp

## Tools
- connect_catalogue (Connect Catalogue) - Connect to the user's catalogue using a pairing code. IMPORTANT: Most users connect via OAuth (sign-in popup) — if get_profile already works, the user is connected and you do NOT need this tool. Only use this tool when: (1) get_profile returns an authentication error, AND (2) the user shares a code matching the pattern WORD-1234 (e.g., TULIP-3657). Never proactively ask for a pairing code — try get_profile first. If the user does share a code, call this tool immediately without asking for confirmation. Never say "pairing code" to the user — just say "your code" or refer to it naturally. Endpoint: https://mcp.raisonn.ai/mcp
- get_profile (Get Profile) - Get the artist profile (including artist_id). Call at the START of every conversation — before responding. Also call after connect_catalogue. Cache artist_id for the session. Endpoint: https://mcp.raisonn.ai/mcp
- get_work (Get Work Detail) - Get full details for a work including images, provenance, exhibitions, and bibliography. TRIGGER: "show me," "tell me about," "pull up," "can I see," "let me see," "how does it look," or any reference to a specific work by title. Resolve work_id via search_works — never ask the user. When presenting: describe the image first, then summarize data naturally — do not dump raw fields. Endpoint: https://mcp.raisonn.ai/mcp
- search_works_visual (Visual Search Works) - Display search results as an interactive visual grid. Use this when the user wants to browse or see their works visually. TRIGGER: "show me my works," "browse inventory," "let me see what I have." For text-only results or counts, use search_works instead. Endpoint: https://mcp.raisonn.ai/mcp
- get_provenance_visual (Visual Provenance Timeline) - Display provenance as an interactive visual timeline. TRIGGER: "show provenance," "ownership history," "who owned this." For text-only provenance, use get_provenance instead. Endpoint: https://mcp.raisonn.ai/mcp
- search_works (Search Works) - THE search tool — find works by name / title / descriptive query and/or structured filters, or get a count. The default way to resolve a work_id before calling get_work, update_work, get_upload_url, or any tool needing one. TRIGGER: "what do I have," "how many works," "show me sold works," "the blue painting," "Self-Portrait," "where's that piece from last year." YOU (the connected AI) translate the user's phrasing: pass title/medium text as `search`, and set any structured filters you can infer (status, date_start/date_end, medium, series_name, current_location_type, sort). E.g. "sold paintings from the 90s" → search:"painting", status:"sold", date_start:1990, date_end:1999. Follow-ups: "also/too" → add filters; "only/just" → narrow; "actually/instead" → replace. Never filter results in chat — re-call this tool for any change. Endpoint: https://mcp.raisonn.ai/mcp
- create_work (Create Work) - Add a new artwork to the catalogue — the primary tool to create / catalogue / record / log ONE new work (painting, sculpture, photograph, print, drawing, video, software, NFT, performance, installation, etc.) into the artist's catalogue or inventory. TRIGGER: user shares a photo, describes a work, mentions a title, or says "add a work," "create a work," "new work / piece / artwork," "catalogue this," "record this," "put this in my catalogue / inventory." For MULTIPLE works at once, use create_works_batch instead. Only title and artist_id are required. Infer what you can (medium, date, extent, edition) and present ONE summary — never ask field by field. Wait for confirmation before calling. After creating, proactively call get_upload_url if the user mentioned an image. If the user has a CSV or spreadsheet file, direct them to raisonn.ai/import. artist_id from get_profile — never ask the user. To reach "Ready to authenticate," populate the typed Identity Eight for the work's medium_category (medium_category, extent_type/extent_value, edition_status, authentication_marker_type/authentication_marker_value, plus image via get_upload_url and, for media-native works, primary_work_file) — each field's own description carries its variants and per-category label. Ask with the medium-appropriate label, never a generic "signature" field (e.g. "Inscription" for a painting). `unsigned`/`none` are valid positive marker values. NFT: call link_wallet_challenge + link_wallet_verify first. After success, ask if they'd like to see how it looks. Then call get_work to show the visual card. Endpoint: https://mcp.raisonn.ai/mcp
- update_work (Update Work) - Update fields on an existing work. Send only the fields that are changing. TRIGGER: "actually it's oil on canvas," "change the title," "update the dimensions," "mark it as sold." For "delete"/"remove"/"clean up," set status to "archived" immediately without asking. Resolve work_id via search_works. Never ask the user. Side effect: editing a signed work's Identity-Eight / typed-slot / declared-rights field triggers `pending_identity_resign` (artist must re-confirm in Raisonnai before a new VC issues); status / location / description / classification do not. Tell the user when it triggers. After success, ask if they'd like to see how it looks. Then call get_work to show the visual card. Endpoint: https://mcp.raisonn.ai/mcp
- create_works_batch (Batch Create Works) - Create multiple artworks at once (up to 50) — batch create / catalogue / add / import several works into the catalogue or inventory in one call. TRIGGER: user pastes a list or describes multiple works — "I have a bunch of works," "here's my inventory," "add these," "catalogue all of these." For a SINGLE work use create_work. Extract all you can per work — title, date, medium, extent, edition, authentication marker, series. Present a summary and wait for confirmation. If the user has a CSV or spreadsheet file, direct them to raisonn.ai/import instead. artist_id from get_profile — never ask the user. Per-work typed Identity Eight is identical to create_work: populate medium_category, extent_type/extent_value, edition_status, authentication_marker_type/value per work (each field's description carries its variants + per-category label; ask with the medium-appropriate label, never a generic "signature"). Image uploads separately via get_upload_url. `unsigned`/`none` are valid positive marker values. After success, ask if they'd like to see any of the works. Then call get_work to show the visual card. Endpoint: https://mcp.raisonn.ai/mcp
- get_provenance (Get Provenance Chain) - Get the full provenance chain (ownership history) for a work. TRIGGER: "who owned this," "provenance," "ownership history," "where has this been." Present as a readable narrative timeline, not raw data. Flag gaps as areas for research. Provenance is ownership only. Consignments and loans are custody events tracked on a separate timeline. Use list_custody_events to read the custody timeline and create_custody_event to record new consignments or loans. Resolve work_id via search_works. Endpoint: https://mcp.raisonn.ai/mcp
- parse_provenance (Parse Provenance Text) - Parse unstructured provenance text into structured entries. Read-only — does NOT save. TRIGGER: User pastes provenance text, gallery records, auction history, or says "here's the provenance," "this passed through Gagosian." Flow: parse_provenance → present results for review → save_provenance. Never skip the review step. After confirmation, call save_provenance to write entries to the catalogue.

YOU (the connected AI) do the parsing — this tool does not call a server. Parse the text into structured entries and pass them as the `entries` parameter. Each entry needs at minimum: holder_name. Also extract: holder_type (individual/gallery/museum/auction_house/institution/private_collection/foundation/unknown), holder_city, holder_country, event_type (sold/gifted/bequeathed/returned/exchanged/inherited/seized/found/transferred/created/unknown), date_start_year, date_start_display (human-readable, e.g. "ca. 1960", "by 1965"), date_end_year, date_end_display, date_start_approximate/date_end_approximate (boolean), certainty_level (certain/probable/possible), gap_before (boolean if gap in chain), and notes. Return entries in chronological order (earliest first). IMPORTANT: If the text describes a consignment, loan, or deposit, do NOT extract those as provenance entries. Those are custody events (the work moves physically but ownership does not), tracked on a separate timeline. Use create_custody_event to record them instead, with kind=consignment or kind=loan (historical "deposit" language in old catalogues maps to loan). Endpoint: https://mcp.raisonn.ai/mcp
- save_provenance (Save Provenance Entries) - Save confirmed provenance entries to a work. WRITE operation — NEVER call without user confirmation. Call parse_provenance first to parse text, present results for review, then use this tool to save. Set source to "ai_parsed" for parsed entries, "manual" for user-provided. Side effect: if the work is signed, this puts it in `pending_resignature` — the authenticator must re-confirm in Raisonnai before a new VC issues. Tell the user. After success, ask if they'd like to see the provenance timeline. Then call get_provenance_visual. Also offer to show the updated work card via get_work. Endpoint: https://mcp.raisonn.ai/mcp
- create_exhibition (Create Exhibition) - Add an exhibition to the catalogue. Only artist_id and title required. TRIGGER: "I was in a show at," "I showed at MoMA," "here's my CV," or any mention of exhibitions, shows, or fairs. Extract all details you can and present a summary before saving. For CV bulk import, create one at a time. artist_id from get_profile. Never ask the user. Endpoint: https://mcp.raisonn.ai/mcp
- link_work_to_exhibition (Link Work to Exhibition) - Associate a work with an exhibition. Both IDs must be resolved beforehand — use search_works to find the work_id by title, and the exhibition must have been created via create_exhibition. Never ask the user for UUIDs — resolve them from names and titles. Side effect: if the work is signed, this puts it in `pending_resignature` — the authenticator must re-confirm in Raisonnai before a new VC issues. Tell the user. After success, ask if they'd like to see the updated work. Then call get_work to show the visual card. Endpoint: https://mcp.raisonn.ai/mcp
- create_bibliography (Create Bibliography) - Add a bibliography entry — a publication referencing the artist's work. TRIGGER: "published in," "there's a book about," "catalogue for my show," "written up in," or user shares publication details. Extract title, author, publisher, year, and type. Present a summary and confirm before saving. artist_id from get_profile. Never ask the user. Endpoint: https://mcp.raisonn.ai/mcp
- link_work_to_bibliography (Link Work to Bibliography) - Associate a work with a bibliography entry — recording that a specific publication references or illustrates this work. Include page reference, plate number, or illustration details if available. Never ask the user for UUIDs — resolve work_id via search_works, and bibliography_id from the create_bibliography response. Side effect: if the work is signed, this puts it in `pending_resignature` — the authenticator must re-confirm in Raisonnai before a new VC issues. Tell the user. After success, ask if they'd like to see the updated work. Then call get_work to show the visual card. Endpoint: https://mcp.raisonn.ai/mcp
- create_note (Create Note) - Add a note to a work — annotations, research notes, or contextual information. TRIGGER: "note that," "remind me about," "there's a story behind this," "I should remember," or any context the user wants recorded. Default visibility to "private" unless the user specifies otherwise. Visibility levels: "private" (only the artist), "authorized" (anyone with delegated access), "public" (shown on the public catalogue and on every shared RAI). Resolve work_id via search_works. Side effect: if the work is signed, any note write may put it in `pending_resignature` regardless of visibility — the current aggregate does not filter by visibility, so even private notes can trip the signal. Tell the user when this happens. After success, ask if they'd like to see the updated work. Then call get_work to show the visual card. Endpoint: https://mcp.raisonn.ai/mcp
- upload_images (Upload Images) - Upload images to the catalogue. Use this tool for ANY image upload request — one image or many. TRIGGER: "upload images," "add photos," "I have pictures," "upload a photo of," "here are my images," "attach image," or any mention of adding images/photos to the catalogue. Returns a link to the upload page where the artist can drag-and-drop files. Filenames are auto-matched to works. Original files preserved at full resolution. IMPORTANT: Never ask the artist to send or attach images in chat — chat images are compressed and unsuitable for the catalogue. Endpoint: https://mcp.raisonn.ai/mcp
- get_upload_url (Get Single Image Upload Link) - Generate a direct upload link for a SINGLE image on a SPECIFIC work. Only use this immediately after creating a work when the user mentioned having an image for it. For general image uploads (user says "upload images," "add photos," etc.), use upload_images instead. Never call this tool in a loop. Never ask about file format. Endpoint: https://mcp.raisonn.ai/mcp
- entities (Entities) - People & organizations referenced in the catalogue (provenance holders, exhibition venues, bibliography authors, sale buyers). action "suggest": search existing entities by name for the autocomplete-or-create flow — read-only; ~2,500 major galleries/museums/auction houses are seeded. ALWAYS suggest before create to dedupe. action "create": add a new entity — write. Include city/country when known to help dedupe. Endpoint: https://mcp.raisonn.ai/mcp
- record_sale (Record Sale) - Record a sale of a work. Auto-creates provenance entry (buyer as new holder) and sets status to "sold." TRIGGER: "I sold this," "a collector bought," "the gallery sold," or any completed sale. IMPORTANT: Present a summary (work, buyer, price, date) and explain the side effects before calling. After success, confirm what happened including the provenance update. Then ask if they'd like to see the updated ownership history — call get_provenance_visual for the timeline, or get_work for the full card. Required: work_id, artist_id, buyer_name, sale_price, sale_date. Resolve IDs via search_works and get_profile. Side effect: after the sale lands, the work enters `pending_resignature` — the artist must re-confirm the updated record in Raisonnai before a new VC issues to the buyer. Tell the user. Endpoint: https://mcp.raisonn.ai/mcp
- extract_artwork_data (Extract Artwork Data from URL) - Crawl a URL and extract artworks from embedded schema.org / JSON-LD structured data — museum pages, gallery sites, and portfolios that publish VisualArtwork or CreativeWork markup. Returns structured works without saving. Present results to the artist, then call confirm_website_import to save. Polls up to 50s; if incomplete, job continues in background. FALLBACK: If the site has no schema.org markup, this returns zero works. In that case, fetch the page yourself (use your own web browsing), parse the artwork details, and call create_works_batch directly to save them — do not retry through this tool. parse_artwork_page is only useful when you have HTML containing schema.org markup. Endpoint: https://mcp.raisonn.ai/mcp
- parse_artwork_page (Parse Artwork from HTML with schema.org markup) - Extract works from raw HTML containing schema.org / JSON-LD markup — no URL fetching. Only works when the HTML embeds VisualArtwork or CreativeWork JSON-LD blocks. For unstructured HTML or plain text, do NOT use this tool. Instead, parse the content yourself and call create_works_batch directly with the structured records. NOTE: This tool has no job_id, so save via create_works_batch (not confirm_website_import). For images, direct the user to raisonn.ai/import/images after creating works. Endpoint: https://mcp.raisonn.ai/mcp
- confirm_website_import (Confirm Website Import) - Save works extracted from a website import after the artist has confirmed them. Call this after presenting import_from_website results and receiving artist approval. Creates the works, triggers auto-provenance, and imports images from the website in one operation. Set skip: true for any works the artist wants to exclude (duplicates, unwanted). Pass artist-corrected values for any fields the artist edited during review. Use get_profile to obtain artist_id. Never ask the user for it. After success, ask if they'd like to see any of the imported works. Then call get_work to show the visual card. Endpoint: https://mcp.raisonn.ai/mcp
- get_rai (Get RAI) - Get the full RAI — the signed credential bundle for one work (everything Raisonnai knows about it). Includes: core identity, provenance chain, exhibition history, bibliography, media set, condition history, Report strength signals (machine-readable booleans + counts) plus tier (Catalogued / Authenticated), attestation log, and cryptographic credentials. When telling the user about a work's strength, state the TIER (e.g. Authenticated) and the concrete gaps from the signals (e.g. no exhibitions yet, provenance depth 1) — never a numeric score. There is no 0–100 number in this payload by design; do not invent or imply one. Use this when an agent needs the complete picture for reasoning about an artwork — verification, purchase evaluation, provenance assessment, or portfolio analysis. For lightweight queries (just title, medium, images), use get_work instead. Resolve the work by either workId (UUID) or uwi (e.g. "RAI-2026-00417"). To find the workId, use search_works. Never ask the user for it. Endpoint: https://mcp.raisonn.ai/mcp
- places (Places) - Places (locations) in the catalogue — studios, galleries, museums, storage, fair venues. action "list": find places or resolve a place_id (optional filters: search, place_type) — read-only. action "create": add a new place — write. TRIGGER for create: "my studio in Bushwick," "stored at," "I keep it at," or any mention of a specific location for works. Places are optional — only create when the user mentions a location; include city/country when known. Endpoint: https://mcp.raisonn.ai/mcp
- condition_reports (Condition Reports) - A work's condition reports (physical state — surface, structure, frame). action "list": all condition reports for a work — read-only. TRIGGER: "what's the condition of," "any damage on," "condition history for." action "create": document a work's physical state — write. TRIGGER: "this piece has damage," "the surface is," "frame is cracked," "condition report." Gather details conversationally; present a summary and confirm before saving. Side effect: if the work is signed, this puts it in pending re-authentication — the authenticator must re-confirm in Raisonnai before a new VC issues; tell the user. After success, offer to show the updated work via get_work. Resolve work_id via search_works — never ask the user. Endpoint: https://mcp.raisonn.ai/mcp
- create_rai (Issue a RAI) - Issue a signed RAI (Report of Art Identity) for a work. Produces a downloadable PDF and a public verify URL at raisonn.ai/verify/[uwi]. The RAI is independently verifiable forever. Preconditions — the **Identity Eight** must all be populated on the work: artist (from artist_id), title, date, medium, dimensions (physical) or duration (time-based), edition_status (unique / numbered / artist_proof), image (canonical hash from a primary upload), and signature_status (where "unsigned" is a legitimate positive value, not a missing one). Calling without all eight returns HTTP 422 with `missing_identity_eight_fields`. Surface that list to the user with the specific field names and help them fill the gaps via update_work before retrying. Use search_works to find the work_id by title. Never ask the user for it. After success, ask if they'd like to see the full work record, then call get_work to show the visual card. Endpoint: https://mcp.raisonn.ai/mcp
- rai_requests (RAI Requests) - The Requestor↔Authenticator RAI pull-protocol (ask an artist to issue a signed Report for a work). action "submit": ask an artist for a signed RAI — write. Identity is from the session. If the artist is not on Raisonnai their email auto-creates an invite. Galleries can route the eventual RAI to a named client via route_to_client. Confirm purpose + target with the user first. action "list": requests on either side — `direction` "inbox" (default, incoming to the artist) or "outgoing" (sent by the user); all statuses, surface pending first — read-only. action "get": one request by id (either side) — read-only. action "cancel": pull a request the user sent before it resolves — write; find it via action "list" direction "outgoing"; confirm first. action "accept": claim a pending request (intent to fulfill; does not mint the view) — write. For immediate fulfillment use action "fulfill" instead. action "decline": refuse (requester emailed; optional reason) — write; confirm first. action "fulfill": attach a work, mint a single-work shared view, email the requester — write. PIN required for unauthenticated requesters, optional for account-holders; claim-and-route auto-mints the downstream link. Resolve work_id via search_works; ask the user for the PIN, never invent. Confirm first. Find request_id via action "list" — never ask the user. Endpoint: https://mcp.raisonn.ai/mcp
- rai_links (RAI Links) - Proactively mint and manage RAI links — a PIN-gated, expiry-controlled link to the full signed Report of one work, sent to a specific recipient (buyer, insurer, lender, estate planner). This is the PUSH path: use it when the user wants to "send an RAI to someone" and there is no inbound request to fulfill. action "create": mint a link for ONE work — write. TRIGGER: "send [recipient] the RAI for [work]," "create a new RAI and send it," "share a verifiable Report with [name]." Returns the raisonn.ai/view/<token> URL. The PIN is mandatory and sender-chosen: ask the user for it, never invent one, and tell them to share it OUT-OF-BAND (a separate channel from the link) — never paste link + PIN together. Resolve work_id via search_works. action "list": the artist's active RAI links — who currently holds a shareable Report — read-only. action "revoke": permanently kill a link — DESTRUCTIVE, the recipient can no longer open it; confirm with the user first. (Expiry via expires_at is the automated revoke; this is the manual one.) Find link_id via action "list" — never ask the user. For delegated/dealer accounts this requires the can_share_rai capability (enforced server-side). Endpoint: https://mcp.raisonn.ai/mcp
- rights_requests (Rights Requests) - Permissions inquiries people send about using the artist's work — the contact loop on the Declared section (Access model mechanism 7). Artist side only; public submission is the web form's job. action "list": the inbox, all states (pending, in_progress, granted, granted_with_conditions, declined, expired, withdrawn) — read-only; surface pending first. TRIGGER: "any rights requests," "who wants to use my work," "open my rights inbox." action "get": one request by id (requester, the use asked about, the declared right referenced, response so far) — read-only. action "respond": a signed, dated grant / grant_with_conditions / decline (the requester sees it on their status page; the artist email is never shared). `decision`=grant_with_conditions requires ≥1 structured term in response_payload; response_message is always required. Confirm the decision with the user first — the requester is notified immediately. Find request_id via action "list" — never ask the user. Endpoint: https://mcp.raisonn.ai/mcp
- endorsements (Endorsements) - Stackable W3C-VC endorsements countersigning another Raisonnai account's RAI. action "issue": countersign — write. Requires the endorsed account to have granted you can_endorse. Omit work_id for roster-level (all current+future works); set it for per-work. Confirm scope (roster vs per-work) with the user first. TRIGGER: "endorse [name]," "vouch for [name]," "countersign this record." action "revoke": soft-revoke (stays historically verifiable at time T; filtered from active) — DESTRUCTIVE, confirm first. TRIGGER: "revoke my endorsement of [name]," "pull my countersign." Find endorsement_id via action "list_issued". action "list_issued": endorsements you have issued (incl. revoked) — read-only. action "list_received": endorsements you have received — read-only. action "list_work": active endorsements applying to one work (per-work + roster) — read-only; resolve work_id via search_works. Endpoint: https://mcp.raisonn.ai/mcp
- deals (Deals) - Deals — the transactional spine tracking a work changing hands. action "list": deals you can see (owner/seller/buyer/intermediary), filter by state/work_id/direction — read-only. action "get": deal detail incl. linked records (RAI requests, consignment requests, shared views, sales, provenance, custody) — read-only; needs deal_id. action "create": manual deal creation (most deals auto-create from purchase requests / consignment approvals) — write; present a summary + confirm first. action "update_state": advance (proposed→negotiating→agreed→closed_won|closed_lost) or close — write; close_reason required for closed_lost; present the transition + confirm first. Endpoint: https://mcp.raisonn.ai/mcp
- list_custody_events (List Custody Events) - List the custody timeline for a work: consignments and loans where the work is physically held by someone other than the owner. Separate from provenance (ownership history) and exhibitions (public display history). TRIGGER: "is this on consignment," "where is the work physically," "who has it now," "show consignment history," "show loan history." Returns events in reverse chronological order (newest start_date first) with kind, status, holder, dates, prices, commission, exclusivity. Resolve work_id via search_works. Never ask the user for the UUID. Endpoint: https://mcp.raisonn.ai/mcp
- create_custody_event (Record Custody Event) - Record a consignment or loan: a work moves physically to a gallery, dealer, museum, or other holder without ownership changing. Use kind=consignment when the work is placed with a gallery or dealer for potential sale (typically with commission and asking price). Use kind=loan for exhibition loans, museum loans, or private loans without sale intent. TRIGGER: "I just consigned this to Pace," "on loan to the Whitney," "sent to Gagosian for the summer," "loaned to a private collector." Present a summary (work, holder, kind, dates, plus commission and price for consignments) and confirm before saving. Consignments support exclusivity. Only one active exclusive consignment per work is allowed; concurrent attempts return HTTP 409 with the blocking event in details.blocking_event. Does NOT trigger pending_resignature. Custody lives on a separate timeline from the signed record, so recording a consignment or loan does not invalidate the existing VC. Resolve work_id via search_works. Never ask the user for the UUID. Endpoint: https://mcp.raisonn.ai/mcp
- link_wallet_challenge (Issue a wallet-link challenge) - Issue a deterministic challenge text the artist will sign with their NFT-minting wallet (MetaMask, Coinbase Wallet, WalletConnect-paired wallet) to prove they control the wallet that minted an NFT work. V1 chains: ethereum, base, optimism, arbitrum, polygon (all Ethereum-family, EIP-191 personal_sign). Tezos lands in V1.1. Returns the challenge text + nonce + timestamp. The artist signs the challenge text exactly as returned, then calls link_wallet_verify with the signature. The wallet-link, once verified, can be reused across multiple NFT works from the same wallet — link once, reference many. Per ADR-0005, signing keys never leave the artist's wallet provider — Raisonnai only sees the public address + signature artifact. Endpoint: https://mcp.raisonn.ai/mcp
- link_wallet_verify (Verify a wallet signature + register the link) - Submit the wallet's signature over the previously-issued challenge text. Raisonnai verifies the signature cryptographically (secp256k1 EIP-191 personal_sign for EVM chains at V1) and inserts a wallet_links row on success. Returns the wallet_link_id, which is embedded into the work's authentication_marker_value (on_chain_signer variant) when the NFT identity credential is authenticated. Idempotent — if a wallet link already exists for the (artist, wallet, chain) triple and is not revoked, returns the existing id. Endpoint: https://mcp.raisonn.ai/mcp
- list_wallet_links (List the artist's wallet links) - List all wallet links registered to the artist's account, including revoked links. Each entry shows wallet address, chain, verified_at, and revoked_at (when set). Endpoint: https://mcp.raisonn.ai/mcp
- revoke_wallet_link (Revoke a wallet link) - Revoke a wallet link. Revocation is forward-looking only — past identity credentials that referenced this link remain verifiable at their issue time. Future credentials cannot reference the revoked link; the artist must establish a new wallet-link to authenticate further NFT works from this wallet. Endpoint: https://mcp.raisonn.ai/mcp
- delegations (Delegations) - Scoped catalogue access you grant to any Raisonnai account (gallery, dealer, advisor, scholar, institution, foundation, another artist). Revocable any time; signing is never delegated. action "create": invite a grantee by email — write. TRIGGER: "give my gallery access," "share with [name]," "authorize [X]," "delegate access to [X]." Grantee gets an email invite and must accept. action "list": who has been invited / has access, their caps (can_record_transactions, can_share_rai, can_endorse) and status (pending, pending_request, active, revoked) — read-only. Use this to find a delegation_id. action "update": change permissions, revoke ("revoke access" → status:"revoked"), or reactivate — confirm with the user first, especially for revocation. Find delegation_id via action "list" — never ask the user. Endpoint: https://mcp.raisonn.ai/mcp
- consignment_requests (Consignment Requests) - The Requestor→Authenticator consignment pull-protocol. Consignment is a CUSTODY transfer, not ownership — approval creates a custody_event, never a provenance entry. action "create": submit a request for a specific work (Requestor side) — write. TRIGGER: "ask [artist] to consign [work]," "request a consignment of [work]." The target work must already exist (resolve via search_works). action "list": the Authenticator's incoming requests (pending/approved/declined/expired/cancelled) — read-only. TRIGGER: "show consignment requests," "consignment inbox." `count_only` returns just the pending count. action "respond": approve (mints an active custody_event using proposed terms unless overridden) or decline (closes it) — write; confirm with the user first. Find request_id via action "list" — never ask the user. Endpoint: https://mcp.raisonn.ai/mcp
- pending_rai_issues (Pending RAI Issues) - The Authenticator's HITL queue of RAI Issues awaiting confirmation — frozen-snapshot issuances queued by platforms (insurer, auction house) per Requestor flow Path A. action "list": the queue (platform attribution, work, proposed payload) — read-only. TRIGGER: "show pending RAI Issues," "what needs my signature," "anything waiting on me to authenticate." action "confirm": record intent to authenticate a queued Issue — does NOT produce the signature (the artist's key is in their iOS Secure Enclave; servers hold zero keys). It marks the Issue ready to authenticate; tell the user "I've confirmed your RAI Issue — open Raisonnai on your iPhone to authenticate it." action "decline": the artist chooses not to authenticate; the requesting platform is notified via webhook and a pending transaction may be affected — confirm with the user first. Find issue_id via action "list" — never ask the user. Endpoint: https://mcp.raisonn.ai/mcp
- update_account_rights_defaults (Update Account Rights Defaults) - Patch the artist's account-level declared-rights defaults — applied to every future signing event when the work doesn't carry a per-work override. Four V1.1 claim families per Architectural Invariant 7: AIPREF (AI usage), IPTC PLUS (reproduction rights), attribution (Berne Art. 6bis framing), and the ARR collecting-society pointer. IMPORTANT: this does NOT mutate already-signed RAIs. Existing signed credentials remain valid; the new defaults apply on the next signing event for each work. Per-work overrides (set via update_work) win over account defaults. TRIGGER: "set my AI defaults," "default to no AI training," "set my credit line," "I'm a member of [collecting society]." Endpoint: https://mcp.raisonn.ai/mcp
- list_rai_issues (List RAI Issues) - List the frozen RAI Issues for a work — newest first. Each Issue is a signed, independently-verifiable snapshot of the Report at a specific moment (sale, insurance schedule, loan, etc.). The current RAI at raisonn.ai/verify/[uwi] is always current; Issues are pinned editions for transactional moments. When referencing a specific Issue back to the user, ALWAYS include its issued_at timestamp ("RAI Issue 2026-04-23T14:30:00Z") — the bare phrase "the RAI Issue" is ambiguous. Use search_works to resolve title → work_id; never ask the user for the UUID. Endpoint: https://mcp.raisonn.ai/mcp
- list_authentication_devices (Authentication Devices) - List every signing key registered on the artist's account — active and revoked. Multi-device support: each iPhone the artist signs from has its own key under the same DID. Use this to triage "I think I lost a phone" or "show me my devices." The response also carries `has_signing_genesis` (boolean). Use it to route the artist correctly: if `has_signing_genesis` is FALSE, the account has NEVER paired a signing device — there is no key to lose and no recovery to run; the artist must pair their first iPhone. That flow is desktop-initiated and runs inline the first time they authenticate a work — tell them to open Raisonnai on their computer, not the iPhone app (no app session exists yet). If `has_signing_genesis` is TRUE but every key in `items` is revoked, the account paired before and lost all devices — that is account recovery, not pairing; tell them to start recovery from Raisonnai. Never conflate these two states. TRIGGER: "list my signing keys," "what devices can authenticate for me," "show my signing devices." Endpoint: https://mcp.raisonn.ai/mcp
- retire_authentication_device (Retire Authentication Device) - Retire a signing key — typically for the "I lost my phone" path where a surviving device retires the lost key. After retire-only, the artist runs the rotation flow from a trusted device to add a replacement. Per ADR-0014 this is single-device, no async state — it just marks the key revoked. IMPORTANT: this does NOT add a new key. Adding a replacement device is a device-bound flow that must happen in the iOS app (key generation requires the Secure Enclave). Tell the user to open Raisonnai on their other iPhone after retiring. Always confirm with the user before calling — revocation is destructive. Use list_authentication_devices to find signing_key_id. Endpoint: https://mcp.raisonn.ai/mcp
- get_authentication_queue (Authentication Queue) - List everything queued for the artist to authenticate on their iPhone — RAIs ready to authenticate, RAI Issues awaiting authentication, and active device-rotation flows. Per CLAUDE.md §Cryptographic signing → HITL: the AI assistant can see what's queued but cannot authenticate on the artist's behalf. The response carries `has_signing_genesis` (boolean) — check it BEFORE relaying a next step. If `has_signing_genesis` is FALSE the account has never paired a device: the queue is structurally empty and "open Raisonnai on your iPhone" is the WRONG instruction (there is no app session to open into yet). Instead tell the artist to open Raisonnai on their computer — pairing their iPhone runs inline the first time they authenticate a work (ADR-0029, no credentials typed on the phone). If `has_signing_genesis` is TRUE, relay the normal next step: "open Raisonnai on your iPhone to authenticate." Endpoint: https://mcp.raisonn.ai/mcp
- buyer_confirmations (Buyer Confirmations) - Seller-side actions on the ADR-0016 bilateral buyer-confirmation flow, by token. action "resend": re-mint the token and send a fresh magic-link email (buyer never received / lost it). Capped at 3 server-side. NOT destructive. action "invalidate": kill a pending token (wrong-email case) — DESTRUCTIVE: the buyer can no longer accept; confirm with the user before calling, then record a new sale with the correct email. V1 has no seller-side list endpoint — ask the user for the confirmation URL/token from the original email (`/buyer/confirm/<token>`); never guess. Endpoint: https://mcp.raisonn.ai/mcp

## Resources
- ui://raisonnai/work-card - Interactive work card — displays artwork image, metadata, status, and completeness MIME type: text/html;profile=mcp-app
- ui://raisonnai/works-grid - Interactive works grid — browseable search results with thumbnails and filters MIME type: text/html;profile=mcp-app
- ui://raisonnai/provenance-timeline - Interactive provenance timeline — visual chain of ownership for a work MIME type: text/html;profile=mcp-app
- ui://raisonnai/sale-confirmation - Inline sale confirmation card — displays buyer, price, date after recording a sale MIME type: text/html;profile=mcp-app

## Prompts
Not captured

## Metadata
- Owner: ai.raisonn
- Version: 1.0.0
- Runtime: Streamable Http
- Transports: HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: Apr 1, 2026
- Source: https://registry.modelcontextprotocol.io
