Koskamo

Fabrica MCP

The Fabrica MCP server allows AI agents to interact with real US land assets tokenized on Ethereum. It provides tools for searching properties by address or APN, retrieving parcel maps and images, checking property details and taxes, accessing lending market data, viewing wallet portfolios, and preparing transaction sign requests for buying, selling, or borrowing against land.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Fabrica MCP logo, by FabricaVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-07Operated by Fabrica
MCP endpoint (Streamable HTTP)
https://mcp.fabrica.land/mcp
Vendor documentation

What its tools do

45 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

45 of 45 have a description · 45 of 45 declare behavior hints · 40 of 40 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to fabrica.land ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Search for US land parcels by address or APN
  • Retrieve property details, maps, and tax information
  • Access lending market data and borrow quotes
  • Prepare sign requests for property transactions

Source and maintenance

Vendor evidenceRegistry 0.2.0
Maintenance checked

Protocol and capabilities

Server
fabrica-mcp 0.2.0
MCP protocol negotiated in check
2025-11-25
Tools
45 advertised
Resources
136 advertised
Resource templates
3 advertised
Prompts
4 advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  },
  "prompts": {
    "listChanged": true
  },
  "resources": {
    "listChanged": true
  },
  "completions": {}
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Fabrica MCP server: read-only access to tokenized US land on the Fabrica protocol, including property records, trust documents, US parcel lookup by address or parcel number, Property checks, parcel boundaries and maps, the lending market, borrow quotes, wallet portfolios and activity. Network: Ethereum Mainnet. Company overview: https://about.fabrica.land. ask_fabrica answers questions about how Fabrica works (the trust, fees, Property checks, lending, taxes, adding and removing a property, the legal framework) from Fabrica's published documents and returns each passage with its URL, or reports that no passage matches. contact_fabrica_support returns a draft email to Fabrica support and sends nothing. Fabrica's help center is https://help.fabrica.land and its support address is questions@fabrica.land. Legal notice (Ethereum Mainnet): Fabrica properties are real parcels of land in the United States. Each is held in a trust, and an ERC-1155 token represents the beneficial interest in that trust. Acquiring, transferring, listing or borrowing against a token has real-world legal and financial consequences: - Owning a Fabrica token means owning the beneficial interest in the trust that holds the property. The trustee is designated by the token holder and is, by default, the holder. - Owners can carry obligations tied to the land, such as property taxes, maintenance and environmental liability. - Transfers and sales are legally binding and can trigger tax events such as capital gains or transfer taxes. - The operating agreement (the trust instrument) attached to each token sets out the owner's rights and obligations. Its URL is included in property details. - This data is informational and is not financial or legal advice. make_land_offer, list_land_for_sale, accept_land_offer, buy_land and cancel_land_order prepare a marketplace action, and borrow_against_land and repay_loan_against_land a DeFi lending pool loan or its payoff, as a sign request: they check the live data and return a summary, warnings and a sign link to fabrica.land, where the person reviews and signs with their own wallet. The server holds no keys and submits nothing; a prepared request is not sent until the person signs. get_sign_request reports whether it was signed; get_transaction_status follows an onchain transaction. deposit_to_lending_pool and withdraw_from_lending_pool prepare a deposit into, or a withdrawal from, a tick of the DeFi lending pool the same way, signed on the pool page of fabrica.land. transfer_land, update_trust_agreement, update_land_description and update_land_photos prepare an owner's change to a property they hold, as a sign request in the same way: moving it to another account linked to the owner's own login (final once confirmed), moving it to the latest trust agreement version, replacing its description, or opening its photo editor on the property page. The person has not connected their Fabrica account to this client yet, so every tool reads public data only and knows nothing about them. The personal tools (get_my_account, get_my_properties, get_my_offers, get_my_loans, get_my_properties_being_added, get_adding_status, what_needs_attention) read the connected person's own holdings, offers, loans and the properties they are adding. A call to one of them, or to get_land_portfolio, get_land_portfolio_map_image, get_land_activity or search_land (ownedBy) with 'me' as the wallet, is answered with a sign-in request: the client has the person sign in to Fabrica and approve read-only access, and the same call then runs. The server holds no wallet address for a person who has not signed in; the person's own wallet is known only through a personal tool or an address they give. add_land starts adding a property to Fabrica from a listing link on another website, a parcel number with its state and county, or a street address: it finds the parcel, and signed in with the add-property grant it creates the property's record as the connected person (with the listing's description and photos) and returns the questions the county asks for it; answer_adding_questions saves the owner named on the deed and the answers, and returns what is still open. The questions come from Fabrica's rules for that county and kind of owner, read from the record each time, so they are asked as returned, never assumed. Not signed in, add_land returns the link that opens the parcel on fabrica.land.

Tools

45 advertised

search_land — Search land
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Search US land on Fabrica (Ethereum Mainnet): land for sale and every other property on the network, mostly vacant lots and acreage. Returns a list of properties matching the given filters (location, size, Property checks, listing status, listing price and price per acre, distance from a point), sorted by price, price per acre, acres, estimated value, Property checks, date added or distance; each row carries its price per acre (listing or estimate, labeled) and, with near, its straight-line distance. Or counts per state or county with groupBy. When a state or county is given, the response includes the link to that location's page on fabrica.land. Each result is a real parcel of land in the US, held in a trust whose beneficial interest is an ERC-1155 token.

