Skip to main content
Glama
Fabrica MCP Server

Fabrica MCP Server

Official
by fabrica-land

Search properties

search_properties
Read-onlyIdempotent

Find tokenized US land parcels on the Fabrica protocol by state, county, owner, size, loans, listings, or score, and group results by state or county.

Instructions

Search tokenized real properties on the Fabrica protocol (Ethereum Mainnet). Returns a list of properties matching the given filters, 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.

Input Schema

NameRequiredDescriptionDefault
limitNoMax results (default 20, max 100)
countyNoCounty name, case-insensitive, the 'County' suffix optional (e.g. 'Costilla' or 'Mohave County'). Combine with region when the name exists in more than one state.
offsetNoPagination offset
regionNoUS state code (e.g. 'TX', 'CA', 'NV')
groupByNoReturn one row per state or county (property count, count for sale, total acres, location page link) instead of property rows. limit and offset page through the groups.
ownedByNoFilter by owner wallet address
hasLoansNoOnly show properties with active loans
maxAcresNoMaximum parcel size in acres
minAcresNoMinimum parcel size in acres
minScoreNoMinimum Property checks number: the 5-digit numeric encoding of Property checks, an integer. Defaults to 72032, the marketplace threshold, except when ownedBy is set (then every property in that wallet is listed). Any minimum also requires a verified deed. Max: 75342.
hasListingsNoOnly show properties with active sale listings

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, non-destructive, open-world behavior, and the description adds real context on top: results are US land parcels held in a trust tokenized as ERC-1155, and state/county results carry a fabrica.land location link. It doesn't cover pagination behavior for large result sets or any auth/indexing caveats, so it stops short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, front-loaded with the core purpose, and each subsequent sentence adds something (count vs row behavior, location link, what a result actually is). No filler, though the trust/ERC-1155 explanation is slightly tangential to invocation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 11 optional parameters, no output schema, and no required fields, the description sensibly characterizes the two return shapes (property rows vs grouped counts) so the agent knows what comes back. It could say more about default pagination behavior, but nothing essential to a correct call is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, including the nuanced minScore default and county/region combination rules, so the schema carries the parameter burden. The description echoes groupBy semantics but adds no new parameter-level detail, making 3 the correct baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Search tokenized real properties on the Fabrica protocol') and scopes it to Ethereum Mainnet. It also distinguishes itself from the single-property sibling get_property by describing filter-based retrieval and grouped counts, so an agent can pick it without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the filter/groupBy description, but there is no explicit when-to-use guidance and no naming of alternatives such as find_parcel, get_property, or get_property_map. The agent must infer that this is the multi-result search entry point.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.