Fabrica

land.fabrica由 fabrica.land 发布官方发布者v0.2.0更新于 Nov 13, 2026

US land for sale and any US parcel by address or APN: maps, Property checks, taxes, trust documents.

已验证Streamable HTTP可网页运行位置与生活金融知识与记忆

概览

AI 生成的概览

Fabrica 的远程 MCP 服务器,面向代币化的美国土地:搜索地块,查看产权、税务、信托与估值记录,并了解借贷市场与持仓。

可以做什么
  • 搜索与查找土地:按位置、面积、价格或距离筛选房产,用地址或地块编号(APN)定位任意美国地块,并查询各县是否支持上线
  • 深入查看单个房产:法律与信托文件、税务状态、解读后的 Property checks、估值、边界 GeoJSON、动态记录、挂牌与报价
  • 分析借贷:市场概览、贷款账簿分布、单笔贷款、可借额度估算以及全网统计
  • 查看钱包:持仓、贷款、信用记录,以及单个地块或整个投资组合的静态地图图片
  • 依据 Fabrica 文档、帮助中心与信托协议回答平台运作问题并给出引用出处,还可起草支持请求
适用场景
适合调研美国土地或某个具体地块、对代币化房产做尽职调查、估算以其为抵押的贷款额度,或查看某钱包的土地持仓与借贷敞口。也适合需要引用出处地解释 Fabrica 信托、费用与借贷规则时使用。
运行要求
无需安装:远程 Streamable HTTP 端点,主网与 Sepolia 测试网各有独立地址。公开数据无需登录;读取自己的账户数据需登录 Fabrica 并授权只读访问。从源码运行需 Node 20 或更高版本。
安装前请注意
主网房产是真实美国土地并由信托持有,因此获取、转让、挂牌或以代币借贷会带来法律、税务与责任后果。签名请求与所有者操作类工具只准备操作,须由本人在自己的钱包中签名;服务器不持有私钥。向借贷池存款有风险,利率浮动。添加房产需要写入授权,使用挂牌链接还需导入密钥。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Fabrica,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/land.fabrica%2Fmcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

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

README

Fabrica MCP Server

[Add to Claude]

Give AI agents access to US land on Fabrica. Search properties, research a parcel, check what it could borrow, and explore portfolios across the US land held on the Fabrica protocol.

What is this?

On Fabrica, a property is held in a trust; once its ERC-1155 token on Ethereum is issued, the token controls the trust, which holds title. This MCP server lets any AI agent query the full property catalog, lending market, and portfolio data, with no API keys required. A person can also connect their own Fabrica account (Connect Fabrica) so the agent reads their properties, offers and loans: the same server URL asks them to sign in and approve read-only access on fabrica.land the first time the agent needs it.

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

No sign-in is needed for public data. Ask about your own properties, offers or loans and the client asks you to sign in to Fabrica and approve read-only access, then answers; disconnect any time in Connected apps on fabrica.land.

Claude (claude.ai, desktop and mobile): Fabrica is listed in the Claude directory. Open claude.ai/directory/fabrica-land and select Connect. Or add it by hand: Settings → Connectors → Add custom connector → paste the URL (this is also how to add the testnet server).

Signing in to Fabrica (only for your own account data) opens fabrica.land. On iPhone and iPad, start the connection from claude.ai in Safari: the Claude iOS app's in-app browser can't complete the sign-in.

Claude Code:

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

Cursor: one click installs the mainnet server:

[Add Fabrica to Cursor]

Or add it by hand (.cursor/mcp.json):

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.