search_land input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "near": {
      "type": "object",
      "required": [
        "lat",
        "lon"
      ],
      "properties": {
        "lat": {
          "type": "number",
          "maximum": 90,
          "minimum": -90
        },
        "lon": {
          "type": "number",
          "maximum": 180,
          "minimum": -180
        },
        "radiusMiles": {
          "type": "number",
          "maximum": 3000,
          "description": "Keep only properties within this many miles of the point (default: no limit, every row gets its distance).",
          "exclusiveMinimum": 0
        }
      },
      "description": "A point to measure distance from, in decimal degrees. Each row then carries distanceMiles (straight-line), and the default sort is by distance."
    },
    "limit": {
      "type": "integer",
      "maximum": 100,
      "minimum": 1,
      "description": "Max results (default 20, max 100)"
    },
    "county": {
      "type": "string",
      "description": "County name, case-insensitive, the 'County' suffix optional (e.g. 'Costilla' or 'Mohave County'). Combine with region when the name exists in more than one state."
    },
    "offset": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Pagination offset"
    },
    "region": {
      "type": "string",
      "description": "US state code (e.g. 'TX', 'CA', 'NV')"
    },
    "sortBy": {
      "enum": [
        "price",
        "pricePerAcre",
        "acres",
        "estimatedValue",
        "score",
        "newest",
        "distance"
      ],
      "type": "string",
      "description": "Order of the rows. price and pricePerAcre use the listing price and put unlisted properties last; newest is by the date the property was added; distance needs near. Default: the API's order, or distance when near is set."
    },
    "groupBy": {
      "enum": [
        "state",
        "county"
      ],
      "type": "string",
      "description": "Return one row per state or county (property count, count for sale, total acres, location page link) instead of property rows. limit and offset page through the groups."
    },
    "ownedBy": {
      "type": "string",
      "description": "Filter by owner wallet address"
    },
    "sortDir": {
      "enum": [
        "asc",
        "desc"
      ],
      "type": "string",
      "description": "asc (default) or desc. newest is always most recent first."
    },
    "hasLoans": {
      "type": "boolean",
      "description": "Only show properties with active loans"
    },
    "maxAcres": {
      "type": "number",
      "minimum": 0,
      "description": "Maximum parcel size in acres"
    },
    "maxPrice": {
      "type": "number",
      "minimum": 0,
      "description": "Maximum listing price in USD. Only listed properties match any price filter."
    },
    "minAcres": {
      "type": "number",
      "minimum": 0,
      "description": "Minimum parcel size in acres"
    },
    "minPrice": {
      "type": "number",
      "minimum": 0,
      "description": "Minimum listing price in USD. Only listed properties match any price filter."
    },
    "minScore": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Minimum Property checks number: the 5-digit numeric encoding of Property checks, an integer. Defaults to 72032, the marketplace threshold, except when ownedBy is set (then every property in that wallet is listed). Any minimum also requires a verified deed. Max: 75342."
    },
    "hasListings": {
      "type": "boolean",
      "description": "Only show properties with active sale listings"
    },
    "maxPricePerAcre": {
      "type": "number",
      "minimum": 0,
      "description": "Maximum listing price per acre in USD (listing price over acres; unlisted properties never match)."
    },
    "minPricePerAcre": {
      "type": "number",
      "minimum": 0,
      "description": "Minimum listing price per acre in USD (listing price over acres; unlisted properties never match)."
    }
  }
}
search_land annotations
{
  "title": "Search land",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_land_property — Get land property details
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Get the full record of one property on Fabrica (Ethereum Mainnet), including legal description, valuation, property tax status, Property checks (with their 5-digit numeric encoding), current ownership and holders, active loans, marketplace listings and offers, recent activity, photos and a parcel map image link. Also its lifecycle stage (unclaimed, being added, replaced, live, removal in progress, removed, retired), fees assessed on the token with approval and payment state (fees is null when none are assessed), and flags for a duplicate parcel claim or the marketplace screen (an empty list when none apply). A token ID that was replaced when the property's token was issued returns that issued token. Boundary geometry is returned by get_land_boundary. The response includes the URL of the operating agreement (the trust instrument) that governs the token; get_land_trust_documents returns the full legal record. Pass display: "fullscreen" to ask a host that renders the property card to open it fullscreen (the host may decline). Owner names: the majority holder's chosen display name is returned; the deed grantor from Fabrica's own records is in get_land_trust_documents; owner names from third-party parcel data are never returned.

get_land_property input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "slug": {
      "type": "string",
      "description": "Property slug from the URL"
    },
    "display": {
      "enum": [
        "inline",
        "fullscreen"
      ],
      "type": "string",
      "description": "Hosts that render the property card: ask for it inline (default) or fullscreen. The host may decline."
    },
    "tokenId": {
      "type": "string",
      "description": "The token ID of the property"
    }
  }
}
get_land_property annotations
{
  "title": "Get land property details",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_fabrica_lending_market — Get lending market
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Get an overview of the Fabrica lending market: loan counts, loans, DeFi lending pool liquidity and utilization, average APR, and recent loan events (the distribution of the whole history, by loan-to-value, state and outcome, is in get_fabrica_loan_book). Owners borrow against their properties through the DeFi lending pool (pool-based lending). Loan records also include historical peer-to-peer loans made through a former integration that is now retired.

get_fabrica_lending_market input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 100,
      "minimum": 1,
      "description": "Max loan results (default 20, max 100)"
    },
    "since": {
      "type": "string",
      "description": "ISO date. Only return loans started after this date."
    },
    "lender": {
      "type": "string",
      "description": "Filter by lender wallet address"
    },
    "status": {
      "enum": [
        "active",
        "repaid",
        "liquidated",
        "all"
      ],
      "type": "string",
      "description": "Filter loans by status (default: 'all')"
    },
    "borrower": {
      "type": "string",
      "description": "Filter by borrower wallet address"
    }
  }
}
get_fabrica_lending_market annotations
{
  "title": "Get lending market",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_fabrica_loan_book — Get loan book
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Get the lending history of the Fabrica protocol as a distribution: loan counts and principal by status and provider, loan-to-value bands against today's property estimates, exposure by state and acreage, APR and duration spread, repaid and liquidated counts, originations by month for the last 12 months, and the largest loans with their property pages. Covers DeFi lending pool loans and historical peer-to-peer loans. Counts come from the loan records; where the pool data source's counters differ, both are shown.

get_fabrica_loan_book input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "status": {
      "enum": [
        "active",
        "repaid",
        "liquidated",
        "all"
      ],
      "type": "string",
      "description": "Only loans with this status (default all)."
    },
    "groupBy": {
      "enum": [
        "state",
        "provider",
        "status",
        "ltvBand",
        "acreBand"
      ],
      "type": "string",
      "description": "Adds a groups table: loans, principal and outcome counts per state, provider, status, loan-to-value band or acre band."
    },
    "largest": {
      "type": "integer",
      "maximum": 25,
      "minimum": 1,
      "description": "How many of the largest loans to list (default 10, max 25)."
    },
    "provider": {
      "enum": [
        "pool",
        "peer-to-peer",
        "all"
      ],
      "type": "string",
      "description": "pool: the DeFi lending pool. peer-to-peer: historical loans through the retired NFTfi integration. Default all."
    },
    "sinceDays": {
      "type": "integer",
      "maximum": 3650,
      "minimum": 1,
      "description": "Only loans started in the last N days (default: the whole history)."
    }
  }
}
get_fabrica_loan_book annotations
{
  "title": "Get loan book",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_land_portfolio — Get wallet portfolio
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Get a wallet's land portfolio on Fabrica: properties owned (paged), active loans (as borrower or lender), listings and offers, credit history, and total portfolio value. Counts and totals always cover the whole wallet.

get_land_portfolio input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "address"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 200,
      "minimum": 1,
      "description": "Max properties to list (default 50, max 200)"
    },
    "offset": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Properties to skip, for paging (propertiesPage.nextOffset)"
    },
    "address": {
      "type": "string",
      "description": "Ethereum wallet address (0x...)"
    }
  }
}
get_land_portfolio annotations
{
  "title": "Get wallet portfolio",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_fabrica_stats — Get Fabrica stats
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Get network-wide statistics for Fabrica, where US land is held in trusts represented by tokens: total properties, estimated value, lending volume and loan counts, DeFi lending pool TVL and utilization, geographic distribution, and contract addresses.

get_fabrica_stats input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {}
}
get_fabrica_stats annotations
{
  "title": "Get Fabrica stats",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_land_boundary — Get land parcel boundary (GeoJSON)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Get the parcel boundary of a property on Fabrica as GeoJSON, for mapping, spatial analysis, and visualization. The county boundary is added only with includeCountyBounds: true.

get_land_boundary input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "slug": {
      "type": "string",
      "description": "Property slug from the URL"
    },
    "tokenId": {
      "type": "string",
      "description": "The token ID of the property"
    },
    "includeCountyBounds": {
      "type": "boolean",
      "description": "Also return the county boundary polygon, a large decorative layer (default: false)"
    }
  }
}
get_land_boundary annotations
{
  "title": "Get land parcel boundary (GeoJSON)",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_land_trust_documents — Get trust documents
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Get the legal record of a tokenized property: the trust that holds it (holding entity, formation date), the trust agreement that governs the token (name, version, link), the legal description, the parcel identifiers (FIPS, APN, county, state), the recorded deed reference and grantor, and documents the owner uploaded. The agreement text is included only when includeAgreementText is true (it is long); trust.agreementResource is the MCP resource with this token's own agreement. Owner names: the deed grantor from Fabrica's own records is returned; a holder's chosen display name is in get_land_property; owner names from third-party parcel data are never returned. Property checks are not a title search or title insurance. The token represents the beneficial interest in the trust; the trustee is designated by the token holder and is, by default, the holder.

get_land_trust_documents input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "slug": {
      "type": "string",
      "description": "Property slug from the URL"
    },
    "tokenId": {
      "type": "string",
      "description": "The token ID of the property"
    },
    "includeAgreementText": {
      "type": "boolean",
      "description": "Also return the full text of the trust agreement, about 150 KB (default: false; the link is always returned)"
    }
  }
}
get_land_trust_documents annotations
{
  "title": "Get trust documents",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_land_tax_status — Get property tax status
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Get whether a property's taxes are current, past due or unknown, according to Fabrica's Property checks: the status, which signal it comes from (the Property Taxes Current check, the DeFi lending pool's block reason, both, or a note that they disagree), when it was checked and when the checks expire, and whether it limits borrowing. It is a data lookup, not the county's own statement; the amount due and the due date are not available.

get_land_tax_status input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "slug": {
      "type": "string",
      "description": "Property slug from the URL"
    },
    "tokenId": {
      "type": "string",
      "description": "The token ID of the property"
    }
  }
}
get_land_tax_status annotations
{
  "title": "Get property tax status",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
explain_property_checks — Explain Property checks
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Explain a Fabrica property's Property checks from their numeric encoding (formerly called the confidence score). The encoding is a 5-digit positional number where each digit represents a different verification group: recovery status (ten-thousands), past title (thousands), ownership (hundreds), onchain history (tens), basic validation (ones). Each digit is a category value, not a count; with a tokenId the response also counts the individual checks that pass. Max: 75342. Property checks are a starting point for your own research, not a title search or title insurance.

explain_property_checks input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "score": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "The 5-digit Property checks number to explain, as an integer (e.g. 73242)"
    },
    "tokenId": {
      "type": "string",
      "description": "Look up and explain the Property checks of this property"
    }
  }
}
explain_property_checks annotations
{
  "title": "Explain Property checks",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
estimate_land_borrowing — Estimate borrowing against land
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Estimate how much can be borrowed against a property on Fabrica: DeFi lending pool liquidity (max loan amount, durations), existing loan status, the reasons when the pool shows no capacity (tax status, price oracle checks), and in limits what binds the amount (limitedBy: pool_liquidity, ltv, pool_limit, tax_status, oracle, existing_loan or unknown) with the collateral price, the pool's free liquidity and the highest loan-to-value. The oracle block shows how the collateral price is derived from the valuation sources. toRaise lists what would raise the amount, one entry per lever (setup, tax_status, deed_check, fees, existing_loan, price, ltv, pool_liquidity), each with where it stands today, what the pool would allow once it moves (wouldAllow, USD where computable) and the step or mechanism that moves it; pass amountUsd to test a loan amount. Answers questions such as 'How much can I borrow against this property?'. The amount is an estimate; the rate is set by a live quote when borrowing.

estimate_land_borrowing input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "slug": {
      "type": "string",
      "description": "Property slug from the URL"
    },
    "tokenId": {
      "type": "string",
      "description": "The token ID of the property"
    },
    "amountUsd": {
      "type": "number",
      "description": "A loan amount in USD to test: toRaise then says what collateral price the pool's highest loan-to-value needs for it, and how much more pool liquidity it needs",
      "exclusiveMinimum": 0
    }
  }
}
estimate_land_borrowing annotations
{
  "title": "Estimate borrowing against land",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_loan_against_land — Get a loan against land
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Get one loan against a property on Fabrica: status (active, repaid, liquidated), provider, principal, APR, start, maturity, the full repayment and, for an active loan, the payoff today, with the borrower and lender wallets shortened and the property link. Give a property (tokenId or slug) for its active or latest loan, add loanId for a specific one, or give loanId alone to look it up across the network. otherLoans lists the property's other loans.

get_loan_against_land input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "slug": {
      "type": "string",
      "description": "Property slug from the URL"
    },
    "loanId": {
      "type": "string",
      "pattern": "^[0-9]{1,100}$",
      "description": "The loan id; with no property, the loan is looked up across the network"
    },
    "tokenId": {
      "type": "string",
      "description": "The token ID of the property"
    }
  }
}
get_loan_against_land annotations
{
  "title": "Get a loan against land",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_land_valuation — Get valuation sources
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Get every value the Fabrica API holds for a property, each with its source, date and confidence: the estimate and the sources it comes from, the Fabrica AVM, Prycd and county assessor figures, the signed valuations the DeFi lending pool reads, the pool's oracle state (feed freshness, onchain price, usable price) with the reason when a price is missing, and the valuation report link. Presents data with its provenance; it suggests no price.

get_land_valuation input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "slug": {
      "type": "string",
      "description": "Property slug from the URL"
    },
    "tokenId": {
      "type": "string",
      "description": "The token ID of the property"
    }
  }
}
get_land_valuation annotations
{
  "title": "Get valuation sources",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_land_activity — Get activity history
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Get the activity feed for a property or wallet, or, with no tokenId, slug or address, the most recent activity across every property on the network: properties added, transfers, sales, listings, loans started, repaid or liquidated, configuration changes, and more. Covers transaction history and event timelines.

get_land_activity input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "slug": {
      "type": "string",
      "description": "Property slug (for property activity)"
    },
    "type": {
      "type": "string",
      "description": "Filter by activity type, matched against the API's event names (e.g. 'loan', 'transfer', 'sale', 'mint' for properties added)"
    },
    "limit": {
      "type": "integer",
      "maximum": 100,
      "minimum": 1,
      "description": "Max results (default 20, max 100)"
    },
    "address": {
      "type": "string",
      "description": "Wallet address (for wallet activity)"
    },
    "tokenId": {
      "type": "string",
      "description": "Property token ID (for property activity). Leave tokenId, slug and address out for the recent activity across every property on the network."
    }
  }
}
get_land_activity annotations
{
  "title": "Get activity history",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_land_order_book — Get order book
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Get the listings and offers on one property on Fabrica: the lowest active listing, all listings, and offers sorted from highest to lowest, each with price in USD and in its currency, seller or buyer, expiry (ISO 8601 and relative), any buyer restriction and disclosure documents. Shows whether the property is still being added to Fabrica and whether it is collateral for an active loan, with what that means for a sale. Expired, canceled and filled listings and offers are left out unless status is 'all'. Links to the property page, where offers are made.

get_land_order_book input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "slug": {
      "type": "string",
      "description": "Property slug from the URL"
    },
    "status": {
      "enum": [
        "active",
        "all"
      ],
      "type": "string",
      "description": "'active' (default): live orders only. 'all': also expired, canceled and filled orders."
    },
    "tokenId": {
      "type": "string",
      "description": "The token ID of the property"
    },
    "minOfferUsd": {
      "type": "number",
      "minimum": 0,
      "description": "Only return offers at or above this USD amount"
    }
  }
}
get_land_order_book annotations
{
  "title": "Get order book",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_land_map_image — Get property map image
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Get a static map image of a property on Fabrica showing its parcel boundary (or a pin marker if no boundary is available). Returns an inline image. Supports dark/light themes and custom dimensions.

get_land_map_image input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "slug": {
      "type": "string",
      "description": "Property slug from the URL"
    },
    "theme": {
      "enum": [
        "dark",
        "light"
      ],
      "type": "string",
      "description": "Map theme (default: 'dark')"
    },
    "width": {
      "type": "integer",
      "maximum": 1280,
      "minimum": 100,
      "description": "Image width in pixels (100-1280, default 640)"
    },
    "height": {
      "type": "integer",
      "maximum": 1280,
      "minimum": 100,
      "description": "Image height in pixels (100-1280, default 640)"
    },
    "tokenId": {
      "type": "string",
      "description": "The token ID of the property"
    }
  }
}
get_land_map_image annotations
{
  "title": "Get property map image",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_land_portfolio_map_image — Get portfolio map image
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Get a static map image showing all properties a wallet owns on Fabrica, plotted as points on a single map. Returns an inline image. Supports dark/light themes and custom dimensions.

get_land_portfolio_map_image input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "address"
  ],
  "properties": {
    "theme": {
      "enum": [
        "dark",
        "light"
      ],
      "type": "string",
      "description": "Map theme (default: 'dark')"
    },
    "width": {
      "type": "integer",
      "maximum": 1280,
      "minimum": 100,
      "description": "Image width in pixels (100-1280, default 640)"
    },
    "height": {
      "type": "integer",
      "maximum": 1280,
      "minimum": 100,
      "description": "Image height in pixels (100-1280, default 640)"
    },
    "address": {
      "type": "string",
      "description": "Ethereum wallet address (0x...)"
    }
  }
}
get_land_portfolio_map_image annotations
{
  "title": "Get portfolio map image",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
ask_fabrica — Ask Fabrica
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Answer questions about how Fabrica works from Fabrica's own published documents: docs.fabrica.land, the help center and the US trust agreement. Returns the best matching passages with their URLs, so an answer can be cited. Covers the trust structure, fees, Property checks, lending, property taxes, adding and removing a property, the legal framework, the glossary and the MCP server itself. When the question names a specific property, wallet or listing, the result also suggests which lookup tool to call. Retrieval is lexical over a committed index, with no external call.

ask_fabrica input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "question"
  ],
  "properties": {
    "source": {
      "enum": [
        "docs",
        "help",
        "trust-agreement",
        "all"
      ],
      "type": "string",
      "description": "Restrict to one source: 'docs', 'help' (help center), 'trust-agreement', or 'all' (default)"
    },
    "question": {
      "type": "string",
      "maxLength": 1000,
      "minLength": 3,
      "description": "The question in plain language, e.g. 'Who is the trustee of the trust that holds my property?'"
    },
    "maxPassages": {
      "type": "integer",
      "maximum": 10,
      "minimum": 1,
      "description": "How many passages to return (1-10, default 5)"
    }
  }
}
ask_fabrica annotations
{
  "title": "Ask Fabrica",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
find_us_parcel — Find a US parcel
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Look up any US land parcel by street address or parcel number (APN): address, place, APN, state and county, and whether it is already on Fabrica (token ID and property link). For a parcel not on Fabrica, links.addToFabrica is the fabrica.land link to add that parcel; it starts adding it only when a person opens it and decides there. The tool itself creates nothing. An ambiguous query returns up to 5 candidates, whose Fabrica status is matched by parcel number only; state and county narrow it to one, which gets the full check. When the US parcel search is not answering, properties already on Fabrica that the query names come back from Fabrica's own records as unconfirmed candidates (match: unconfirmed, matchSource: fabrica-index): likely matches, not confirmed ones. Owner names from parcel data are never returned. For a list, queries takes up to 10 addresses or parcel numbers under one state and county scope and returns one row per resolved query (onFabrica, tokenId or addToFabrica, coverage) plus an unresolved list with the reason. Limited to 30 lookups per minute per client; each query in a list counts as one.

find_us_parcel input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "query": {
      "type": "string",
      "maxLength": 200,
      "minLength": 3,
      "description": "Street address (with city and state when known) or parcel number (APN). Give this or queries, not both"
    },
    "state": {
      "type": "string",
      "pattern": "^[A-Za-z]{2}$",
      "description": "Two-letter US state code, e.g. 'AZ'"
    },
    "county": {
      "type": "string",
      "maxLength": 80,
      "description": "County name, e.g. 'Navajo'"
    },
    "queries": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 200,
        "minLength": 3
      },
      "maxItems": 10,
      "minItems": 1,
      "description": "Up to 10 addresses or parcel numbers sharing the same state and county scope; each counts as one lookup against the per-client limit. Returns one row per resolved query and an unresolved list with the reason"
    }
  }
}
find_us_parcel annotations
{
  "title": "Find a US parcel",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
check_county_coverage — Check county coverage
Advertised by the server during the last successful anonymous check.
Advertised read-only

Whether a US county (or a whole state) can be added to Fabrica online: supported, notConfigured or unsupported, and for a supported county the deed and forms the owner signs (and which are notarized), witness requirements, the questions the owner is asked, and the steps to add a property. Answers from a table of Fabrica's rules for adding property as of 2026-10-16, refreshed by hand, so each answer carries that date; the add-property page on fabrica.land is the live answer. Give a 5-digit county FIPS, or a two-letter state with or without a county. No fee amounts (ask_fabrica has them) and no owner data.

check_county_coverage input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "fips": {
      "type": "string",
      "pattern": "^[0-9]{5}$",
      "description": "5-digit county FIPS code, e.g. '06065'"
    },
    "state": {
      "type": "string",
      "pattern": "^[A-Za-z]{2}$",
      "description": "Two-letter US state code, e.g. 'CA'"
    },
    "county": {
      "type": "string",
      "maxLength": 80,
      "description": "County name, e.g. 'Riverside' (with state)"
    },
    "ownerType": {
      "enum": [
        "individual",
        "entity",
        "concurrent"
      ],
      "type": "string",
      "description": "Who holds title today: individual (default), entity or concurrent (co-owners)"
    }
  }
}
check_county_coverage annotations
{
  "title": "Check county coverage",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
contact_fabrica_support — Contact Fabrica support
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Hand a question to Fabrica's support team when the documents (ask_fabrica) do not answer it or a person is needed: adding a property that is stuck, a document question, a dispute. Returns the help center section for the topic, the support email address, and a mailto link that drafts an email with the summary and the property link (the same fabrica.land page the other tools link). subject sets the subject in the person's words; a line saying an AI agent drafted it is added unless discloseAgent is false. Nothing is sent by this tool; the person sends the email and replies come back by email. Summaries containing a private key or seed phrase are refused.

contact_fabrica_support input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "summary"
  ],
  "properties": {
    "topic": {
      "enum": [
        "getting_started",
        "adding_property",
        "buying_selling",
        "borrowing_lending",
        "trust_legal",
        "troubleshooting",
        "other"
      ],
      "type": "string",
      "description": "Help center section: getting_started, adding_property, buying_selling, borrowing_lending, trust_legal, troubleshooting, other (default)"
    },
    "subject": {
      "type": "string",
      "maxLength": 150,
      "minLength": 3,
      "description": "Email subject, in the person's words (default: the topic, plus the token ID when given)"
    },
    "summary": {
      "type": "string",
      "maxLength": 2000,
      "minLength": 10,
      "description": "What the person is trying to do, what happened, and what was already checked"
    },
    "tokenId": {
      "type": "string",
      "pattern": "^[0-9]{1,80}$",
      "description": "Token ID of the property the question is about (digits only)"
    },
    "discloseAgent": {
      "type": "boolean",
      "description": "Add a line saying the email was drafted by an AI agent through the Fabrica MCP server (default: true)"
    }
  }
}
contact_fabrica_support annotations
{
  "title": "Contact Fabrica support",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
make_land_offer — Prepare an offer
Advertised by the server during the last successful anonymous check.
Open-world

Prepare an offer to buy a live property on Fabrica (Ethereum Mainnet) at a USD amount paid in USDC, open for expiresDays (default 14). Checks first that the property is live and the wallet does not already hold it, and warns when the amount is far from Fabrica's estimate, when a listing is at or below it, or when the property is collateral for a loan. Prepared, not sent: returns a signRequest (summary, warnings, signLink to fabrica.land, expiresAt 15 minutes out, payload null for now) and stores it so the sign page can load it. The person opens the link, signs in with that wallet and signs; nothing happens until then. The server holds no keys and submits nothing. wallet is the address that will sign.

make_land_offer input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "amountUsd",
    "wallet"
  ],
  "properties": {
    "slug": {
      "type": "string",
      "description": "Property slug from the URL"
    },
    "wallet": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "The wallet that will sign (0x address). The sign page only lets this wallet sign."
    },
    "tokenId": {
      "type": "string",
      "description": "The token ID of the property"
    },
    "amountUsd": {
      "type": "number",
      "maximum": 1000000000,
      "minimum": 1,
      "description": "Offer amount in US dollars, paid in USDC (one USDC counts as one dollar)"
    },
    "expiresDays": {
      "type": "integer",
      "maximum": 180,
      "minimum": 1,
      "description": "Days the offer stays open (default 14)"
    }
  }
}
make_land_offer annotations
{
  "title": "Prepare an offer",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
list_land_for_sale — Prepare a listing
Advertised by the server during the last successful anonymous check.
Open-world

Prepare a listing of a property the wallet holds on Fabrica (Ethereum Mainnet) at a USD price paid in USDC, open for expiresDays (default 180). Checks first that the wallet holds the token, and warns when the price is far from Fabrica's estimate, when the wallet already lists it, when an offer is at or above the price, or when the property is collateral for a loan. A property its owner is still adding to Fabrica can be listed too: buyers can send offers at once, and the listing becomes buyable once its token is issued. Prepared, not sent: returns a signRequest (summary, warnings, signLink to fabrica.land, expiresAt 15 minutes out, payload null for now) and stores it so the sign page can load it. The person opens the link, signs in with that wallet and signs; nothing happens until then. The server holds no keys and submits nothing. wallet is the address that will sign.

list_land_for_sale input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "priceUsd",
    "wallet"
  ],
  "properties": {
    "slug": {
      "type": "string",
      "description": "Property slug from the URL"
    },
    "wallet": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "The wallet that will sign (0x address). The sign page only lets this wallet sign."
    },
    "tokenId": {
      "type": "string",
      "description": "The token ID of the property"
    },
    "priceUsd": {
      "type": "number",
      "maximum": 1000000000,
      "minimum": 1,
      "description": "Asking price in US dollars, paid in USDC"
    },
    "expiresDays": {
      "type": "integer",
      "maximum": 365,
      "minimum": 1,
      "description": "Days the listing stays open (default 180)"
    }
  }
}
list_land_for_sale annotations
{
  "title": "Prepare a listing",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
accept_land_offer — Prepare accepting an offer
Advertised by the server during the last successful anonymous check.
Open-world

Prepare accepting an open offer (orderHash: orderId from get_land_order_book) on a property the wallet holds (Ethereum Mainnet). Checks first that the offer is open and the wallet holds the token, and warns when it expires within a day, is far from Fabrica's estimate, or the property is collateral for a loan. Signing sells the property. Prepared, not sent: returns a signRequest (summary, warnings, signLink to fabrica.land, expiresAt 15 minutes out, payload null for now) and stores it so the sign page can load it. The person opens the link, signs in with that wallet and signs; nothing happens until then. The server holds no keys and submits nothing. wallet is the address that will sign.

accept_land_offer input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "orderHash",
    "wallet"
  ],
  "properties": {
    "slug": {
      "type": "string",
      "description": "Property slug from the URL"
    },
    "wallet": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "The wallet that will sign (0x address). The sign page only lets this wallet sign."
    },
    "tokenId": {
      "type": "string",
      "description": "The token ID of the property"
    },
    "orderHash": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{64}$",
      "description": "The order's hash: orderId in get_land_order_book"
    }
  }
}
accept_land_offer annotations
{
  "title": "Prepare accepting an offer",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
buy_land — Prepare a purchase
Advertised by the server during the last successful anonymous check.
Open-world

Prepare buying a property at its open listing (orderHash: orderId from get_land_order_book) on Ethereum Mainnet. Checks first that the listing is open, buyable (a listing on a property under a loan may not be yet), not the wallet's own and not reserved for other buyers, and lists the seller's disclosure documents. Signing sends an onchain transaction from the person's wallet; get_transaction_status follows it. Prepared, not sent: returns a signRequest (summary, warnings, signLink to fabrica.land, expiresAt 15 minutes out, payload null for now) and stores it so the sign page can load it. The person opens the link, signs in with that wallet and signs; nothing happens until then. The server holds no keys and submits nothing. wallet is the address that will sign.

buy_land input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "orderHash",
    "wallet"
  ],
  "properties": {
    "slug": {
      "type": "string",
      "description": "Property slug from the URL"
    },
    "wallet": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "The wallet that will sign (0x address). The sign page only lets this wallet sign."
    },
    "tokenId": {
      "type": "string",
      "description": "The token ID of the property"
    },
    "orderHash": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{64}$",
      "description": "The order's hash: orderId in get_land_order_book"
    }
  }
}
buy_land annotations
{
  "title": "Prepare a purchase",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
cancel_land_order — Prepare canceling a listing or offer
Advertised by the server during the last successful anonymous check.
Open-world

Prepare canceling the wallet's own open listing or offer (orderHash: orderId from get_land_order_book) on Ethereum Mainnet. Checks first that the listing or offer is open and the wallet made it. Canceling is a confirmation on the sign page, with no transaction. Prepared, not sent: returns a signRequest (summary, warnings, signLink to fabrica.land, expiresAt 15 minutes out, payload null for now) and stores it so the sign page can load it. The person opens the link, signs in with that wallet and signs; nothing happens until then. The server holds no keys and submits nothing. wallet is the address that will sign.

cancel_land_order input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "orderHash",
    "wallet"
  ],
  "properties": {
    "slug": {
      "type": "string",
      "description": "Property slug from the URL"
    },
    "wallet": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "The wallet that will sign (0x address). The sign page only lets this wallet sign."
    },
    "tokenId": {
      "type": "string",
      "description": "The token ID of the property"
    },
    "orderHash": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{64}$",
      "description": "The order's hash: orderId in get_land_order_book"
    }
  }
}
cancel_land_order annotations
{
  "title": "Prepare canceling a listing or offer",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
borrow_against_land — Prepare a loan against land
Advertised by the server during the last successful anonymous check.
Open-world

Prepare borrowing USDC from the DeFi lending pool against a property the wallet holds (Ethereum Mainnet), for amountUsd over durationDays (the pool's offered length closest to it, default about 30 days). Checks first that the wallet holds the token, the property backs no active loan, the pool lends against it and the amount is within the pool's current maximum (estimate_land_borrowing shows it). The rate and repayment come from the pool's live quote on the sign page. A loan is a real obligation: a loan not repaid by maturity lets the lender take the property through the pool's auction. Prepared, not sent: returns a signRequest (summary, warnings, signLink to fabrica.land, expiresAt 15 minutes out, payload null for now) and stores it so the sign page can load it. The person opens the link, signs in with that wallet and signs; nothing happens until then. The server holds no keys and submits nothing. wallet is the address that will sign.

borrow_against_land input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "amountUsd",
    "wallet"
  ],
  "properties": {
    "slug": {
      "type": "string",
      "description": "Property slug from the URL"
    },
    "wallet": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "The wallet that will sign (0x address). The sign page only lets this wallet sign."
    },
    "tokenId": {
      "type": "string",
      "description": "The token ID of the property"
    },
    "amountUsd": {
      "type": "number",
      "maximum": 100000000,
      "minimum": 1,
      "description": "Principal to borrow in US dollars, paid in USDC; at most what estimate_land_borrowing shows as maxBorrow"
    },
    "durationDays": {
      "type": "integer",
      "maximum": 3650,
      "minimum": 1,
      "description": "Loan length in days. The sign page uses the pool's offered length closest to it (default: the one closest to 30 days)"
    }
  }
}
borrow_against_land annotations
{
  "title": "Prepare a loan against land",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
repay_loan_against_land — Prepare paying off a loan
Advertised by the server during the last successful anonymous check.
Open-world

Prepare paying off the open DeFi lending pool loan on a property (Ethereum Mainnet), or the one named by loanId, with the payoff amount today. A loan is open while active and, past maturity, in default until the pool's auction starts. Checks first that the loan is open and the wallet is its borrower, and warns when it is past maturity. Paying off returns the token to the wallet, free of the loan. Prepared, not sent: returns a signRequest (summary, warnings, signLink to fabrica.land, expiresAt 15 minutes out, payload null for now) and stores it so the sign page can load it. The person opens the link, signs in with that wallet and signs; nothing happens until then. The server holds no keys and submits nothing. wallet is the address that will sign.

repay_loan_against_land input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "wallet"
  ],
  "properties": {
    "slug": {
      "type": "string",
      "description": "Property slug from the URL"
    },
    "loanId": {
      "type": "string",
      "pattern": "^[0-9]{1,100}$",
      "description": "The loan to pay off (default: the property's open loan, active or in default)"
    },
    "wallet": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "The wallet that will sign (0x address). The sign page only lets this wallet sign."
    },
    "tokenId": {
      "type": "string",
      "description": "The token ID of the property"
    }
  }
}
repay_loan_against_land annotations
{
  "title": "Prepare paying off a loan",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
transfer_land — Prepare a property transfer
Advertised by the server during the last successful anonymous check.
Open-world

Prepare moving a whole property the wallet holds to another account of the same person on Fabrica (Ethereum Mainnet): recipient is the destination address, which must be an account linked to the owner's own Fabrica login (the sign page offers only those; a sale to someone else is list_land_for_sale or accept_land_offer). Checks first that the wallet holds the property outright, that it backs no loan, and that the recipient differs from the sender and, when signed in, is one of the account's linked wallets; warns about the wallet's open listings. A transfer is final once the transaction confirms. Prepared, not sent: returns a signRequest (summary, warnings, signLink to fabrica.land, expiresAt 15 minutes out, payload null for now) and stores it so the sign page can load it. The person opens the link, signs in with that wallet and signs; nothing happens until then. The server holds no keys and submits nothing. wallet is the address that will sign.

transfer_land input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "recipient",
    "wallet"
  ],
  "properties": {
    "slug": {
      "type": "string",
      "description": "Property slug from the URL"
    },
    "wallet": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "The wallet that holds the property and will sign (0x address). The sign page only lets this wallet sign."
    },
    "tokenId": {
      "type": "string",
      "description": "The token ID of the property"
    },
    "recipient": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "The account the property moves to (0x address). The sign page only offers accounts linked to the signer's own Fabrica login."
    }
  }
}
transfer_land annotations
{
  "title": "Prepare a property transfer",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
update_trust_agreement — Prepare a trust agreement update
Advertised by the server during the last successful anonymous check.
Open-world

Prepare moving a property to the latest version of the Fabrica trust agreement (Ethereum Mainnet). The trust agreement governs the trust that holds the land; the contract lets only a wallet holding at least 70% of the property change it. Checks first that the wallet holds that share and that the property backs no loan, and reports the version it is on now (get_land_trust_documents shows the text). The sign page shows the latest version's name and text and says when the property already uses it. Earlier versions are not offered. Prepared, not sent: returns a signRequest (summary, warnings, signLink to fabrica.land, expiresAt 15 minutes out, payload null for now) and stores it so the sign page can load it. The person opens the link, signs in with that wallet and signs; nothing happens until then. The server holds no keys and submits nothing. wallet is the address that will sign.

update_trust_agreement input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "wallet"
  ],
  "properties": {
    "slug": {
      "type": "string",
      "description": "Property slug from the URL"
    },
    "wallet": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "The wallet that holds the property and will sign (0x address). The sign page only lets this wallet sign."
    },
    "tokenId": {
      "type": "string",
      "description": "The token ID of the property"
    }
  }
}
update_trust_agreement annotations
{
  "title": "Prepare a trust agreement update",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
update_land_description — Prepare a new property description
Advertised by the server during the last successful anonymous check.
Open-world

Prepare replacing a property's description with new plain text, up to 5000 characters (Ethereum Mainnet). Checks first that the wallet holds at least 50% of the property (the contract's rule for this change), that the property backs no loan and that the text differs from the current one. The sign page opens the description editor with the text filled in, editable before saving; saving stores it and records it onchain. Prepared, not sent: returns a signRequest (summary, warnings, signLink to fabrica.land, expiresAt 15 minutes out, payload null for now) and stores it so the sign page can load it. The person opens the link, signs in with that wallet and signs; nothing happens until then. The server holds no keys and submits nothing. wallet is the address that will sign.

