Back to Browse

Fabrica MCP Server

Developer ToolsLow Risk9.5MCP RegistryRemote
Free

Server data from the Official MCP Registry

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

About

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

Remote endpoints: streamable-http: https://mcp.fabrica.land/mcp

Security Report

9.5
Low Risk9.5Low Risk

Valid MCP server (2 strong, 2 medium validity signals). 1 known CVE in dependencies Imported from the Official MCP Registry.

11 tools verified · Open access · 1 issue found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

env_vars

Check that this permission is expected for this type of plugin.

HTTP Network Access

Connects to external APIs or services over the internet.

How to Connect

Remote Plugin

No local installation needed. Your AI client connects to the remote endpoint directly.

Add this to your MCP configuration to connect:

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

Documentation

View on GitHub

From the project's GitHub README.

Fabrica MCP Server

Give AI agents access to tokenized real property data. Search properties, analyze lending markets, and explore portfolios across tokenized parcels of US land on the Fabrica protocol.

What is this?

Fabrica tokenizes real property (land) as ERC-1155 NFTs on Ethereum. This MCP server lets any AI agent query the full property catalog, lending market, and portfolio data — no API keys required.

Built on the Model Context Protocol (MCP).

Quick Start

Hosted (recommended): nothing to install

Point any MCP client at the hosted server:

NetworkURL
Ethereum Mainnet (real parcels)https://mcp.fabrica.land/mcp
Sepolia Testnet (test properties)https://mcp-testnet.fabrica.land/mcp

Claude (claude.ai and desktop): Settings → Connectors → Add custom connector → paste the URL.

Claude Code:

claude mcp add --transport http fabrica https://mcp.fabrica.land/mcp
claude mcp add --transport http fabrica-testnet https://mcp-testnet.fabrica.land/mcp

Cursor (.cursor/mcp.json):

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

Any other client that supports remote MCP servers (Streamable HTTP) works the same way. Add both URLs as two separate servers if you want to try things on testnet before mainnet: the network is fixed per URL, so an agent can never reach mainnet through the testnet server.

Run locally (stdio)

Clone and build:

git clone https://github.com/fabrica-land/fabrica-mcp.git
cd fabrica-mcp
npm install
npm run build

Then configure your MCP client to use the built server:

Claude Code:

claude mcp add fabrica -- node /absolute/path/to/fabrica-mcp/dist/index.js

Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "fabrica": {
      "command": "node",
      "args": ["/absolute/path/to/fabrica-mcp/dist/index.js"]
    }
  }
}

Replace /absolute/path/to/fabrica-mcp with the actual path where you cloned the repo.

Available Tools

ToolDescription
search_propertiesSearch tokenized properties by location, size, score, listing status
get_propertyFull property details: legal, valuation, ownership, loans, media
get_lending_marketLending overview: loan counts, loans, Fabrica lending pool stats, average APR, events
get_portfolioWallet holdings, credit history, loan positions
get_protocol_statsProtocol-wide metrics: properties, estimated value, loan volume and counts, lending pool TVL
get_property_mapGeoJSON boundary data for mapping and spatial analysis
get_borrow_quoteBorrowing options for a property: Fabrica lending pool liquidity, durations, current loans
get_activityActivity feed for a property or wallet: transfers, loans, sales, mints
explain_confidence_scoreDecode the 5-digit confidence score into verification categories
get_property_imageStatic map image of a property's parcel boundary (inline, dark/light themes)
get_portfolio_imageMap image showing all properties owned by a wallet (inline, dark/light themes)

Example Conversations

"Find me all tokenized properties in Texas"

"What's the current average APR on Fabrica's lending market? How much liquidity does the lending pool have?"

"Do a full due diligence report on property token 12743610130101631987"

"Show me the portfolio for wallet 0x23bc...fce4 — what properties do they own?"

"Give me protocol-wide stats for Fabrica: how many properties, in which states, and total loan volume?"

"How much can I borrow against property token 12743610130101631987?"

"Show me all recent activity for wallet 0x23bc...fce4"

"Explain the confidence score 73242 — what does each digit mean?"

"Show me a map of property token 12743610130101631987"

"Show me a map of all properties in this wallet's portfolio"

Property card (MCP App)

In clients that support MCP Apps (such as Claude on the web and desktop), get_property renders a property card inline in the conversation:

  • a gallery with the parcel map first, followed by the owner's photos when there are any
  • name, location and acreage
  • confidence score, estimated value, listing price, and borrowing capacity
  • Buy (when listed), Make an offer, Contact owner and View on Fabrica buttons

Every button opens the property on Fabrica, where the user completes the action and signs; the server itself never prepares or submits a transaction. Clients without MCP Apps support receive the same data as JSON.

The card is on by default on Sepolia and off on mainnet unless FABRICA_MCP_APPS=enabled. Photos are limited to the origins the card's sandbox allows (see WIDGET_IMAGE_ORIGINS in src/tools/media.ts).

Network Selection

The hosted servers are split by URL (see Quick Start). A local server connects to Ethereum Mainnet by default, where properties represent real parcels of US land with real legal consequences. To experiment with test properties first, set FABRICA_NETWORK=sepolia:

Claude Code (Sepolia):

claude mcp add fabrica -e FABRICA_NETWORK=sepolia -- node /absolute/path/to/fabrica-mcp/dist/index.js

Claude Desktop (Sepolia):

{
  "mcpServers": {
    "fabrica": {
      "command": "node",
      "args": ["/absolute/path/to/fabrica-mcp/dist/index.js"],
      "env": { "FABRICA_NETWORK": "sepolia" }
    }
  }
}

Mainnet notice: On mainnet, the server instructions carry a legal notice stated as facts: the properties are real US land, each held in a trust; owning a 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; and acquiring, transferring, listing or borrowing against a token has legal, tax and liability consequences set out in the trust agreement attached to it.

Sepolia: Test properties only, no real-world implications.

Configuration

All optional — sensible defaults are built in:

VariableDefaultDescription
FABRICA_NETWORKethereumNetwork to operate on (ethereum or sepolia)
FABRICA_API_URLhttps://api.fabrica.land/graphqlFabrica GraphQL API
FABRICA_METASTREET_SUBGRAPH_URLAuto-selected per networkSubgraph for the lending pool contracts (the variable keeps its original name)
FABRICA_MEDIA_URLhttps://media.fabrica.landFabrica media service for map images
FABRICA_MCP_APPSon for Sepolia, off for mainnetenabled or disabled: the property card MCP App on get_property

Hosting

The hosted servers run on Vercel from this repository: one Vercel project per network, both built with npm run build:vercel (see vercel.json), which emits a single stateless Streamable HTTP function at /mcp and a landing page at /. Set FABRICA_NETWORK in each project's environment (ethereum or sepolia). The same handler (src/http.ts) can run behind any Node HTTP server.

Links

License

MIT

Reviews

No reviews yet

Be the first to review this server!