Fabrica (Sepolia testnet)
Server Details
Fabrica test properties on Sepolia: try every Fabrica tool with no real-world effect.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- fabrica-land/fabrica-mcp
- GitHub Stars
- 0
- Server Listing
- Fabrica MCP Server
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 47 tools
Most tools have a clear resource+action identity, and descriptions actively cross-reference each other (e.g. get_my_offers points to get_land_order_book, get_my_properties points to get_land_portfolio, get_my_loans vs get_loan_against_land). A few pairs still require careful reading to separate: the four analytics readers (get_fabrica_stats, get_fabrica_lending_market, get_fabrica_loan_book, get_land_valuation), and get_land_portfolio_map_image vs get_land_map_image. With 47 tools the risk of misselection is real, but the any-wallet vs connected-account distinction is consistently spelled out.
Nearly all names follow a snake_case verb_noun pattern (get_land_property, list_land_for_sale, borrow_against_land, update_land_photos), which is predictable and readable. Minor deviations: what_needs_attention is not verb_noun, and the noun is inconsistent across otherwise parallel tools (land vs property, loan_against_land vs land). No mixed casing.
47 tools is well past the 25+ threshold and is heavy for a single agent surface, especially since many are read-only analytics variants (stats, market, loan book, valuation, tax status, activity, three map/portfolio readers) that could be consolidated. The domain is genuinely broad (marketplace, lending pool, property onboarding, legal documents), but the count is over-scoped rather than earned tool-by-tool.
Coverage is unusually thorough: onboarding (add_land, answer_adding_questions, get_adding_status, check_county_coverage), full marketplace lifecycle (list, offer, buy, accept, cancel, order book), lending (estimate, borrow, repay, deposit, withdraw, loan lookups), plus transfer, description/photo/trust updates, documents, activity and a sign-request follow-up loop. Gaps are minor: there is no prepare tool for removing a property from Fabrica (removal is only surfaced as read state), and listing price changes require cancel-and-relist.
Available Tools
47 toolsaccept_land_offerPrepare accepting an offerAInspect
Prepare accepting an open offer (orderHash: orderId from get_land_order_book) on a property the wallet holds (Sepolia Testnet). 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.
Inputs: wallet (required), orderHash (required), slug, tokenId.
add_landAdd a property to FabricaAIdempotentInspect
Start adding a property to Fabrica (Sepolia Testnet) 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.
Inputs: state, county, wallet, address, +2 more.
answer_adding_questionsAnswer the questions for a property I'm addingAInspect
Save, on a property the connected person is adding to Fabrica (Sepolia Testnet), 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.
Inputs: tokenId (required), email, owner, answers.
ask_fabricaAsk FabricaARead-onlyIdempotentInspect
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.
Inputs: question (required), source, maxPassages.
borrow_against_landPrepare a loan against landAInspect
Prepare borrowing USDC from the DeFi lending pool against a property the wallet holds (Sepolia Testnet), 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. This is a test loan on Sepolia with no real-world effect. 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.
Inputs: wallet (required), amountUsd (required), slug, tokenId, +1 more.
buy_landPrepare a purchaseAInspect
Prepare buying a property at its open listing (orderHash: orderId from get_land_order_book) on Sepolia Testnet. 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.
Inputs: wallet (required), orderHash (required), slug, tokenId.
cancel_land_orderPrepare canceling a listing or offerAInspect
Prepare canceling the wallet's own open listing or offer (orderHash: orderId from get_land_order_book) on Sepolia Testnet. 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.
Inputs: wallet (required), orderHash (required), slug, tokenId.
check_county_coverageCheck county coverageARead-onlyIdempotentInspect
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.
Inputs: fips, state, county, ownerType.
contact_fabrica_supportContact Fabrica supportARead-onlyIdempotentInspect
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.
Inputs: summary (required), topic, subject, tokenId, +1 more.
deposit_to_lending_poolPrepare a deposit into the lending poolAInspect
Prepare depositing amountUsd in USDC into one tick of the DeFi lending pool (Sepolia Testnet). 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.
Inputs: wallet (required), amountUsd (required), pool, tick.
estimate_land_borrowingEstimate borrowing against landARead-onlyIdempotentInspect
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.
Inputs: slug, tokenId, amountUsd.
explain_property_checksExplain Property checksARead-onlyIdempotentInspect
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.
Inputs: score, tokenId.
find_land_by_ownerFind land by owner nameARead-onlyIdempotentInspect
List the parcels a county records under an owner's name (owner, as on the tax bill, usually last name first), in one county (state and county), so the person can add theirs to Fabrica (Sepolia Testnet) with add_land (parcelNumber, state, county). Returns up to 10 parcels, each with its parcel number, recorded owner, address, acres, whether it is already on Fabrica and the fabrica.land link that adds it, and whether the owner has more. Reads county records only; nothing is created or changed. Meant for the person's own land. Needs the person to be signed in.
Inputs: owner (required), state (required), county (required).
find_listings_on_websiteFind the listings on my websiteARead-onlyIdempotentInspect
List the property listing pages on a seller's own website (url: the site, or the page that lists their properties), so they can be added to Fabrica (Sepolia Testnet) one by one with add_land (listingUrl). The site is read from its sitemap or its links; nothing is created or changed. Returns the site, each listing's link (up to 200) and whether the list was cut short. Only for the person's own listings on their own website: add_land copies each listing's description and photos. Needs the person to be signed in.
Inputs: url (required).
find_us_parcelFind a US parcelARead-onlyIdempotentInspect
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.
Inputs: query, state, county, queries.
get_adding_statusGet where a property I'm adding standsARead-onlyIdempotentInspect
Get one property the connected person is adding to Fabrica (Sepolia Testnet) 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.
Inputs: tokenId (required).
get_fabrica_lending_marketGet lending marketARead-onlyIdempotentInspect
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.
Inputs: limit, since, lender, status, +1 more.
get_fabrica_loan_bookGet loan bookARead-onlyIdempotentInspect
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.
Inputs: status, groupBy, largest, provider, +1 more.
get_fabrica_statsGet Fabrica statsARead-onlyIdempotentInspect
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.
Inputs: no named parameters.
get_land_activityGet activity historyARead-onlyIdempotentInspect
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.
Inputs: slug, type, limit, address, +1 more.
get_land_boundaryGet land parcel boundary (GeoJSON)ARead-onlyIdempotentInspect
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.
Inputs: slug, tokenId, includeCountyBounds.
get_land_map_imageGet property map imageARead-onlyIdempotentInspect
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.
Inputs: slug, theme, width, height, +1 more.
get_land_order_bookGet order bookARead-onlyIdempotentInspect
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.
Inputs: slug, status, tokenId, minOfferUsd.
get_land_portfolioGet wallet portfolioARead-onlyIdempotentInspect
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.
Inputs: address (required), limit, offset.
get_land_portfolio_map_imageGet portfolio map imageARead-onlyIdempotentInspect
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.
Inputs: address (required), theme, width, height.
get_land_propertyGet land property detailsARead-onlyIdempotentInspect
Get the full record of one property on Fabrica (Sepolia Testnet), 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. 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.
Inputs: slug, display, tokenId.
get_land_tax_statusGet property tax statusARead-onlyIdempotentInspect
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.
Inputs: slug, tokenId.
get_land_trust_documentsGet trust documentsARead-onlyIdempotentInspect
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.
Inputs: slug, tokenId, includeAgreementText.
get_land_valuationGet valuation sourcesARead-onlyIdempotentInspect
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.
Inputs: slug, tokenId.
get_loan_against_landGet a loan against landARead-onlyIdempotentInspect
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.
Inputs: slug, loanId, tokenId.
get_my_accountGet my Fabrica accountARead-onlyIdempotentInspect
Get the connected person's own Fabrica account on Sepolia Testnet: their email, their linked accounts (every wallet address on the account, each listed once), their verification status, the dollars (USDC) each account holds with a Cash out link on fabrica.land from a dollar up, 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.
Inputs: no named parameters.
get_my_loansGet my loansARead-onlyIdempotentInspect
List the connected person's lending on Fabrica (Sepolia Testnet), 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.
Inputs: no named parameters.
get_my_offersGet my offersARead-onlyIdempotentInspect
List the connected person's offers on Fabrica (Sepolia Testnet), 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.
Inputs: side, status.
get_my_propertiesGet my propertiesARead-onlyIdempotentInspect
List the connected person's own properties on Fabrica (Sepolia Testnet), 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.
Inputs: includePremints.
get_my_properties_being_addedGet the properties I'm addingARead-onlyIdempotentInspect
List the properties the connected person is adding to Fabrica (Sepolia Testnet), 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.
Inputs: no named parameters.
get_sign_requestGet sign request statusARead-onlyIdempotentInspect
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. A purchase or payoff paid on the sign page by card, bank transfer or wire shows as payment_clearing, with the payment's stage and expected date, until it lands; such requests are followed for two weeks. Other expired requests are kept a day, then reported as unknown.
Inputs: id (required).
get_transaction_statusGet transaction statusARead-onlyIdempotentInspect
Get the status of an Ethereum transaction on Sepolia Testnet by hash: not_found, pending, succeeded or failed, with the block, confirmations, sender, recipient and a block explorer link. Reads the chain only.
Inputs: hash (required).
list_land_for_salePrepare a listingAInspect
Prepare a listing of a property the wallet holds on Fabrica (Sepolia Testnet) 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.
Inputs: wallet (required), priceUsd (required), slug, tokenId, +1 more.
make_land_offerPrepare an offerAInspect
Prepare an offer to buy a live property on Fabrica (Sepolia Testnet) 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.
Inputs: wallet (required), amountUsd (required), slug, tokenId, +1 more.
repay_loan_against_landPrepare paying off a loanAInspect
Prepare paying off the open DeFi lending pool loan on a property (Sepolia Testnet), 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.
Inputs: wallet (required), slug, loanId, tokenId.
search_landSearch landARead-onlyIdempotentInspect
Search US land on Fabrica (Sepolia Testnet): 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. These are test properties on Sepolia with no real-world effect.
Inputs: near, limit, county, offset, +14 more.
transfer_landPrepare a property transferAInspect
Prepare moving a whole property the wallet holds to another account of the same person on Fabrica (Sepolia Testnet): 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.
Inputs: wallet (required), recipient (required), slug, tokenId.
update_land_descriptionPrepare a new property descriptionAInspect
Prepare replacing a property's description with new plain text, up to 5000 characters (Sepolia Testnet). 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.
Inputs: wallet (required), description (required), slug, tokenId.
update_land_photosPrepare a photo updateAInspect
Prepare a link that opens a property's photo editor on its page (Sepolia Testnet), 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.
Inputs: wallet (required), slug, tokenId.
update_trust_agreementPrepare a trust agreement updateAInspect
Prepare moving a property to the latest version of the Fabrica trust agreement (Sepolia Testnet). 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.
Inputs: wallet (required), slug, tokenId.
what_needs_attentionWhat needs my attention on FabricaARead-onlyIdempotentInspect
One ranked list of everything waiting on the connected person on Fabrica (Sepolia Testnet): 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 and dollars (USDC) in their accounts ready to cash out, 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.
Inputs: no named parameters.
withdraw_from_lending_poolPrepare a withdrawal from the lending poolAInspect
Prepare withdrawing amountUsd (default: the whole position) from the wallet's deposit at one tick of the DeFi lending pool (Sepolia Testnet). 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.
Inputs: tick (required), wallet (required), pool, amountUsd.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Deterministic public Greenhouse jobs. Paid tool uses 0.001 test USDC on Base Sepolia only.
EVM Slither audit (zero-arg demo + live) + Blockscout source + security.txt lookup + MCP probe.
Free to compete: testnet faucet funds everything. 12 synthetic access change request exception…
Search, negotiate and buy resource access with x402 test USDC on Ethereum Sepolia.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceExposes nineteen tools, three resources and a wallet-checkup prompt over stdio so an AI assistant can run strict deployment verification, read protocol and account state at pinned blocks, inspect wallets and deposited NFTs, and prepare unsigned claim/merge bundles. It works read-only against Sepolia via the shared SDK, never accepting keys, signing, broadcasting or calling arbitrary RPC methods.1MIT

smx-mcpofficial
AlicenseAqualityBmaintenanceEnables read-only querying of orbital launch and space-sector data plus testnet event-market listings, order books, midpoint prices, and cancel-safety checks on Base Sepolia. It does not place, cancel, or claim orders, and it never resolves markets.1296 npmMIT- AlicenseAqualityCmaintenanceEnables LLM agents to inspect Proof of Architect NFT collection stats, token data, PoW difficulty and pricing, and verify mined nonces and craft commits on Arc testnet without sending transactions.7MIT
- AlicenseNot gradedqualityBmaintenanceEnables coding agents to query who controls any EVM contract by tracing owners, proxy upgrade admins, beacons, Safe signers/thresholds/modules, timelocks, and access roles, while flagging EOAs, 1-of-N Safes, and powers held without a timelock. All tools are read-only and return a chain view, not a verdict.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.