update_land_description input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "description",
    "wallet"
  ],
  "properties": {
    "slug": {
      "type": "string",
      "description": "Property slug from the URL"
    },
    "wallet": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "The wallet that holds the property and will sign (0x address). The sign page only lets this wallet sign."
    },
    "tokenId": {
      "type": "string",
      "description": "The token ID of the property"
    },
    "description": {
      "type": "string",
      "maxLength": 5000,
      "minLength": 1,
      "description": "The property's new description, as plain text (up to 5000 characters). It replaces the current one."
    }
  }
}
update_land_description annotations
{
  "title": "Prepare a new property description",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
update_land_photos — Prepare a photo update
Advertised by the server during the last successful anonymous check.
Open-world

Prepare a link that opens a property's photo editor on its page (Ethereum Mainnet), where the owner adds, removes or reorders photos and videos from their own device and saves; files are not passed through this server. Checks first that the wallet holds at least 50% of the property and that it backs no loan, and reports how many photos it has now. Prepared, not sent: returns a signRequest (summary, warnings, signLink to fabrica.land, expiresAt 15 minutes out, payload null for now) and stores it so the sign page can load it. The person opens the link, signs in with that wallet and signs; nothing happens until then. The server holds no keys and submits nothing. wallet is the address that will sign.

update_land_photos input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "wallet"
  ],
  "properties": {
    "slug": {
      "type": "string",
      "description": "Property slug from the URL"
    },
    "wallet": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "The wallet that holds the property and will sign (0x address). The sign page only lets this wallet sign."
    },
    "tokenId": {
      "type": "string",
      "description": "The token ID of the property"
    }
  }
}
update_land_photos annotations
{
  "title": "Prepare a photo update",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
deposit_to_lending_pool — Prepare a deposit into the lending pool
Advertised by the server during the last successful anonymous check.
Open-world

Prepare depositing amountUsd in USDC into one tick of the DeFi lending pool (Ethereum Mainnet). A tick sets the largest loan it funds (a share of a property's value, or a fixed dollar amount) and the longest loan length; with tick left out and several open, the answer lists them (ticks) so the person can choose. Interest is set by the pool, variable and not guaranteed, and deposits are at risk: a loan a borrower does not repay, and whose auction falls short, reduces the tick's value. A withdrawal is paid from funds the tick has not lent out; the rest waits until loans are repaid. Prepared, not sent: returns a signRequest (summary, warnings, signLink to fabrica.land, expiresAt 15 minutes out, payload null for now) and stores it so the sign page can load it. The person opens the link, signs in with that wallet and signs; nothing happens until then. The server holds no keys and submits nothing. wallet is the address that will sign.

deposit_to_lending_pool input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "amountUsd",
    "wallet"
  ],
  "properties": {
    "pool": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "The pool's address, when the network has more than one"
    },
    "tick": {
      "type": "string",
      "pattern": "^\\d{1,40}$",
      "description": "The pool tick: tick from the list this tool returns when tick is left out. A tick sets the largest loan it funds (a share of a property's value, or a fixed dollar amount) and the longest loan length"
    },
    "wallet": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "The wallet that will sign (0x address). The sign page only lets this wallet sign."
    },
    "amountUsd": {
      "type": "number",
      "maximum": 10000000,
      "minimum": 1,
      "description": "Amount to deposit in US dollars, paid in USDC (one USDC counts as one dollar)"
    }
  }
}
deposit_to_lending_pool annotations
{
  "title": "Prepare a deposit into the lending pool",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
withdraw_from_lending_pool — Prepare a withdrawal from the lending pool
Advertised by the server during the last successful anonymous check.
Open-world

Prepare withdrawing amountUsd (default: the whole position) from the wallet's deposit at one tick of the DeFi lending pool (Ethereum Mainnet). Checks first that the wallet has a deposit at the tick, read from the pool contract, and that the amount is within it, and warns when the tick has too few funds not lent out to pay all of it when signed: that part waits in the pool's withdrawal queue and is claimed later from the pool page. Prepared, not sent: returns a signRequest (summary, warnings, signLink to fabrica.land, expiresAt 15 minutes out, payload null for now) and stores it so the sign page can load it. The person opens the link, signs in with that wallet and signs; nothing happens until then. The server holds no keys and submits nothing. wallet is the address that will sign.

withdraw_from_lending_pool input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "tick",
    "wallet"
  ],
  "properties": {
    "pool": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "The pool's address, when the network has more than one"
    },
    "tick": {
      "type": "string",
      "pattern": "^\\d{1,40}$",
      "description": "The pool tick: tick from the list this tool returns when tick is left out. A tick sets the largest loan it funds (a share of a property's value, or a fixed dollar amount) and the longest loan length"
    },
    "wallet": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "The wallet that will sign (0x address). The sign page only lets this wallet sign."
    },
    "amountUsd": {
      "type": "number",
      "maximum": 10000000,
      "minimum": 0.01,
      "description": "Amount to withdraw in US dollars (default: the whole position at the tick)"
    }
  }
}
withdraw_from_lending_pool annotations
{
  "title": "Prepare a withdrawal from the lending pool",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
get_sign_request — Get sign request status
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Get a sign request a prepare tool returned (make_land_offer, list_land_for_sale, accept_land_offer, buy_land, cancel_land_order, borrow_against_land, repay_loan_against_land, transfer_land, update_trust_agreement, update_land_description, update_land_photos, deposit_to_lending_pool, withdraw_from_lending_pool) by its id: pending or completed, with the order hash, transaction hash or loan id once signed. A pending request is also checked against the live order book, the property's loans for a borrow or payoff, the property itself for an owner change, or the pool's log for a deposit or withdrawal. Requests expire 15 minutes after they are prepared; an expired id is reported as unknown.

get_sign_request input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "The sign request id (sr_...) a prepare tool returned"
    }
  }
}
get_sign_request annotations
{
  "title": "Get sign request status",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_transaction_status — Get transaction status
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Get the status of an Ethereum transaction on Ethereum Mainnet by hash: not_found, pending, succeeded or failed, with the block, confirmations, sender, recipient and a block explorer link. Reads the chain only.

get_transaction_status input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "hash"
  ],
  "properties": {
    "hash": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{64}$",
      "description": "The transaction hash (0x followed by 64 hex characters)"
    }
  }
}
get_transaction_status annotations
{
  "title": "Get transaction status",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_my_account — Get my Fabrica account
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Get the connected person's own Fabrica account on Ethereum Mainnet: their email, their linked accounts (every wallet address on the account, each listed once), their verification status, and what this connection may read (its scopes and when its access token expires). Takes no input: it always answers for the person who connected, never for anyone else.

get_my_account input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {}
}
get_my_account annotations
{
  "title": "Get my Fabrica account",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_my_properties — Get my properties
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

List the connected person's own properties on Fabrica (Ethereum Mainnet), across every wallet on their account: the properties they are adding to Fabrica first, then their live properties by estimated value. Each row has its stage and status, location, acres, listing price, offers waiting, whether it is under a loan, Property checks encoding, estimated value and the property page link; totals cover the count, acres, listings, offers waiting and the estimated value of the live properties. Needs the connection's portfolio:read grant. get_land_portfolio lists any wallet address instead.

get_my_properties input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "includePremints": {
      "type": "boolean",
      "description": "Include properties still being added to Fabrica (default true)"
    }
  }
}
get_my_properties annotations
{
  "title": "Get my properties",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_my_offers — Get my offers
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

List the connected person's offers on Fabrica (Ethereum Mainnet), across every wallet on their account: received, the offers waiting on their properties (per property, highest first, with whether the property is under a loan and the property page where an offer is accepted), and made, the offers they placed on other properties. Each offer has its USD price and amount, buyer, expiry, and expiringSoon when it ends within 3 days. Live offers only unless status is 'all'. Needs the connection's portfolio:read grant. get_land_order_book reads any one property's listings and offers.

get_my_offers input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "side": {
      "enum": [
        "made",
        "received",
        "both"
      ],
      "type": "string",
      "description": "'both' (default), 'made': offers this person made, 'received': offers waiting on their properties"
    },
    "status": {
      "enum": [
        "active",
        "all"
      ],
      "type": "string",
      "description": "'active' (default): live offers only. 'all': also expired, canceled and filled ones."
    }
  }
}
get_my_offers annotations
{
  "title": "Get my offers",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_my_loans — Get my loans
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

List the connected person's lending on Fabrica (Ethereum Mainnet), across every wallet on their account: taken, the loans against their properties (active first, with maturity date, days to maturity, maturingSoon within 14 days, payoff today and its as-of time, APR and the property page where it is repaid); made, loans they funded; deposits, their position in the DeFi lending pool (value at current pool prices, pending redemptions, pool page link); and counts of the loans they took. A loan between two of their own wallets appears under both taken and made. Prepares nothing: repaying and depositing happen on fabrica.land. Needs the connection's portfolio:read grant.

get_my_loans input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {}
}
get_my_loans annotations
{
  "title": "Get my loans",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
what_needs_attention — What needs my attention on Fabrica
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

One ranked list of everything waiting on the connected person on Fabrica (Ethereum Mainnet): loans past or near maturity and offers waiting on their properties first, then steps of properties they are adding that wait on them, then fees to approve, then checks on their live properties (property taxes, owner contact, recovery status) and removals in progress. Each item has its kind, property, title, why, due date when known, the link where it is done and who acts. Fees and checks cover up to 20 live properties per call. checked lists what was read, so an empty list means nothing was found there. Reads only; uses the portfolio:read and onramp:read grants and skips what the connection lacks.

what_needs_attention input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {}
}
what_needs_attention annotations
{
  "title": "What needs my attention on Fabrica",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_my_properties_being_added — Get the properties I'm adding
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

List the properties the connected person is adding to Fabrica (Ethereum Mainnet), across every wallet on their account, those waiting on them first. Each has its address, county and parcel number, status, how many steps are done, the next step with who acts (the owner, Fabrica, or the county recorder), what it asks and the link to do it, any required details still missing, and the live token once it is live. Needs the connection's onramp:read grant. get_adding_status gives one in full.

get_my_properties_being_added input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {}
}
get_my_properties_being_added annotations
{
  "title": "Get the properties I'm adding",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_adding_status — Get where a property I'm adding stands
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Get one property the connected person is adding to Fabrica (Ethereum Mainnet) in full: every step with its status and dates, the next step and who acts, the actions open on it with the owner's own links, and what the owner entered so far (the owners named on the deed and the details the county asks for). Answers only for a property this account is adding. Needs the connection's onramp:read grant.

get_adding_status input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "tokenId"
  ],
  "properties": {
    "tokenId": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "Token id of the property being added (tokenId from get_my_properties_being_added)"
    }
  }
}
get_adding_status annotations
{
  "title": "Get where a property I'm adding stands",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
add_land — Add a property to Fabrica
Advertised by the server during the last successful anonymous check.
Open-world

Start adding a property to Fabrica (Ethereum Mainnet) from one of: listingUrl, a listing page on another website (the web app reads it: title, price, acres, the seller's description, photos, parcel number, county and state, and names the parcel); parcelNumber with state and county; or address. Finds the parcel and whether it is already on Fabrica. Signed in with the add-property grant, it then creates the property's record as the connected person, held by their linked account (wallet picks one when several are linked), with the listing's description and photos, and returns where it stands: the steps, and the questions the county asks for this property. Next the owner is asked who holds title on the deed and those questions, and answer_adding_questions saves them. Starting the same parcel again returns the existing record. Not signed in, or without the grant, it returns links.addToFabrica, the fabrica.land page that adds the parcel. Nothing is signed, paid or recorded by this tool: the fee approval and the notarized signature happen on fabrica.land.

add_land input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "state": {
      "type": "string",
      "maxLength": 2,
      "minLength": 2,
      "description": "Two-letter state, with parcelNumber (and to narrow an address)"
    },
    "county": {
      "type": "string",
      "maxLength": 64,
      "minLength": 2,
      "description": "County name, with parcelNumber (and to narrow an address)"
    },
    "wallet": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "Signed in with several linked accounts: the one that will hold the property. Left out, the only linked account is used."
    },
    "address": {
      "type": "string",
      "maxLength": 200,
      "minLength": 3,
      "description": "The property's street address, with city and state"
    },
    "listingUrl": {
      "type": "string",
      "format": "uri",
      "maxLength": 2048,
      "description": "A listing page on another website (https link). The web app reads it: title, price, acres, the seller's description, photos, parcel number, county and state, and names the parcel."
    },
    "parcelNumber": {
      "type": "string",
      "maxLength": 64,
      "minLength": 1,
      "description": "The parcel number (APN) as the county writes it; give state and county with it"
    }
  }
}
add_land annotations
{
  "title": "Add a property to Fabrica",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
answer_adding_questions — Answer the questions for a property I'm adding
Advertised by the server during the last successful anonymous check.
Open-world

Save, on a property the connected person is adding to Fabrica (Ethereum Mainnet), the owner named on the deed (owner: one person, an entity with the person who signs for it, or several people with how they hold title) and the answers to the county's questions (answers, keyed by the question exactly as add_land or get_adding_status lists it; a select takes one of its options verbatim). Returns the record as get_adding_status does, with the questions still open: the county's questions depend on the kind of owner, so after saving the owner they are read again from the answer. Needs the connection's add-property grant.

answer_adding_questions input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "tokenId"
  ],
  "properties": {
    "email": {
      "type": "string",
      "format": "email",
      "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
      "description": "Where Fabrica writes about this property; defaults to the account's email"
    },
    "owner": {
      "type": "object",
      "required": [
        "kind"
      ],
      "properties": {
        "kind": {
          "enum": [
            "individual",
            "entity",
            "multiple"
          ],
          "type": "string",
          "description": "Who holds title on the deed: one person, a legal entity (LLC, corporation, trust...), or two or more people together"
        },
        "role": {
          "type": "string",
          "maxLength": 100,
          "description": "For an entity: this person's role in it (Manager, President, Trustee...)"
        },
        "email": {
          "type": "string",
          "format": "email",
          "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
          "description": "This person's email: the signing session and the documents go there"
        },
        "people": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "firstName",
              "lastName",
              "email"
            ],
            "properties": {
              "role": {
                "type": "string",
                "maxLength": 100,
                "description": "For an entity: this person's role in it (Manager, President, Trustee...)"
              },
              "email": {
                "type": "string",
                "format": "email",
                "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
                "description": "This person's email: the signing session and the documents go there"
              },
              "lastName": {
                "type": "string",
                "maxLength": 100,
                "minLength": 1,
                "description": "Legal last name, as on the deed"
              },
              "firstName": {
                "type": "string",
                "maxLength": 100,
                "minLength": 1,
                "description": "Legal first name, as on the deed"
              },
              "middleName": {
                "type": "string",
                "maxLength": 100,
                "description": "Middle name or initial, as on the deed"
              }
            }
          },
          "maxItems": 10,
          "minItems": 2,
          "description": "Multiple: every person on the deed"
        },
        "lastName": {
          "type": "string",
          "maxLength": 100,
          "minLength": 1,
          "description": "Legal last name, as on the deed"
        },
        "firstName": {
          "type": "string",
          "maxLength": 100,
          "minLength": 1,
          "description": "Legal first name, as on the deed"
        },
        "qualifier": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Multiple: how they hold title, as the deed says, e.g. 'husband and wife', 'as joint tenants with right of survivorship', 'as tenants in common'"
        },
        "entityName": {
          "type": "string",
          "maxLength": 255,
          "minLength": 1,
          "description": "Entity: its legal name"
        },
        "entityType": {
          "type": "string",
          "maxLength": 255,
          "minLength": 1,
          "description": "Entity: its type, e.g. Limited Liability Company, C Corporation, Trust, Limited Partnership"
        },
        "middleName": {
          "type": "string",
          "maxLength": 100,
          "description": "Middle name or initial, as on the deed"
        },
        "entityJurisdiction": {
          "type": "string",
          "maxLength": 255,
          "minLength": 2,
          "description": "Entity: where it is formed, as US- plus the two-letter state in lower case, e.g. US-tx"
        }
      },
      "description": "The owner named on the deed. One person: firstName, lastName, email. An entity: entityName, entityType, entityJurisdiction, and the person who signs for it (firstName, lastName, email, role). Multiple: people and qualifier."
    },
    "answers": {
      "type": "object",
      "description": "Answers to the county's questions, keyed by the question exactly as get_adding_status or add_land lists it; a select answer is one of its options, verbatim. An empty string clears an answer.",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string",
        "maxLength": 2000
      }
    },
    "tokenId": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "Token id of the property being added (from add_land or get_my_properties_being_added)"
    }
  }
}
answer_adding_questions annotations
{
  "title": "Answer the questions for a property I'm adding",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}

