Fabrica

Tokenized US land on Ethereum: property search, valuations, loans, portfolios, parcel maps.

Should I use this

Quality & Safety

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

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,178Tokens (tool definitions)
~1.2 KBTypical response size
Moderate attention impact (1.70% of 128k context)

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

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "mcp": {
      "url": "https://mcp.fabrica.land/mcp"
    }
  }
}

Remote endpoints

https://mcp.fabrica.land/mcpstreamable-http

What it can do

Tool inventory

Tools (11)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢search_properties(region, minAcres, maxAcres, minScore, hasListings, ...)

Search tokenized real properties on the Fabrica protocol (Ethereum Mainnet). Returns a list of properties matching the given filters. Each result is a real parcel of land in the US, held in a trust whose beneficial interest is an ERC-1155 token.

Input Schema

{
  "type": "object",
  "properties": {
    "region": {
      "description": "US state code (e.g. 'TX', 'CA', 'NV')",
      "type": "string"
    },
    "minAcres": {
      "description": "Minimum parcel size in acres",
      "type": "number",
      "minimum": 0
    },
    "maxAcres": {
      "description": "Maximum parcel size in acres",
      "type": "number",
      "minimum": 0
    },
    "minScore": {
      "description": "Minimum confidence score (integer, e.g. 70000). Higher = more verified. Typical range: 0-100000.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "hasListings": {
      "description": "Only show properties with active sale listings",
      "type": "boolean"
    },
    "hasLoans": {
      "description": "Only show properties with active loans",
      "type": "boolean"
    },
    "ownedBy": {
      "description": "Filter by owner wallet address",
      "type": "string"
    },
    "limit": {
      "description": "Max results (default 20, max 100)",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "description": "Pagination offset",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_property(tokenId, slug)

Get comprehensive details about a specific tokenized property on Fabrica (Ethereum Mainnet), including legal description, valuation, confidence score breakdown, current ownership and holders, active loans, marketplace listings and offers, recent activity, photos and a parcel map image link. Boundary geometry is returned by get_property_map. The response includes the URL of the operating agreement (the trust instrument) that governs the token.

Input Schema

{
  "type": "object",
  "properties": {
    "tokenId": {
      "description": "The token ID of the property",
      "type": "string"
    },
    "slug": {
      "description": "Property slug from the URL (e.g. 'us/nevada/elko-county/elko/apn-063025003')",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_lending_market(status, borrower, lender, since, limit)

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

Input Schema

{
  "type": "object",
  "properties": {
    "status": {
      "description": "Filter loans by status (default: 'all')",
      "type": "string",
      "enum": [
        "active",
        "repaid",
        "liquidated",
        "all"
      ]
    },
    "borrower": {
      "description": "Filter by borrower wallet address",
      "type": "string"
    },
    "lender": {
      "description": "Filter by lender wallet address",
      "type": "string"
    },
    "since": {
      "description": "ISO date. Only return loans started after this date.",
      "type": "string"
    },
    "limit": {
      "description": "Max loan results (default 20, max 100)",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_portfolio(address)

Get a wallet's complete Fabrica portfolio: properties owned, active loans (as borrower or lender), marketplace orders, credit history, and total portfolio value.

Input Schema

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "Ethereum wallet address (0x...)"
    }
  },
  "required": [
    "address"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_protocol_stats

Get protocol-wide statistics for the Fabrica real property tokenization platform: total properties, estimated value, lending volume and loan counts, Fabrica lending pool TVL and utilization, geographic distribution, and contract addresses.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_property_map(tokenId, slug, includeCountyBounds)

Get GeoJSON boundary data for a tokenized property and its county, for mapping, spatial analysis, and visualization.

Input Schema

{
  "type": "object",
  "properties": {
    "tokenId": {
      "description": "The token ID of the property",
      "type": "string"
    },
    "slug": {
      "description": "Property slug from the URL",
      "type": "string"
    },
    "includeCountyBounds": {
      "description": "Also return the county boundary polygon (default: true)",
      "type": "boolean"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢explain_confidence_score(tokenId, score)

Explain a Fabrica property's confidence score breakdown. The score is a 5-digit positional number where each digit represents a different verification category: recovery status (ten-thousands), past title (thousands), ownership (hundreds), onchain history (tens), basic validation (ones). Max score: 75342.

Input Schema

{
  "type": "object",
  "properties": {
    "tokenId": {
      "description": "Look up and explain the score for this property",
      "type": "string"
    },
    "score": {
      "description": "Raw confidence score integer to explain (e.g. 73242)",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_borrow_quote(tokenId, slug)

Get borrowing options for a specific tokenized property: Fabrica lending pool liquidity (max loan amount, durations) and existing loan status. 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.

Input Schema

{
  "type": "object",
  "properties": {
    "tokenId": {
      "description": "The token ID of the property",
      "type": "string"
    },
    "slug": {
      "description": "Property slug from the URL",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_activity(tokenId, slug, address, type, limit)

Get the activity feed for a property or wallet: mints, transfers, sales, loans started/repaid/liquidated, configuration changes, and more. Covers transaction history and event timelines.

Input Schema

{
  "type": "object",
  "properties": {
    "tokenId": {
      "description": "Property token ID (for property activity)",
      "type": "string"
    },
    "slug": {
      "description": "Property slug (for property activity)",
      "type": "string"
    },
    "address": {
      "description": "Wallet address (for wallet activity)",
      "type": "string"
    },
    "type": {
      "description": "Filter by activity type (e.g. 'loan', 'transfer', 'sale', 'mint')",
      "type": "string"
    },
    "limit": {
      "description": "Max results (default 20, max 100)",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_property_image(tokenId, slug, theme, width, height)

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

Input Schema

{
  "type": "object",
  "properties": {
    "tokenId": {
      "description": "The token ID of the property",
      "type": "string"
    },
    "slug": {
      "description": "Property slug from the URL",
      "type": "string"
    },
    "theme": {
      "description": "Map theme (default: 'dark')",
      "type": "string",
      "enum": [
        "dark",
        "light"
      ]
    },
    "width": {
      "description": "Image width in pixels (100-1280, default 640)",
      "type": "integer",
      "minimum": 100,
      "maximum": 1280
    },
    "height": {
      "description": "Image height in pixels (100-1280, default 640)",
      "type": "integer",
      "minimum": 100,
      "maximum": 1280
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_portfolio_image(address, theme, width, height)

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

Input Schema

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "Ethereum wallet address (0x...)"
    },
    "theme": {
      "description": "Map theme (default: 'dark')",
      "type": "string",
      "enum": [
        "dark",
        "light"
      ]
    },
    "width": {
      "description": "Image width in pixels (100-1280, default 640)",
      "type": "integer",
      "minimum": 100,
      "maximum": 1280
    },
    "height": {
      "description": "Image height in pixels (100-1280, default 640)",
      "type": "integer",
      "minimum": 100,
      "maximum": 1280
    }
  },
  "required": [
    "address"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded11 tools