Discovery without a registry: each host serves /.well-known/mcp.json (URL, transport, auth, docs, the other network's server) and /.well-known/mcp/server-card.json (the same plus every tool with its title and annotations, the prompts and the resource templates), plus /.well-known/ai-catalog.json, the AI Catalog that domain-level discovery reads first, pointing at both servers' cards. The card is read from the running server, so it always matches what that host registers.

Run locally (stdio)

The hosted URLs above are the supported way to use the server; it is not published to npm. To run it on your own machine from source (Node 20 or later; Yarn 4 is pinned in .yarn/releases, so any yarn on your PATH runs the right version):

bash
git clone https://github.com/fabrica-land/fabrica-mcp.gitcd fabrica-mcpyarn installyarn buildclaude mcp add fabrica -- node /absolute/path/to/fabrica-mcp/dist/index.js

Set FABRICA_NETWORK=sepolia in the server's environment for the testnet.

Available Tools

ToolDescription
search_landSearch properties by state, county, size, Property checks, listing status, listing price and price per acre, or distance from a point; sort by price, price per acre, acres, estimated value, Property checks, date added or distance. Each row carries its lifecycle stage and price per acre; or counts per state or county, with links to the fabrica.land location pages
get_land_propertyFull property details: legal, valuation, ownership, loans, media, lifecycle stage, assessed fees, duplicate-parcel flags
get_fabrica_lending_marketLending overview: loan counts, loans, DeFi lending pool stats, average APR, events
get_fabrica_loan_bookThe lending history as a distribution: loan-to-value bands, exposure by state and acreage, APR and duration spread, repaid and liquidated counts, originations by month, largest loans
get_land_portfolioWallet holdings, credit history, loan positions
get_fabrica_statsProtocol-wide metrics: properties, estimated value, loan volume and counts, DeFi lending pool TVL
get_land_boundaryGeoJSON boundary data for mapping and spatial analysis
get_land_tax_statusProperty tax status from Property checks (current, past due, unknown), its basis, check dates and whether it limits borrowing
get_land_trust_documentsThe legal record: trust, trust agreement (name, version, link, text on request), legal description, parcel IDs, deed reference, uploaded documents
estimate_land_borrowingBorrowing options for a property: DeFi lending pool liquidity, durations, current loans, what limits the amount (pool liquidity, LTV, tax status, oracle), why capacity is zero when it is, and what would raise it (toRaise: each lever, what it would allow, the step that moves it)
get_loan_against_landOne loan against a property: status, provider, principal, APR, maturity, full repayment and, while active, the payoff today; by property, loanId, or both
get_land_valuationEvery value the API holds for a property with its source, date and confidence: estimate, AVM, Prycd, county assessor, signed valuations, pool oracle state
get_land_activityActivity feed for a property or wallet, or the recent activity across the whole network: transfers, loans, sales, properties added
get_land_order_bookListings and offers on a property: prices, sellers and buyers, expiry, whether a loan blocks each listing, whether the property is still being added
explain_property_checksDecode the numeric encoding of Property checks (5 digits, formerly called the confidence score) into verification groups
get_land_map_imageStatic map image of a property's parcel boundary (inline, dark/light themes)
get_land_portfolio_map_imageMap image showing all properties owned by a wallet (inline, dark/light themes)
ask_fabricaCited passages from Fabrica's docs, help center and the US trust agreement that answer a question about how Fabrica works
find_us_parcelAny US address or parcel number (APN) to a parcel: on Fabrica or not, and the link to add it; queries takes a list of up to 10 and returns a table. No owner names from parcel data; 30 lookups per minute per client, each query in a list counting as one
check_county_coverageWhether property in a US county (or state) can be added online, and what it asks the owner for. From a table of Fabrica's rules for adding property, dated and refreshed by hand (yarn coverage:build)
contact_fabrica_supportHand a question to Fabrica support: help center section, support email, and a prefilled mailto with the summary and property link. Sends nothing itself

Your account (sign-in)

These tools read the connected person's own account, across every wallet on it, on mainnet. The first call asks the person to sign in to Fabrica and approve read-only access; disconnect any time in Connected apps on fabrica.land.

ToolDescription
get_my_accountEmail, linked accounts with their dollar (USDC) balance and a Cash out link, verification status, and what this connection may read
get_my_propertiesProperties being added first, then live properties by estimated value, with stage, status, listing price and offers waiting
get_my_offersOffers received on the person's properties and offers they made
get_my_loansLoans against the person's properties, with maturity and payoff today, and loans they funded
what_needs_attentionOne ranked list of what waits on the person: loans near maturity, offers, steps of properties being added, fees to approve, dollars to cash out, property checks
get_my_properties_being_addedProperties the person is adding to Fabrica, with the next step and who acts
get_adding_statusOne property being added in full: every step, the next one, the open actions, and the county's questions with the answers so far

Adding a property

Two tools add a property as the connected person. They need the Fabrica API's add-property grants (onramp:write, premint:write, asked for at sign-in) and, for listing links, the web app's listing import key (FABRICA_LISTING_IMPORT_KEY).

ToolDescription
add_landStart adding a property from a listing link on another website, a parcel number with its state and county, or an address. Finds the parcel (a listing is read by the web app: title, price, acres, the seller's description, photos, and the parcel it names) and, signed in with the add-property grant, creates the property's record as the connected person with that description and those photos, held by their linked account. Returns where it stands and the questions the county asks for it. Not signed in, returns the fabrica.land link that adds the parcel; a listing link is read for signed-in people only, since it spends this server's import budget. A parcel number or an address counts as one lookup against the same 30-per-minute limit as find_us_parcel
answer_adding_questionsSave the owner named on the deed (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, and return what is still open
find_listings_on_websiteSigned in: list the property listing pages on a seller's own website (from its sitemap or links, through the web app's website reader), each then added with add_land. Creates nothing
find_land_by_ownerSigned in: list the parcels a county records under an owner's name (as on the tax bill, usually last name first) in one county, up to 10, each with its parcel number, recorded owner, address, acres, whether it is already on Fabrica and the link that adds it; add_land then adds the one that is theirs. Reads county records only

The questions are Fabrica's own rules for that county, state and kind of owner, read from the property's record each time (the same ones the web app's owner form shows), never a list kept here. The fee approval and the notarized signing session stay on fabrica.land; nothing is signed, paid or recorded by these tools.

Sign requests (testnet host first)

On mcp-testnet.fabrica.land (and on mainnet only with FABRICA_SIGN_REQUESTS=enabled), seven tools prepare actions: the marketplace's make_land_offer, list_land_for_sale, accept_land_offer, buy_land and cancel_land_order, and the DeFi lending pool's borrow_against_land (checks the wallet holds the token, no loan is active and the amount is within the pool's maximum) and repay_loan_against_land (checks the loan is active and the wallet is its borrower, with the payoff today). Each checks the live data (the property is live, the wallet holds it or not, the listing or offer is open, buyable and the wallet's own where it has to be), then returns a signRequest: a summary, warnings, a sign link to the property page on fabrica.land with the dialog prefilled, and an expiry 15 minutes out. The person opens the link and signs with their own wallet. The server holds no keys, signs nothing and submits nothing; payload (typed data or an unsigned transaction for a wallet in the conversation) stays null until Connect Fabrica ships. get_sign_request says whether a request was signed (it also checks the order book; a purchase or payoff paid by card, bank transfer or wire on the sign page shows as payment_clearing until it lands), and get_transaction_status follows a transaction by hash.

Where the sign-request tools are on, list_land_for_sale also takes a property its owner is still adding to Fabrica (claimed, token not issued yet): the listing goes on the marketplace at once, buyers can send offers, and it becomes buyable when the token is issued, as the web app's own list-for-sale dialog does. The other sign-request tools keep refusing a property that is still being added.

Owner actions follow the same pattern, on testnet first (on mainnet only with FABRICA_OWNER_ACTIONS=enabled as well): transfer_land moves a property the wallet holds outright to another account linked to the same Fabrica login (final once confirmed), update_trust_agreement moves it to the latest trust agreement version (the contract requires 70% of the property), update_land_description replaces its description with the prepared text, and update_land_photos opens its photo editor, where the owner picks files from their own device. Each checks that the wallet holds the share the contract requires and that the property backs no loan.

On the testnet server (and on mainnet only with FABRICA_POOL_SIGN_REQUESTS=enabled as well), deposit_to_lending_pool and withdraw_from_lending_pool prepare a deposit into, or a withdrawal from, one tick of the DeFi lending pool the same way. 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; the ticks come from the Fabrica API and the wallet's position at a tick is read from the pool contract. The sign link opens the pool page's deposit or withdraw dialog, prefilled. Interest is set by the pool, variable and not guaranteed, and deposits are at risk. A withdrawal larger than the funds the tick has not lent out waits in the pool's withdrawal queue for the rest and is claimed later on the pool page.

Pending requests live in the server's own store (Vercel KV / Upstash Redis: KV_REST_API_URL and KV_REST_API_TOKEN, plus SIGN_REQUEST_SECRET for the records' HMAC). The sign link is {web}/property/{network}/{tokenId}?action=…&request={id}. The sign page reads the request at GET /sign-requests/{id} (410 once expired) and reports the outcome at POST /sign-requests/{id}/result with { orderHash } or { transactionHash }, which the server checks against the API or the chain before recording. Without a store the tools say they are not configured; locally (stdio) an in-process map is used.

Knowledge layer

ask_fabrica answers questions about Fabrica (the trust, fees, Property checks, lending, taxes, adding and removing a property, the legal framework) from Fabrica's own text and returns the passages with their URLs, so an agent cites the page instead of paraphrasing from memory. Three sources feed it: docs.fabrica.land, the help center and the US trust agreement.

The index lives at src/knowledge/generated/index.json and is committed, so deploys and tests never fetch the sources at runtime. Retrieval is BM25 over passage text with titles weighted in and a small synonym list for Fabrica's vocabulary; there is no model call and no external service. To rebuild after the sources change:

bash
yarn knowledge:build --docs-dir ../docs  # docs from a local checkout of fabrica-land/docsGITHUB_TOKEN=... yarn knowledge:build   # or read the docs repo through the GitHub APIyarn knowledge:check                    # exit 1 when a source moved past its pin

Source pins (docs commit, help center sitemap fingerprint, trust agreement commit) are recorded in knowledge/sources.json. The build takes about 30 seconds and the index is under 1 MB.

A scheduled workflow (.github/workflows/refresh-knowledge.yml, daily and on demand) rebuilds the index, runs the tests and opens a pull request titled "Knowledge index: " whose body lists the pages added, removed and changed (scripts/knowledge-diff.mjs). Merging it deploys both servers. The workflow needs one repository secret, KNOWLEDGE_TOKEN, a fine-grained GitHub token with read access to the contents of the private fabrica-land/docs repository; a failed source fetch fails the run, so a partial index is never proposed.

Resources

The same documents are registered as MCP resources, so a person can attach one to a conversation from the client's resource picker (Claude's "add from connector", Cursor's @) without the agent searching for it. All are text/markdown, and every read starts with the source URL and the content's updated date.

URIWhat it is
fabrica://docs/<slug>Every docs.fabrica.land page (the ten most useful are listed first: obligations, fees, add and remove a property, Property checks, pool lending, the trust, the regulatory framework, the glossary, AI agents)
fabrica://help/<id>Every help center article, by its article id and slug
fabrica://legal/us-trust-agreementThe US trust agreement text
fabrica://property/{tokenId}/trust-agreementThe operating agreement attached to one token, as the API serves it (versions differ by the date the token was issued)
fabrica://networkThis deployment's network, contract addresses and legal notice

fabrica://docs/{slug} and fabrica://help/{id} are also resource templates with completion.

Prompts and skill file

The server offers four MCP prompts: due_diligence (one property, ending with what to verify yourself), work_parcel_list (a list of addresses or parcel numbers through find_us_parcel), wallet_review (holdings, loans and maturities) and how_to_add_land (adding one parcel to Fabrica). The same loops, the tool list and the legal red lines are in the Agent Skills file skills/fabrica/SKILL.md, served at https://mcp.fabrica.land/skill.md for agents that do not connect to the server.

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"

"What is property 3484741603659410548 listed for, and what offers are waiting on it?"

"Explain the Property checks number 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_land_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
  • Property checks, 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 agent can ask for the card fullscreen with display: "fullscreen"; the host may decline.

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):

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

Claude Desktop (Sepolia):

json
{  "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_land_property

Regression list

yarn regression (mainnet) or yarn regression sepolia calls every tool on a hosted server with the case list in scripts/regression/cases.json: happy paths, edge cases and the wording of a miss. One line per case, exit code 1 on a failure. Run it after each release and before a directory submission.

Hosting

The hosted servers run on Vercel from this repository: one Vercel project per network, both built with yarn build:vercel (see vercel.json), which emits a stateless Streamable HTTP function at /mcp, the sign-request endpoints at /sign-requests, the discovery documents at /.well-known/, 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.

MCP Registry

Both hosts are listed in the official MCP Registry as land.fabrica/mcp and land.fabrica/mcp-testnet (remote servers, no package). PulseMCP, Glama, the GitHub MCP registry and VS Code read from it. The entries live in server.json and server.testnet.json.

To republish after a release: bump version in package.json, src/server.ts and both server files (a test keeps them equal), then run yarn registry:publish (--dry-run prints the entries). Before writing anything it checks both entries against the registry: a version already there with the same content is skipped, so a rerun after a partial publish finishes the job, and one with different content stops the run. The namespace is proven by the v=MCPv1 TXT record on fabrica.land; the script reads the matching Ed25519 private key from MCP_REGISTRY_PRIVATE_KEY or ~/.config/mcp-registry/fabrica-land-ed25519.pem.

Links

License

MIT

来源:README.md,提交 ed8b76c

工具

21

search_land

Search land

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.

输入参数nearlimitcountyoffsetregionsortBygroupByownedBysortDirhasLoansmaxAcresmaxPrice另有 6 个

get_land_property

Get land property details

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.

输入参数slugdisplaytokenId

get_fabrica_lending_market

Get lending market

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.

输入参数limitsincelenderstatusborrower

get_fabrica_loan_book

Get loan book

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.

输入参数statusgroupBylargestprovidersinceDays

get_land_portfolio

Get wallet portfolio

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.

输入参数limitoffsetaddress必填

get_fabrica_stats

Get Fabrica stats

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_land_boundary

Get land parcel boundary (GeoJSON)

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.

输入参数slugtokenIdincludeCountyBounds

get_land_trust_documents

Get trust documents

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.

输入参数slugtokenIdincludeAgreementText

get_land_tax_status

Get property tax status

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.

输入参数slugtokenId

explain_property_checks

Explain Property checks

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.

输入参数scoretokenId

estimate_land_borrowing

Estimate borrowing against land

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.

输入参数slugtokenIdamountUsd

get_land_loan

Get a loan against land

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.

输入参数slugloanIdtokenId

get_land_valuation

Get valuation sources

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.

输入参数slugtokenId

get_land_activity

Get activity history

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.

输入参数slugtypelimitaddresstokenId

get_land_order_book

Get order book

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.

输入参数slugstatustokenIdminOfferUsd

get_land_map_image

Get property map image

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.

输入参数slugthemewidthheighttokenId

get_land_portfolio_map_image

Get portfolio map image

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.

输入参数themewidthheightaddress必填

ask_fabrica

Ask Fabrica

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.

输入参数sourcequestion必填maxPassages

find_us_parcel

Find a US parcel

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); present them as likely, not confirmed. 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.

输入参数querystatecountyqueries

check_county_coverage

Check county coverage

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.

输入参数fipsstatecountyownerType

contact_fabrica_support

Contact Fabrica support

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.

输入参数topicsubjectsummary必填tokenIddiscloseAgent

版本历史

2
  1. v0.2.0最新Oct 22, 2026
  2. v0.1.0Sep 28, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Fabrica 集成