Prompts

4 advertised

due_diligence — Due diligence on a property

Advertised by the server during the last successful anonymous check.

Records, Property checks, taxes, valuation with sources, order book, trust documents, lending position and activity for one Fabrica property, ending with what to verify independently. No buy recommendation.

tokenId
Token ID of the Fabrica property (required)
work_parcel_list — Work a list of parcels

Advertised by the server during the last successful anonymous check.

For each US address or parcel number in a list: find the parcel, whether it is on Fabrica, and the link to add it if not. Ends with one table.

parcels
Addresses or parcel numbers, one per line or comma-separated (required)
wallet_review — Review a wallet

Advertised by the server during the last successful anonymous check.

Holdings, loans and maturities, activity and credit history for one wallet on Fabrica.

wallet
Ethereum wallet address (0x...) (required)
how_to_add_land — How to add land to Fabrica

Advertised by the server during the last successful anonymous check.

What adding a given parcel to Fabrica involves: the link to start it, the steps (title review, identity, notary, recording), the deferred setup fee, and the owner's obligations.

address
Street address or parcel number of the land (required)

Resources

136 advertised

Fabrica property card

Advertised by the server during the last successful anonymous check.

Card view for get_land_property: parcel map, photos and key facts

Fabrica property card URI
ui://fabrica/property-card

MIME type: text/html;profile=mcp-app

docs:property-obligations — Property Obligations

Advertised by the server during the last successful anonymous check.

Property Obligations, from docs.fabrica.land (https://docs.fabrica.land/docs/property-obligations)

docs:property-obligations URI
fabrica://docs/property-obligations

MIME type: text/markdown

docs:fees — Fees

Advertised by the server during the last successful anonymous check.

Fees, from docs.fabrica.land (https://docs.fabrica.land/docs/fees)

docs:fees URI
fabrica://docs/fees

MIME type: text/markdown

docs:on-ramp — Add a Property

Advertised by the server during the last successful anonymous check.

Add a Property, from docs.fabrica.land (https://docs.fabrica.land/docs/on-ramp)

docs:on-ramp URI
fabrica://docs/on-ramp

MIME type: text/markdown

docs:off-ramp — Remove a Property

Advertised by the server during the last successful anonymous check.

Remove a Property, from docs.fabrica.land (https://docs.fabrica.land/docs/off-ramp)

docs:off-ramp URI
fabrica://docs/off-ramp

MIME type: text/markdown

docs:confidence-scoring-system — Property checks

Advertised by the server during the last successful anonymous check.

Property checks, from docs.fabrica.land (https://docs.fabrica.land/docs/confidence-scoring-system)

docs:confidence-scoring-system URI
fabrica://docs/confidence-scoring-system

MIME type: text/markdown

docs:lending-pool — Pool-Based Lending

Advertised by the server during the last successful anonymous check.

Pool-Based Lending, from docs.fabrica.land (https://docs.fabrica.land/docs/lending-pool)

docs:lending-pool URI
fabrica://docs/lending-pool

MIME type: text/markdown

docs:fabrica-trust — Fabrica Trust

Advertised by the server during the last successful anonymous check.

Fabrica Trust, from docs.fabrica.land (https://docs.fabrica.land/docs/fabrica-trust)

docs:fabrica-trust URI
fabrica://docs/fabrica-trust

MIME type: text/markdown

docs:regulatory-framework — Regulatory Framework

Advertised by the server during the last successful anonymous check.

Regulatory Framework, from docs.fabrica.land (https://docs.fabrica.land/docs/regulatory-framework)

docs:regulatory-framework URI
fabrica://docs/regulatory-framework

MIME type: text/markdown

docs:glossary — Glossary

Advertised by the server during the last successful anonymous check.

Glossary, from docs.fabrica.land (https://docs.fabrica.land/docs/glossary)

docs:glossary URI
fabrica://docs/glossary

MIME type: text/markdown

docs:ai-agents — AI agents and MCP

Advertised by the server during the last successful anonymous check.

AI agents and MCP, from docs.fabrica.land (https://docs.fabrica.land/docs/ai-agents)

docs:ai-agents URI
fabrica://docs/ai-agents

MIME type: text/markdown

docs:architecture — Protocol Overview

Advertised by the server during the last successful anonymous check.

Protocol Overview, from docs.fabrica.land (https://docs.fabrica.land/docs/architecture)

docs:architecture URI
fabrica://docs/architecture

MIME type: text/markdown

docs:build-on-fabrica — Build on Fabrica

Advertised by the server during the last successful anonymous check.

Build on Fabrica, from docs.fabrica.land (https://docs.fabrica.land/docs/build-on-fabrica)

docs:build-on-fabrica URI
fabrica://docs/build-on-fabrica

MIME type: text/markdown

docs:contract-metadata — Contract Metadata (ERC-7572)

Advertised by the server during the last successful anonymous check.

Contract Metadata (ERC-7572), from docs.fabrica.land (https://docs.fabrica.land/docs/contract-metadata)

docs:contract-metadata URI
fabrica://docs/contract-metadata

MIME type: text/markdown

docs:integrations — DeFi & Integrations

Advertised by the server during the last successful anonymous check.

DeFi & Integrations, from docs.fabrica.land (https://docs.fabrica.land/docs/integrations)

docs:integrations URI
fabrica://docs/integrations

MIME type: text/markdown

docs:links — Links

Advertised by the server during the last successful anonymous check.

Links, from docs.fabrica.land (https://docs.fabrica.land/docs/links)

docs:links URI
fabrica://docs/links

MIME type: text/markdown

docs:price-oracle — Price Oracle

Advertised by the server during the last successful anonymous check.

Price Oracle, from docs.fabrica.land (https://docs.fabrica.land/docs/price-oracle)

docs:price-oracle URI
fabrica://docs/price-oracle

MIME type: text/markdown

docs:configuration-object — Configuration Object

Advertised by the server during the last successful anonymous check.

Configuration Object, from docs.fabrica.land (https://docs.fabrica.land/docs/configuration-object)

docs:configuration-object URI
fabrica://docs/configuration-object

MIME type: text/markdown

docs:definition-object — Definition Object

Advertised by the server during the last successful anonymous check.

Definition Object, from docs.fabrica.land (https://docs.fabrica.land/docs/definition-object)

docs:definition-object URI
fabrica://docs/definition-object

MIME type: text/markdown

docs:property-nft — Property Token

Advertised by the server during the last successful anonymous check.

Property Token, from docs.fabrica.land (https://docs.fabrica.land/docs/property-nft)

docs:property-nft URI
fabrica://docs/property-nft

MIME type: text/markdown

docs:operating-agreement — Operating Agreement

Advertised by the server during the last successful anonymous check.

Operating Agreement, from docs.fabrica.land (https://docs.fabrica.land/docs/operating-agreement)

docs:operating-agreement URI
fabrica://docs/operating-agreement

MIME type: text/markdown

docs:smartcontracts — Smartcontracts

Advertised by the server during the last successful anonymous check.

Smartcontracts, from docs.fabrica.land (https://docs.fabrica.land/docs/smartcontracts)

docs:smartcontracts URI
fabrica://docs/smartcontracts

MIME type: text/markdown

docs:for-real-estate-professionals — For Real Estate Professionals

Advertised by the server during the last successful anonymous check.

For Real Estate Professionals, from docs.fabrica.land (https://docs.fabrica.land/docs/for-real-estate-professionals)

docs:for-real-estate-professionals URI
fabrica://docs/for-real-estate-professionals

MIME type: text/markdown

docs:getting-started — Why Fabrica

Advertised by the server during the last successful anonymous check.

Why Fabrica, from docs.fabrica.land (https://docs.fabrica.land/docs/getting-started)

docs:getting-started URI
fabrica://docs/getting-started

MIME type: text/markdown

docs:protocol — Key Concepts

Advertised by the server during the last successful anonymous check.

Key Concepts, from docs.fabrica.land (https://docs.fabrica.land/docs/protocol)

docs:protocol URI
fabrica://docs/protocol

MIME type: text/markdown

docs:dispute-resolution — Dispute Resolution

Advertised by the server during the last successful anonymous check.

Dispute Resolution, from docs.fabrica.land (https://docs.fabrica.land/docs/dispute-resolution)

docs:dispute-resolution URI
fabrica://docs/dispute-resolution

MIME type: text/markdown

docs:legal-wrappers — Legal Wrappers

Advertised by the server during the last successful anonymous check.

Legal Wrappers, from docs.fabrica.land (https://docs.fabrica.land/docs/legal-wrappers)

docs:legal-wrappers URI
fabrica://docs/legal-wrappers

MIME type: text/markdown

docs:kyc-and-aml — KYC/AML and OFAC

Advertised by the server during the last successful anonymous check.

KYC/AML and OFAC, from docs.fabrica.land (https://docs.fabrica.land/docs/kyc-and-aml)

docs:kyc-and-aml URI
fabrica://docs/kyc-and-aml

MIME type: text/markdown

docs:licenses-and-operation — Licenses and Operation

Advertised by the server during the last successful anonymous check.

Licenses and Operation, from docs.fabrica.land (https://docs.fabrica.land/docs/licenses-and-operation)

docs:licenses-and-operation URI
fabrica://docs/licenses-and-operation

MIME type: text/markdown

docs:securities-analysis — Securities Analysis

Advertised by the server during the last successful anonymous check.

Securities Analysis, from docs.fabrica.land (https://docs.fabrica.land/docs/securities-analysis)

docs:securities-analysis URI
fabrica://docs/securities-analysis

MIME type: text/markdown

docs:ucc-article-12 — UCC Article 12

Advertised by the server during the last successful anonymous check.

UCC Article 12, from docs.fabrica.land (https://docs.fabrica.land/docs/ucc-article-12)

docs:ucc-article-12 URI
fabrica://docs/ucc-article-12

MIME type: text/markdown

docs:for-capital-providers — For Capital Providers

Advertised by the server during the last successful anonymous check.

For Capital Providers, from docs.fabrica.land (https://docs.fabrica.land/docs/for-capital-providers)

docs:for-capital-providers URI
fabrica://docs/for-capital-providers

MIME type: text/markdown

docs:lending — Lending

Advertised by the server during the last successful anonymous check.

Lending, from docs.fabrica.land (https://docs.fabrica.land/docs/lending)

docs:lending URI
fabrica://docs/lending

MIME type: text/markdown

docs:lender-protections — Lender Protections

Advertised by the server during the last successful anonymous check.

Lender Protections, from docs.fabrica.land (https://docs.fabrica.land/docs/lender-protections)

docs:lender-protections URI
fabrica://docs/lender-protections

MIME type: text/markdown

docs:loan-defaults — Loan Defaults & Liquidation

Advertised by the server during the last successful anonymous check.

Loan Defaults & Liquidation, from docs.fabrica.land (https://docs.fabrica.land/docs/loan-defaults)

docs:loan-defaults URI
fabrica://docs/loan-defaults

MIME type: text/markdown

docs:peer-to-peer — Peer-to-Peer Lending

Advertised by the server during the last successful anonymous check.

Peer-to-Peer Lending, from docs.fabrica.land (https://docs.fabrica.land/docs/peer-to-peer)

docs:peer-to-peer URI
fabrica://docs/peer-to-peer

MIME type: text/markdown

docs:mail-forwarding — Mail Forwarding

Advertised by the server during the last successful anonymous check.

Mail Forwarding, from docs.fabrica.land (https://docs.fabrica.land/docs/mail-forwarding)

docs:mail-forwarding URI
fabrica://docs/mail-forwarding

MIME type: text/markdown

docs:death-and-estate-planning — Death & Estate Planning

Advertised by the server during the last successful anonymous check.

Death & Estate Planning, from docs.fabrica.land (https://docs.fabrica.land/docs/death-and-estate-planning)

docs:death-and-estate-planning URI
fabrica://docs/death-and-estate-planning

MIME type: text/markdown

docs:property-lifecycle — Property Lifecycle

Advertised by the server during the last successful anonymous check.

Property Lifecycle, from docs.fabrica.land (https://docs.fabrica.land/docs/property-lifecycle)

docs:property-lifecycle URI
fabrica://docs/property-lifecycle

MIME type: text/markdown

docs:onchain — Onchain Operations

Advertised by the server during the last successful anonymous check.

Onchain Operations, from docs.fabrica.land (https://docs.fabrica.land/docs/onchain)

docs:onchain URI
fabrica://docs/onchain

MIME type: text/markdown

docs:token-recovery — Token Recovery

Advertised by the server during the last successful anonymous check.

Token Recovery, from docs.fabrica.land (https://docs.fabrica.land/docs/token-recovery)

docs:token-recovery URI
fabrica://docs/token-recovery

MIME type: text/markdown

docs:buying — Buying a Property

Advertised by the server during the last successful anonymous check.

Buying a Property, from docs.fabrica.land (https://docs.fabrica.land/docs/buying)

docs:buying URI
fabrica://docs/buying

MIME type: text/markdown

docs:trading — Trading Properties

Advertised by the server during the last successful anonymous check.

Trading Properties, from docs.fabrica.land (https://docs.fabrica.land/docs/trading)

docs:trading URI
fabrica://docs/trading

MIME type: text/markdown

docs:selling — Selling Your Property

Advertised by the server during the last successful anonymous check.

Selling Your Property, from docs.fabrica.land (https://docs.fabrica.land/docs/selling)

docs:selling URI
fabrica://docs/selling

MIME type: text/markdown

docs:fabrica-avm — FabricaAVM

Advertised by the server during the last successful anonymous check.

FabricaAVM, from docs.fabrica.land (https://docs.fabrica.land/docs/fabrica-avm)

docs:fabrica-avm URI
fabrica://docs/fabrica-avm

MIME type: text/markdown

docs:valuation — Valuation

Advertised by the server during the last successful anonymous check.

Valuation, from docs.fabrica.land (https://docs.fabrica.land/docs/valuation)

docs:valuation URI
fabrica://docs/valuation

MIME type: text/markdown

docs:property-valuation — Property Valuation

Advertised by the server during the last successful anonymous check.

Property Valuation, from docs.fabrica.land (https://docs.fabrica.land/docs/property-valuation)

docs:property-valuation URI
fabrica://docs/property-valuation

MIME type: text/markdown

docs:build-your-own-validator — Build your own validator

Advertised by the server during the last successful anonymous check.

Build your own validator, from docs.fabrica.land (https://docs.fabrica.land/docs/build-your-own-validator)

docs:build-your-own-validator URI
fabrica://docs/build-your-own-validator

MIME type: text/markdown

docs:fabrica-us-validator — Fabrica US validator

Advertised by the server during the last successful anonymous check.

Fabrica US validator, from docs.fabrica.land (https://docs.fabrica.land/docs/fabrica-us-validator)

docs:fabrica-us-validator URI
fabrica://docs/fabrica-us-validator

MIME type: text/markdown

docs:validator-registry — Validator Registry

Advertised by the server during the last successful anonymous check.

Validator Registry, from docs.fabrica.land (https://docs.fabrica.land/docs/validator-registry)

docs:validator-registry URI
fabrica://docs/validator-registry

MIME type: text/markdown

docs:validators — Validators Overview

Advertised by the server during the last successful anonymous check.

Validators Overview, from docs.fabrica.land (https://docs.fabrica.land/docs/validators)

docs:validators URI
fabrica://docs/validators

MIME type: text/markdown

legal:us-trust-agreement — Fabrica Trust Agreement (US)

Advertised by the server during the last successful anonymous check.

Fabrica Trust Agreement (US), from fabrica-land/fabrica-connectors (https://github.com/fabrica-land/fabrica-connectors/blob/main/connectors/us/us-trust-agreement.md). The current template; a property may pin an older version, served at fabrica://property/{tokenId}/trust-agreement.

legal:us-trust-agreement URI
fabrica://legal/us-trust-agreement

MIME type: text/markdown

network — Fabrica network: Ethereum Mainnet

Advertised by the server during the last successful anonymous check.

The network this server reads, its contract addresses and the legal notice

network URI
fabrica://network

MIME type: text/markdown

help:3305355-what-does-fabrica-cost — What does Fabrica cost?

Advertised by the server during the last successful anonymous check.

What does Fabrica cost?, from the Fabrica help center (https://help.fabrica.land/en/articles/3305355-what-does-fabrica-cost)

help:3305355-what-does-fabrica-cost URI
fabrica://help/3305355-what-does-fabrica-cost

MIME type: text/markdown

help:8542384-what-is-fabrica — What is Fabrica?

Advertised by the server during the last successful anonymous check.

What is Fabrica?, from the Fabrica help center (https://help.fabrica.land/en/articles/8542384-what-is-fabrica)

help:8542384-what-is-fabrica URI
fabrica://help/8542384-what-is-fabrica

MIME type: text/markdown

help:8542397-how-can-i-sign-up-for-fabrica — How can I sign up for Fabrica?

Advertised by the server during the last successful anonymous check.

How can I sign up for Fabrica?, from the Fabrica help center (https://help.fabrica.land/en/articles/8542397-how-can-i-sign-up-for-fabrica)

help:8542397-how-can-i-sign-up-for-fabrica URI
fabrica://help/8542397-how-can-i-sign-up-for-fabrica

MIME type: text/markdown

help:8542400-how-do-i-add-my-property-to-fabrica — How do I add my property to Fabrica?

Advertised by the server during the last successful anonymous check.

How do I add my property to Fabrica?, from the Fabrica help center (https://help.fabrica.land/en/articles/8542400-how-do-i-add-my-property-to-fabrica)

help:8542400-how-do-i-add-my-property-to-fabrica URI
fabrica://help/8542400-how-do-i-add-my-property-to-fabrica

MIME type: text/markdown

help:8542420-how-do-i-buy-a-property-on-fabrica — How do I buy a property on Fabrica?

Advertised by the server during the last successful anonymous check.

How do I buy a property on Fabrica?, from the Fabrica help center (https://help.fabrica.land/en/articles/8542420-how-do-i-buy-a-property-on-fabrica)

help:8542420-how-do-i-buy-a-property-on-fabrica URI
fabrica://help/8542420-how-do-i-buy-a-property-on-fabrica

MIME type: text/markdown

help:8542426-who-can-buy-property-on-fabrica — Who can buy property on Fabrica?

Advertised by the server during the last successful anonymous check.

Who can buy property on Fabrica?, from the Fabrica help center (https://help.fabrica.land/en/articles/8542426-who-can-buy-property-on-fabrica)

help:8542426-who-can-buy-property-on-fabrica URI
fabrica://help/8542426-who-can-buy-property-on-fabrica

MIME type: text/markdown

help:8542447-how-do-i-verify-a-property-before-buying — How do I verify a property before buying?

Advertised by the server during the last successful anonymous check.

How do I verify a property before buying?, from the Fabrica help center (https://help.fabrica.land/en/articles/8542447-how-do-i-verify-a-property-before-buying)

help:8542447-how-do-i-verify-a-property-before-buying URI
fabrica://help/8542447-how-do-i-verify-a-property-before-buying

MIME type: text/markdown

help:8542455-how-do-i-list-my-property-for-sale — How do I list my property for sale?

Advertised by the server during the last successful anonymous check.

How do I list my property for sale?, from the Fabrica help center (https://help.fabrica.land/en/articles/8542455-how-do-i-list-my-property-for-sale)

help:8542455-how-do-i-list-my-property-for-sale URI
fabrica://help/8542455-how-do-i-list-my-property-for-sale

MIME type: text/markdown

help:8542467-offers-on-your-property-and-how-to-accept-them — Offers on your property, and how to accept them

Advertised by the server during the last successful anonymous check.

Offers on your property, and how to accept them, from the Fabrica help center (https://help.fabrica.land/en/articles/8542467-offers-on-your-property-and-how-to-accept-them)

help:8542467-offers-on-your-property-and-how-to-accept-them URI
fabrica://help/8542467-offers-on-your-property-and-how-to-accept-them

MIME type: text/markdown

help:8545978-how-do-i-cancel-a-listing — How do I cancel a listing?

Advertised by the server during the last successful anonymous check.

How do I cancel a listing?, from the Fabrica help center (https://help.fabrica.land/en/articles/8545978-how-do-i-cancel-a-listing)

help:8545978-how-do-i-cancel-a-listing URI
fabrica://help/8545978-how-do-i-cancel-a-listing

MIME type: text/markdown

help:8546018-how-do-i-remove-my-property-from-fabrica — How do I remove my property from Fabrica?

Advertised by the server during the last successful anonymous check.

How do I remove my property from Fabrica?, from the Fabrica help center (https://help.fabrica.land/en/articles/8546018-how-do-i-remove-my-property-from-fabrica)

help:8546018-how-do-i-remove-my-property-from-fabrica URI
fabrica://help/8546018-how-do-i-remove-my-property-from-fabrica

MIME type: text/markdown

help:8546032-how-do-i-make-an-offer-on-a-property — How do I make an offer on a property?

Advertised by the server during the last successful anonymous check.

How do I make an offer on a property?, from the Fabrica help center (https://help.fabrica.land/en/articles/8546032-how-do-i-make-an-offer-on-a-property)

help:8546032-how-do-i-make-an-offer-on-a-property URI
fabrica://help/8546032-how-do-i-make-an-offer-on-a-property

MIME type: text/markdown

help:8546153-what-happens-when-your-property-sells — What happens when your property sells

Advertised by the server during the last successful anonymous check.

What happens when your property sells, from the Fabrica help center (https://help.fabrica.land/en/articles/8546153-what-happens-when-your-property-sells)

help:8546153-what-happens-when-your-property-sells URI
fabrica://help/8546153-what-happens-when-your-property-sells

MIME type: text/markdown

help:8602894-lending-on-fabrica-how-it-works — Lending on Fabrica: how it works

Advertised by the server during the last successful anonymous check.

Lending on Fabrica: how it works, from the Fabrica help center (https://help.fabrica.land/en/articles/8602894-lending-on-fabrica-how-it-works)

help:8602894-lending-on-fabrica-how-it-works URI
fabrica://help/8602894-lending-on-fabrica-how-it-works

MIME type: text/markdown

help:8602895-who-is-the-lender — Who is the lender?

Advertised by the server during the last successful anonymous check.

Who is the lender?, from the Fabrica help center (https://help.fabrica.land/en/articles/8602895-who-is-the-lender)

help:8602895-who-is-the-lender URI
fabrica://help/8602895-who-is-the-lender

MIME type: text/markdown

help:8602900-what-if-i-can-t-repay-my-loan-by-the-due-date — What if I can't repay my loan by the due date?

Advertised by the server during the last successful anonymous check.

What if I can't repay my loan by the due date?, from the Fabrica help center (https://help.fabrica.land/en/articles/8602900-what-if-i-can-t-repay-my-loan-by-the-due-date)

help:8602900-what-if-i-can-t-repay-my-loan-by-the-due-date URI
fabrica://help/8602900-what-if-i-can-t-repay-my-loan-by-the-due-date

MIME type: text/markdown

help:8602905-what-can-i-do-with-my-property-while-it-s-under-a-loan — What can I do with my property while it's under a loan?

Advertised by the server during the last successful anonymous check.

What can I do with my property while it's under a loan?, from the Fabrica help center (https://help.fabrica.land/en/articles/8602905-what-can-i-do-with-my-property-while-it-s-under-a-loan)

help:8602905-what-can-i-do-with-my-property-while-it-s-under-a-loan URI
fabrica://help/8602905-what-can-i-do-with-my-property-while-it-s-under-a-loan

MIME type: text/markdown

help:8673843-what-happens-when-a-loan-defaults — What happens when a loan defaults?

Advertised by the server during the last successful anonymous check.

What happens when a loan defaults?, from the Fabrica help center (https://help.fabrica.land/en/articles/8673843-what-happens-when-a-loan-defaults)

help:8673843-what-happens-when-a-loan-defaults URI
fabrica://help/8673843-what-happens-when-a-loan-defaults

MIME type: text/markdown

help:8700800-can-i-sell-my-property-outside-fabrica — Can I sell my property outside Fabrica?

Advertised by the server during the last successful anonymous check.

Can I sell my property outside Fabrica?, from the Fabrica help center (https://help.fabrica.land/en/articles/8700800-can-i-sell-my-property-outside-fabrica)

help:8700800-can-i-sell-my-property-outside-fabrica URI
fabrica://help/8700800-can-i-sell-my-property-outside-fabrica

MIME type: text/markdown

help:8700821-what-happens-to-my-property-if-fabrica-disappears — What happens to my property if Fabrica disappears?

Advertised by the server during the last successful anonymous check.

What happens to my property if Fabrica disappears?, from the Fabrica help center (https://help.fabrica.land/en/articles/8700821-what-happens-to-my-property-if-fabrica-disappears)

help:8700821-what-happens-to-my-property-if-fabrica-disappears URI
fabrica://help/8700821-what-happens-to-my-property-if-fabrica-disappears

MIME type: text/markdown

help:8809464-your-property-taxes-who-pays-how-much-and-why-it-matters — Your property taxes: who pays, how much, and why it matters

Advertised by the server during the last successful anonymous check.

Your property taxes: who pays, how much, and why it matters, from the Fabrica help center (https://help.fabrica.land/en/articles/8809464-your-property-taxes-who-pays-how-much-and-why-it-matters)

help:8809464-your-property-taxes-who-pays-how-much-and-why-it-matters URI
fabrica://help/8809464-your-property-taxes-who-pays-how-much-and-why-it-matters

MIME type: text/markdown

help:8809585-who-is-fabrica — Who is Fabrica?

Advertised by the server during the last successful anonymous check.

Who is Fabrica?, from the Fabrica help center (https://help.fabrica.land/en/articles/8809585-who-is-fabrica)

help:8809585-who-is-fabrica URI
fabrica://help/8809585-who-is-fabrica

MIME type: text/markdown

help:8809600-what-is-the-fabrica-trust-and-how-does-it-affect-property-transactions — What is the Fabrica Trust and how does it affect property transactions?

Advertised by the server during the last successful anonymous check.

What is the Fabrica Trust and how does it affect property transactions?, from the Fabrica help center (https://help.fabrica.land/en/articles/8809600-what-is-the-fabrica-trust-and-how-does-it-affect-property-transactions)

help:8809600-what-is-the-fabrica-trust-and-how-does-it-affect-property-transactions URI
fabrica://help/8809600-what-is-the-fabrica-trust-and-how-does-it-affect-property-transactions

MIME type: text/markdown

help:8809642-what-is-fabrica-s-role — What is Fabrica's role?

Advertised by the server during the last successful anonymous check.

What is Fabrica's role?, from the Fabrica help center (https://help.fabrica.land/en/articles/8809642-what-is-fabrica-s-role)

help:8809642-what-is-fabrica-s-role URI
fabrica://help/8809642-what-is-fabrica-s-role

MIME type: text/markdown

help:8848747-can-i-add-multiple-properties-at-once — Can I add multiple properties at once?

Advertised by the server during the last successful anonymous check.

Can I add multiple properties at once?, from the Fabrica help center (https://help.fabrica.land/en/articles/8848747-can-i-add-multiple-properties-at-once)

help:8848747-can-i-add-multiple-properties-at-once URI
fabrica://help/8848747-can-i-add-multiple-properties-at-once

MIME type: text/markdown

help:8848772-what-are-my-responsibilities-as-a-property-owner — What are my responsibilities as a property owner?

Advertised by the server during the last successful anonymous check.

What are my responsibilities as a property owner?, from the Fabrica help center (https://help.fabrica.land/en/articles/8848772-what-are-my-responsibilities-as-a-property-owner)

help:8848772-what-are-my-responsibilities-as-a-property-owner URI
fabrica://help/8848772-what-are-my-responsibilities-as-a-property-owner

MIME type: text/markdown

help:8848817-are-fabrica-s-smart-contracts-audited — Are Fabrica's smart contracts audited?

Advertised by the server during the last successful anonymous check.

Are Fabrica's smart contracts audited?, from the Fabrica help center (https://help.fabrica.land/en/articles/8848817-are-fabrica-s-smart-contracts-audited)

help:8848817-are-fabrica-s-smart-contracts-audited URI
fabrica://help/8848817-are-fabrica-s-smart-contracts-audited

MIME type: text/markdown

help:8848819-what-happens-if-my-token-is-stolen — What happens if my token is stolen?

Advertised by the server during the last successful anonymous check.

What happens if my token is stolen?, from the Fabrica help center (https://help.fabrica.land/en/articles/8848819-what-happens-if-my-token-is-stolen)

help:8848819-what-happens-if-my-token-is-stolen URI
fabrica://help/8848819-what-happens-if-my-token-is-stolen

MIME type: text/markdown

help:8848856-does-fabrica-control-my-property — Does Fabrica control my property?

Advertised by the server during the last successful anonymous check.

Does Fabrica control my property?, from the Fabrica help center (https://help.fabrica.land/en/articles/8848856-does-fabrica-control-my-property)

help:8848856-does-fabrica-control-my-property URI
fabrica://help/8848856-does-fabrica-control-my-property

MIME type: text/markdown

help:8855691-who-sets-the-price-of-a-property-for-sale — Who sets the price of a property for sale?

Advertised by the server during the last successful anonymous check.

Who sets the price of a property for sale?, from the Fabrica help center (https://help.fabrica.land/en/articles/8855691-who-sets-the-price-of-a-property-for-sale)

help:8855691-who-sets-the-price-of-a-property-for-sale URI
fabrica://help/8855691-who-sets-the-price-of-a-property-for-sale

MIME type: text/markdown

help:8855700-where-does-the-estimated-value-come-from — Where does the estimated value come from?

Advertised by the server during the last successful anonymous check.

Where does the estimated value come from?, from the Fabrica help center (https://help.fabrica.land/en/articles/8855700-where-does-the-estimated-value-come-from)

help:8855700-where-does-the-estimated-value-come-from URI
fabrica://help/8855700-where-does-the-estimated-value-come-from

MIME type: text/markdown

help:11149960-how-do-i-borrow-against-my-property — How do I borrow against my property?

Advertised by the server during the last successful anonymous check.

How do I borrow against my property?, from the Fabrica help center (https://help.fabrica.land/en/articles/11149960-how-do-i-borrow-against-my-property)

help:11149960-how-do-i-borrow-against-my-property URI
fabrica://help/11149960-how-do-i-borrow-against-my-property

MIME type: text/markdown

help:16280903-can-i-add-a-property-with-a-mortgage — Can I add a property with a mortgage?

Advertised by the server during the last successful anonymous check.

Can I add a property with a mortgage?, from the Fabrica help center (https://help.fabrica.land/en/articles/16280903-can-i-add-a-property-with-a-mortgage)

help:16280903-can-i-add-a-property-with-a-mortgage URI
fabrica://help/16280903-can-i-add-a-property-with-a-mortgage

MIME type: text/markdown

help:16280904-can-i-cancel-adding-my-property — Can I cancel adding my property?

Advertised by the server during the last successful anonymous check.

Can I cancel adding my property?, from the Fabrica help center (https://help.fabrica.land/en/articles/16280904-can-i-cancel-adding-my-property)

help:16280904-can-i-cancel-adding-my-property URI
fabrica://help/16280904-can-i-cancel-adding-my-property

MIME type: text/markdown

help:16280905-ownership-types-individual-with-someone-else-or-through-an-entity — Ownership types: individual, with someone else, or through an entity

Advertised by the server during the last successful anonymous check.

Ownership types: individual, with someone else, or through an entity, from the Fabrica help center (https://help.fabrica.land/en/articles/16280905-ownership-types-individual-with-someone-else-or-through-an-entity)

help:16280905-ownership-types-individual-with-someone-else-or-through-an-entity URI
fabrica://help/16280905-ownership-types-individual-with-someone-else-or-through-an-entity

MIME type: text/markdown

help:16280906-signing-and-notarization — Signing and notarization

Advertised by the server during the last successful anonymous check.

Signing and notarization, from the Fabrica help center (https://help.fabrica.land/en/articles/16280906-signing-and-notarization)

help:16280906-signing-and-notarization URI
fabrica://help/16280906-signing-and-notarization

MIME type: text/markdown

help:16280907-what-is-the-setup-fee-no-charge-today — What is the setup fee? (No charge today)

Advertised by the server during the last successful anonymous check.

What is the setup fee? (No charge today), from the Fabrica help center (https://help.fabrica.land/en/articles/16280907-what-is-the-setup-fee-no-charge-today)

help:16280907-what-is-the-setup-fee-no-charge-today URI
fabrica://help/16280907-what-is-the-setup-fee-no-charge-today

MIME type: text/markdown

help:16280908-what-happens-after-i-submit-my-property — What happens after I submit my property?

Advertised by the server during the last successful anonymous check.

What happens after I submit my property?, from the Fabrica help center (https://help.fabrica.land/en/articles/16280908-what-happens-after-i-submit-my-property)

help:16280908-what-happens-after-i-submit-my-property URI
fabrica://help/16280908-what-happens-after-i-submit-my-property

MIME type: text/markdown

help:16280910-can-i-refinance-or-extend-my-loan — Can I refinance or extend my loan?

Advertised by the server during the last successful anonymous check.

Can I refinance or extend my loan?, from the Fabrica help center (https://help.fabrica.land/en/articles/16280910-can-i-refinance-or-extend-my-loan)

help:16280910-can-i-refinance-or-extend-my-loan URI
fabrica://help/16280910-can-i-refinance-or-extend-my-loan

MIME type: text/markdown

help:16280911-repaying-your-loan — Repaying your loan

Advertised by the server during the last successful anonymous check.

Repaying your loan, from the Fabrica help center (https://help.fabrica.land/en/articles/16280911-repaying-your-loan)

help:16280911-repaying-your-loan URI
fabrica://help/16280911-repaying-your-loan

MIME type: text/markdown

help:16280912-why-is-my-loan-amount-low-or-zero — Why is my loan amount low or zero?

Advertised by the server during the last successful anonymous check.

Why is my loan amount low or zero?, from the Fabrica help center (https://help.fabrica.land/en/articles/16280912-why-is-my-loan-amount-low-or-zero)

help:16280912-why-is-my-loan-amount-low-or-zero URI
fabrica://help/16280912-why-is-my-loan-amount-low-or-zero

MIME type: text/markdown

help:16280913-how-do-auctions-work-on-fabrica — How do auctions work on Fabrica?

Advertised by the server during the last successful anonymous check.

How do auctions work on Fabrica?, from the Fabrica help center (https://help.fabrica.land/en/articles/16280913-how-do-auctions-work-on-fabrica)

help:16280913-how-do-auctions-work-on-fabrica URI
fabrica://help/16280913-how-do-auctions-work-on-fabrica

MIME type: text/markdown

help:16280914-buying-with-a-bank-account-or-card — Buying with a bank account or card

Advertised by the server during the last successful anonymous check.

Buying with a bank account or card, from the Fabrica help center (https://help.fabrica.land/en/articles/16280914-buying-with-a-bank-account-or-card)

help:16280914-buying-with-a-bank-account-or-card URI
fabrica://help/16280914-buying-with-a-bank-account-or-card

MIME type: text/markdown

help:16280915-can-i-trade-my-land-for-someone-else-s-land — Can I trade my land for someone else's land?

Advertised by the server during the last successful anonymous check.

Can I trade my land for someone else's land?, from the Fabrica help center (https://help.fabrica.land/en/articles/16280915-can-i-trade-my-land-for-someone-else-s-land)

help:16280915-can-i-trade-my-land-for-someone-else-s-land URI
fabrica://help/16280915-can-i-trade-my-land-for-someone-else-s-land

MIME type: text/markdown

help:16280916-can-i-buy-in-installments-or-with-financing — Can I buy in installments or with financing?

Advertised by the server during the last successful anonymous check.

Can I buy in installments or with financing?, from the Fabrica help center (https://help.fabrica.land/en/articles/16280916-can-i-buy-in-installments-or-with-financing)

help:16280916-can-i-buy-in-installments-or-with-financing URI
fabrica://help/16280916-can-i-buy-in-installments-or-with-financing

MIME type: text/markdown

help:16280917-how-do-i-research-the-land-before-i-buy — How do I research the land before I buy?

Advertised by the server during the last successful anonymous check.

How do I research the land before I buy?, from the Fabrica help center (https://help.fabrica.land/en/articles/16280917-how-do-i-research-the-land-before-i-buy)

help:16280917-how-do-i-research-the-land-before-i-buy URI
fabrica://help/16280917-how-do-i-research-the-land-before-i-buy

MIME type: text/markdown

help:16280918-when-i-buy-on-fabrica-what-do-i-actually-own — When I buy on Fabrica, what do I actually own?

Advertised by the server during the last successful anonymous check.

When I buy on Fabrica, what do I actually own?, from the Fabrica help center (https://help.fabrica.land/en/articles/16280918-when-i-buy-on-fabrica-what-do-i-actually-own)

help:16280918-when-i-buy-on-fabrica-what-do-i-actually-own URI
fabrica://help/16280918-when-i-buy-on-fabrica-what-do-i-actually-own

MIME type: text/markdown

help:16280919-what-happens-after-i-buy — What happens after I buy?

Advertised by the server during the last successful anonymous check.

What happens after I buy?, from the Fabrica help center (https://help.fabrica.land/en/articles/16280919-what-happens-after-i-buy)

help:16280919-what-happens-after-i-buy URI
fabrica://help/16280919-what-happens-after-i-buy

MIME type: text/markdown

help:16280920-for-title-professionals-insuring-and-closing-a-property-held-in-a-fabrica-trust — For title professionals: insuring and closing a property held in a Fabrica trust

Advertised by the server during the last successful anonymous check.

For title professionals: insuring and closing a property held in a Fabrica trust, from the Fabrica help center (https://help.fabrica.land/en/articles/16280920-for-title-professionals-insuring-and-closing-a-property-held-in-a-fabrica-trust)

help:16280920-for-title-professionals-insuring-and-closing-a-property-held-in-a-fabrica-trust URI
fabrica://help/16280920-for-title-professionals-insuring-and-closing-a-property-held-in-a-fabrica-trust

MIME type: text/markdown

help:16280921-property-taxes-reassessment-and-ownership-changes — Property taxes, reassessment, and ownership changes

Advertised by the server during the last successful anonymous check.

Property taxes, reassessment, and ownership changes, from the Fabrica help center (https://help.fabrica.land/en/articles/16280921-property-taxes-reassessment-and-ownership-changes)

help:16280921-property-taxes-reassessment-and-ownership-changes URI
fabrica://help/16280921-property-taxes-reassessment-and-ownership-changes

MIME type: text/markdown

help:16280922-recording-fabrica-deeds — Recording Fabrica deeds

Advertised by the server during the last successful anonymous check.

Recording Fabrica deeds, from the Fabrica help center (https://help.fabrica.land/en/articles/16280922-recording-fabrica-deeds)

help:16280922-recording-fabrica-deeds URI
fabrica://help/16280922-recording-fabrica-deeds

MIME type: text/markdown

help:16280923-tax-bills-notices-and-reaching-the-owner — Tax bills, notices, and reaching the owner

Advertised by the server during the last successful anonymous check.

Tax bills, notices, and reaching the owner, from the Fabrica help center (https://help.fabrica.land/en/articles/16280923-tax-bills-notices-and-reaching-the-owner)

help:16280923-tax-bills-notices-and-reaching-the-owner URI
fabrica://help/16280923-tax-bills-notices-and-reaching-the-owner

MIME type: text/markdown

help:16280924-verifying-ownership-and-trustee-authority — Verifying ownership and trustee authority

Advertised by the server during the last successful anonymous check.

Verifying ownership and trustee authority, from the Fabrica help center (https://help.fabrica.land/en/articles/16280924-verifying-ownership-and-trustee-authority)

help:16280924-verifying-ownership-and-trustee-authority URI
fabrica://help/16280924-verifying-ownership-and-trustee-authority

MIME type: text/markdown

help:16280925-moving-money-in-and-out-of-your-fabrica-account — Moving money in and out of your Fabrica account

Advertised by the server during the last successful anonymous check.

Moving money in and out of your Fabrica account, from the Fabrica help center (https://help.fabrica.land/en/articles/16280925-moving-money-in-and-out-of-your-fabrica-account)

help:16280925-moving-money-in-and-out-of-your-fabrica-account URI
fabrica://help/16280925-moving-money-in-and-out-of-your-fabrica-account

MIME type: text/markdown

help:16280926-do-i-need-crypto-to-use-fabrica — Do I need crypto to use Fabrica?

Advertised by the server during the last successful anonymous check.

Do I need crypto to use Fabrica?, from the Fabrica help center (https://help.fabrica.land/en/articles/16280926-do-i-need-crypto-to-use-fabrica)

help:16280926-do-i-need-crypto-to-use-fabrica URI
fabrica://help/16280926-do-i-need-crypto-to-use-fabrica

MIME type: text/markdown

help:16280927-glossary-the-terms-you-ll-see-on-fabrica — Glossary: the terms you'll see on Fabrica

Advertised by the server during the last successful anonymous check.

Glossary: the terms you'll see on Fabrica, from the Fabrica help center (https://help.fabrica.land/en/articles/16280927-glossary-the-terms-you-ll-see-on-fabrica)

help:16280927-glossary-the-terms-you-ll-see-on-fabrica URI
fabrica://help/16280927-glossary-the-terms-you-ll-see-on-fabrica

MIME type: text/markdown

help:16280929-where-is-fabrica-available — Where is Fabrica available?

Advertised by the server during the last successful anonymous check.

Where is Fabrica available?, from the Fabrica help center (https://help.fabrica.land/en/articles/16280929-where-is-fabrica-available)

help:16280929-where-is-fabrica-available URI
fabrica://help/16280929-where-is-fabrica-available

MIME type: text/markdown

help:16280930-why-does-fabrica-ask-for-my-personal-information — Why does Fabrica ask for my personal information?

Advertised by the server during the last successful anonymous check.

Why does Fabrica ask for my personal information?, from the Fabrica help center (https://help.fabrica.land/en/articles/16280930-why-does-fabrica-ask-for-my-personal-information)

help:16280930-why-does-fabrica-ask-for-my-personal-information URI
fabrica://help/16280930-why-does-fabrica-ask-for-my-personal-information

MIME type: text/markdown

help:16280931-how-do-i-edit-my-property-s-photos-and-description — How do I edit my property's photos and description?

Advertised by the server during the last successful anonymous check.

How do I edit my property's photos and description?, from the Fabrica help center (https://help.fabrica.land/en/articles/16280931-how-do-i-edit-my-property-s-photos-and-description)

help:16280931-how-do-i-edit-my-property-s-photos-and-description URI
fabrica://help/16280931-how-do-i-edit-my-property-s-photos-and-description

MIME type: text/markdown

help:16280932-what-to-tell-your-attorney-title-company-or-lender-about-your-fabrica-trust — What to tell your attorney, title company, or lender about your Fabrica trust

Advertised by the server during the last successful anonymous check.

What to tell your attorney, title company, or lender about your Fabrica trust, from the Fabrica help center (https://help.fabrica.land/en/articles/16280932-what-to-tell-your-attorney-title-company-or-lender-about-your-fabrica-trust)

help:16280932-what-to-tell-your-attorney-title-company-or-lender-about-your-fabrica-trust URI
fabrica://help/16280932-what-to-tell-your-attorney-title-company-or-lender-about-your-fabrica-trust

MIME type: text/markdown

help:16280934-what-happens-to-mail-sent-to-my-property-or-trust — What happens to mail sent to my property or trust?

Advertised by the server during the last successful anonymous check.

What happens to mail sent to my property or trust?, from the Fabrica help center (https://help.fabrica.land/en/articles/16280934-what-happens-to-mail-sent-to-my-property-or-trust)

help:16280934-what-happens-to-mail-sent-to-my-property-or-trust URI
fabrica://help/16280934-what-happens-to-mail-sent-to-my-property-or-trust

MIME type: text/markdown

help:16280935-what-are-property-checks — What are property checks?

Advertised by the server during the last successful anonymous check.

What are property checks?, from the Fabrica help center (https://help.fabrica.land/en/articles/16280935-what-are-property-checks)

help:16280935-what-are-property-checks URI
fabrica://help/16280935-what-are-property-checks

MIME type: text/markdown

help:16280936-how-do-i-transfer-a-property-between-my-own-wallets — How do I transfer a property between my own wallets?

Advertised by the server during the last successful anonymous check.

How do I transfer a property between my own wallets?, from the Fabrica help center (https://help.fabrica.land/en/articles/16280936-how-do-i-transfer-a-property-between-my-own-wallets)

help:16280936-how-do-i-transfer-a-property-between-my-own-wallets URI
fabrica://help/16280936-how-do-i-transfer-a-property-between-my-own-wallets

MIME type: text/markdown

help:16280937-what-is-a-trust-agreement-upgrade — What is a trust agreement upgrade?

Advertised by the server during the last successful anonymous check.

What is a trust agreement upgrade?, from the Fabrica help center (https://help.fabrica.land/en/articles/16280937-what-is-a-trust-agreement-upgrade)

help:16280937-what-is-a-trust-agreement-upgrade URI
fabrica://help/16280937-what-is-a-trust-agreement-upgrade

MIME type: text/markdown

help:16280938-where-are-my-property-documents — Where are my property documents?

Advertised by the server during the last successful anonymous check.

Where are my property documents?, from the Fabrica help center (https://help.fabrica.land/en/articles/16280938-where-are-my-property-documents)

help:16280938-where-are-my-property-documents URI
fabrica://help/16280938-where-are-my-property-documents

MIME type: text/markdown

help:16280939-when-would-i-remove-my-property-from-fabrica — When would I remove my property from Fabrica?

Advertised by the server during the last successful anonymous check.

When would I remove my property from Fabrica?, from the Fabrica help center (https://help.fabrica.land/en/articles/16280939-when-would-i-remove-my-property-from-fabrica)

help:16280939-when-would-i-remove-my-property-from-fabrica URI
fabrica://help/16280939-when-would-i-remove-my-property-from-fabrica

MIME type: text/markdown

help:16280940-disputes-and-refunds-how-do-they-work — Disputes and refunds: how do they work?

Advertised by the server during the last successful anonymous check.

Disputes and refunds: how do they work?, from the Fabrica help center (https://help.fabrica.land/en/articles/16280940-disputes-and-refunds-how-do-they-work)

help:16280940-disputes-and-refunds-how-do-they-work URI
fabrica://help/16280940-disputes-and-refunds-how-do-they-work

MIME type: text/markdown

help:16280941-what-happens-to-my-property-when-i-die — What happens to my property when I die?

Advertised by the server during the last successful anonymous check.

What happens to my property when I die?, from the Fabrica help center (https://help.fabrica.land/en/articles/16280941-what-happens-to-my-property-when-i-die)

help:16280941-what-happens-to-my-property-when-i-die URI
fabrica://help/16280941-what-happens-to-my-property-when-i-die

MIME type: text/markdown

help:16280942-i-lost-access-to-my-account-is-my-property-gone — I lost access to my account. Is my property gone?

Advertised by the server during the last successful anonymous check.

I lost access to my account. Is my property gone?, from the Fabrica help center (https://help.fabrica.land/en/articles/16280942-i-lost-access-to-my-account-is-my-property-gone)

help:16280942-i-lost-access-to-my-account-is-my-property-gone URI
fabrica://help/16280942-i-lost-access-to-my-account-is-my-property-gone

MIME type: text/markdown

help:16280943-selling-a-property-that-has-a-loan-on-it — Selling a property that has a loan on it

Advertised by the server during the last successful anonymous check.

Selling a property that has a loan on it, from the Fabrica help center (https://help.fabrica.land/en/articles/16280943-selling-a-property-that-has-a-loan-on-it)

help:16280943-selling-a-property-that-has-a-loan-on-it URI
fabrica://help/16280943-selling-a-property-that-has-a-loan-on-it

MIME type: text/markdown

help:16280946-where-does-my-listing-appear — Where does my listing appear?

Advertised by the server during the last successful anonymous check.

Where does my listing appear?, from the Fabrica help center (https://help.fabrica.land/en/articles/16280946-where-does-my-listing-appear)

help:16280946-where-does-my-listing-appear URI
fabrica://help/16280946-where-does-my-listing-appear

MIME type: text/markdown

help:16280947-i-can-t-find-my-parcel-what-now — I can't find my parcel. What now?

Advertised by the server during the last successful anonymous check.

I can't find my parcel. What now?, from the Fabrica help center (https://help.fabrica.land/en/articles/16280947-i-can-t-find-my-parcel-what-now)

help:16280947-i-can-t-find-my-parcel-what-now URI
fabrica://help/16280947-i-can-t-find-my-parcel-what-now

MIME type: text/markdown

help:16280948-i-hit-an-error-while-adding-my-property-what-now — I hit an error while adding my property. What now?

Advertised by the server during the last successful anonymous check.

I hit an error while adding my property. What now?, from the Fabrica help center (https://help.fabrica.land/en/articles/16280948-i-hit-an-error-while-adding-my-property-what-now)

help:16280948-i-hit-an-error-while-adding-my-property-what-now URI
fabrica://help/16280948-i-hit-an-error-while-adding-my-property-what-now

MIME type: text/markdown

help:16280949-how-do-i-contact-support — How do I contact support?

Advertised by the server during the last successful anonymous check.

How do I contact support?, from the Fabrica help center (https://help.fabrica.land/en/articles/16280949-how-do-i-contact-support)

help:16280949-how-do-i-contact-support URI
fabrica://help/16280949-how-do-i-contact-support

MIME type: text/markdown

help:16280950-why-isn-t-my-listing-showing-up-on-the-marketplace — Why isn't my listing showing up on the marketplace?

Advertised by the server during the last successful anonymous check.

Why isn't my listing showing up on the marketplace?, from the Fabrica help center (https://help.fabrica.land/en/articles/16280950-why-isn-t-my-listing-showing-up-on-the-marketplace)

help:16280950-why-isn-t-my-listing-showing-up-on-the-marketplace URI
fabrica://help/16280950-why-isn-t-my-listing-showing-up-on-the-marketplace

MIME type: text/markdown

help:16280951-my-offer-or-purchase-is-still-pending-is-something-wrong — My offer or purchase is still pending. Is something wrong?

Advertised by the server during the last successful anonymous check.

My offer or purchase is still pending. Is something wrong?, from the Fabrica help center (https://help.fabrica.land/en/articles/16280951-my-offer-or-purchase-is-still-pending-is-something-wrong)

help:16280951-my-offer-or-purchase-is-still-pending-is-something-wrong URI
fabrica://help/16280951-my-offer-or-purchase-is-still-pending-is-something-wrong

MIME type: text/markdown

help:16280952-my-payment-was-declined-or-seems-stuck — My payment was declined or seems stuck

Advertised by the server during the last successful anonymous check.

My payment was declined or seems stuck, from the Fabrica help center (https://help.fabrica.land/en/articles/16280952-my-payment-was-declined-or-seems-stuck)

help:16280952-my-payment-was-declined-or-seems-stuck URI
fabrica://help/16280952-my-payment-was-declined-or-seems-stuck

MIME type: text/markdown

help:16280954-a-transaction-failed-or-seems-stuck-what-do-i-do — A transaction failed or seems stuck. What do I do?

Advertised by the server during the last successful anonymous check.

A transaction failed or seems stuck. What do I do?, from the Fabrica help center (https://help.fabrica.land/en/articles/16280954-a-transaction-failed-or-seems-stuck-what-do-i-do)

help:16280954-a-transaction-failed-or-seems-stuck-what-do-i-do URI
fabrica://help/16280954-a-transaction-failed-or-seems-stuck-what-do-i-do

MIME type: text/markdown

help:16280955-i-got-a-wrong-network-error-what-do-i-do — I got a "Wrong network" error. What do I do?

Advertised by the server during the last successful anonymous check.

I got a "Wrong network" error. What do I do?, from the Fabrica help center (https://help.fabrica.land/en/articles/16280955-i-got-a-wrong-network-error-what-do-i-do)

help:16280955-i-got-a-wrong-network-error-what-do-i-do URI
fabrica://help/16280955-i-got-a-wrong-network-error-what-do-i-do

MIME type: text/markdown

help:16281927-getting-a-notarized-proof-of-ownership — Getting a notarized proof of ownership

Advertised by the server during the last successful anonymous check.

Getting a notarized proof of ownership, from the Fabrica help center (https://help.fabrica.land/en/articles/16281927-getting-a-notarized-proof-of-ownership)

help:16281927-getting-a-notarized-proof-of-ownership URI
fabrica://help/16281927-getting-a-notarized-proof-of-ownership

MIME type: text/markdown

help:16283139-do-you-allow-fractional-ownership — Do you allow fractional ownership?

Advertised by the server during the last successful anonymous check.

Do you allow fractional ownership?, from the Fabrica help center (https://help.fabrica.land/en/articles/16283139-do-you-allow-fractional-ownership)

help:16283139-do-you-allow-fractional-ownership URI
fabrica://help/16283139-do-you-allow-fractional-ownership

MIME type: text/markdown

help:16283141-do-fabrica-properties-qualify-for-1031-exchanges — Do Fabrica properties qualify for 1031 exchanges?

Advertised by the server during the last successful anonymous check.

Do Fabrica properties qualify for 1031 exchanges?, from the Fabrica help center (https://help.fabrica.land/en/articles/16283141-do-fabrica-properties-qualify-for-1031-exchanges)

help:16283141-do-fabrica-properties-qualify-for-1031-exchanges URI
fabrica://help/16283141-do-fabrica-properties-qualify-for-1031-exchanges

MIME type: text/markdown

help:17212021-can-i-use-fabrica-from-my-ai-assistant — Can I use Fabrica from my AI assistant?

Advertised by the server during the last successful anonymous check.

Can I use Fabrica from my AI assistant?, from the Fabrica help center (https://help.fabrica.land/en/articles/17212021-can-i-use-fabrica-from-my-ai-assistant)

help:17212021-can-i-use-fabrica-from-my-ai-assistant URI
fabrica://help/17212021-can-i-use-fabrica-from-my-ai-assistant

MIME type: text/markdown

docs-by-slug — Fabrica docs page

Advertised by the server during the last successful anonymous check.

A docs.fabrica.land page by slug, e.g. fabrica://docs/fees

docs-by-slug URI template
fabrica://docs/{slug}

MIME type: text/markdown

help-by-id — Fabrica help center article

Advertised by the server during the last successful anonymous check.

A help.fabrica.land article by id, e.g. fabrica://help/3305355-what-does-fabrica-cost

help-by-id URI template
fabrica://help/{id}

MIME type: text/markdown

property-trust-agreement — Trust agreement for one property

Advertised by the server during the last successful anonymous check.

The operating agreement (trust instrument) attached to a specific token, as the Fabrica API serves it (Ethereum Mainnet). Versions differ by the date the token was issued, so read this one rather than the generic agreement when a question is about a particular property.

property-trust-agreement URI template
fabrica://property/{tokenId}/trust-agreement

MIME type: text/markdown

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (5 of 5 answered).

  1. 2026-11-07: 1 of 1 checks answered
  2. 2026-11-09: 2 of 2 checks answered
  3. 2026-11-10: 2 of 2 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
2181 ms
95th percentile latency
2181 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 2181 ms · metadata changed · 45 tool(s), 136 resource(s), 3 resource template(s), 4 prompt(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http fabrica-mcp https://mcp.fabrica.land/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add fabrica-mcp --url https://mcp.fabrica.land/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable fabrica-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "fabrica-mcp": {
      "url": "https://mcp.fabrica.land/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "fabrica-mcp": {
      "type": "streamableHttp",
      "url": "https://mcp.fabrica.land/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start fabrica-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "fabrica-mcp": {
      "type": "http",
      "url": "https://mcp.fabrica.land/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http fabrica-mcp https://mcp.fabrica.land/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://mcp.fabrica.land/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "fabrica-mcp": {
      "serverUrl": "https://mcp.fabrica.land/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Fabrica MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Fabrica MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing