Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Small Business Intelligence by Brick & Mortar

REMOTE · BRICKANDMORTAR.DEV

Free joined public records for small business and CRE: Twin Cities parcels, sales, licences

0 this week 81 Trust /100

Last scanned (2 hours ago)

Scores higher than 84% of remote servers

Reachable. Last reached 5 Nov 2026.

Category Maps and Location

Recent critical change

Authorization (26 Sept 2026). See the changelog before you install this server.

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security63
Transport & Reachability100
Schema Quality & AI Usability78
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 4427 tokens (~276/item across 16 items; 16 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage99
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 98% of tool parameters carry a description.Partial
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 16 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 16 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 +1
    • Stability: fail → pass ▲ security
  • 4 Nov 26 −1
    • Stability: pass → fail ▼ security
  • 10 Oct 26 0
    • Tool “business_teardown” rewrote its description, which is the text the model reads security
    • Tool “competitor_landscape” rewrote its description, which is the text the model reads security
    • Tool “compose_report” rewrote its description, which is the text the model reads security
    • Tool “data_source_atlas” rewrote its description, which is the text the model reads security
    • Tool “local_visibility_audit” rewrote its description, which is the text the model reads security
    • Tool “market_opportunity_scan” rewrote its description, which is the text the model reads security
    • Tool “pricing_benchmark” rewrote its description, which is the text the model reads security
    • Tool “review_intelligence” rewrote its description, which is the text the model reads security
  • 5 Oct 26 0
    • New tool “watch_teardowns”, which the server declares destructive security
  • 3 Oct 26 81
    • New tool “start_an_engagement”, which the server declares destructive security
    • Schema quality: 2922 → 4165 ▼ functional
    • The server now declares the “prompts” capability functional
    • First check of Schema quality: 100 functional
    • New prompt “diligence-on-a-deal” functional
    • New prompt “twin-cities-address” functional
    • New prompt “what-do-you-have-for-me” functional
    • New tool “bring_your_document” functional
    • New tool “twin_cities_lookup” functional
    • New tool “what_we_have_for_you” functional
  • 29 Sept 26 0
    • Stability: 0.97 → pass security
  • 28 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Sept 26 0
    • Authorization: partial → fail ▼ critical
    • Tool “request_a_feature” is now declared destructive security
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Probed https://brickandmortar.dev/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=*.brickandmortar.dev CN=YR1,O=Let's Encrypt,C=US 12 Sept 2026 11 Dec 2026 RSA 2048 SHA256-RSA 55b9ceb487e4c0dbd403b00c1dff10b2b56
SANs: *.brickandmortar.dev, brickandmortar.dev
CN=YR1,O=Let's Encrypt,C=US (CA) CN=Root YR,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 RSA 2048 SHA256-RSA a20253f15f2691c05dc1ce13b9bcca4e
CN=Root YR,O=ISRG,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 RSA 4096 SHA256-RSA f24b6d17f9d9ad7cb1c9fea78782699f

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of brickandmortar.dev. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
dev. present 60074 8 Verified
brickandmortar.dev. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=63072000

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://brickandmortar.dev/mcp Verified 200
http (plaintext) http://brickandmortar.dev/mcp HTTPS enforced 308 https://brickandmortar.dev/mcp
MCP tools · 16 exposed · ~4,427 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
bring_your_document ~382

Reads a document the person has — a P&L, a lease, a comp set, a schedule of locations, a member list, a story's addresses, a single claim — against the Minneapolis–St. Paul public record, and returns a table that cites the file behind every cell. This is the half of the platform the public record cannot do alone: their private file, our joined records, one answer. Free, no account. The document is read in the request, answered, and dropped — nothing is stored on either side. Get the slug and what to bring from what_we_have_for_you (cards with api_tool=true list `bring`). Pass the text exactly as they gave it; do not summarise a P&L before sending it. Tell them in one line what was sent and that it was not kept. Example invocations: - "Here's the P&L the seller sent — what does this business actually earn?" → tool 'pl' - "Grade my comps against the county's own sales" → tool 'compgrade' - "Check this line in my story: 'the building sold for $4.2M in March'" → tool 'claim-check', `claim`

NameTypeReqDescription
claimstring–For tool 'claim-check' only: the one sentence to check against the record, exactly as written.
contextobject––
textstring–The document as plain text — a pasted P&L, a lease, a list of addresses one per line, a comp table. Their content, untouched. For 'claim-check' use `claim` instead.
toolstringyesA tool slug from a what_we_have_for_you card where api_tool is true — e.g. 'pl', 'leasecheck', 'compgrade', 'claim-check', 'registercheck'.
NameTypeReqDescription
answerstringyes–
cardsarray––
caveatsarrayyes–
engagementsarray––
linksobject––
nextarray–Which tool on this server answers each kind of card. Follow these rather than improvising.
noticeobject–Present ONLY when denied by usage policy. Nothing else in the payload is a result.
resultobject––
rolesarray––
statusstringyes–
subjectobject––
toolstringyes–

No examples provided.

broker_diligence_prep ~286

Pre-diligence framework for a business broker or buyer evaluating a target: SDE framing (why the discretionary-earnings figure, not net income or raw EBITDA, is the relevant number, and what typically gets added back), a category multiple range the model must research fresh and date-stamp (never a hardcoded table), a public-signal red-flag checklist run before any financials are shared, and a prioritized seller-question list built from the specific gaps the research actually surfaces. Example invocations: - "Prep me for diligence on a brewery taproom listed in Minneapolis, MN" - "What questions should I ask the seller of a hair salon in Wichita, KS before I make an offer?" - "This restaurant is asking $650K — what red flags should I check before taking that seriously?" - "I'm looking at a nail salon in Tampa, FL asking $310K — sanity-check that against category multiples before I meet the seller"

NameTypeReqDescription
asking_pricenumber–Listed asking price, if known — used to sanity-check against the multiple range, never to validate it.
business_namestringyesThe target business's name.
categorystring–Category if known — determines the relevant SDE-multiple range.
city_metrostringyesCity + state/region, e.g. 'Denver, CO'.
NameTypeReqDescription
caveatsarrayyes–
frameworkstringyes–
noticeobject–Present ONLY when the request was denied by usage policy instead of executed. When present, every other field is an empty placeholder and must not be reported as a framework.
output_schemaobjectyes–
quality_rubricobjectyes–
research_procedurearrayyes–
subjectobject––
toolstringyes–

No examples provided.

business_teardown ~255

Returns a research framework, not the finished analysis: the procedure, output schema and quality rubric for a structured teardown of ONE named small business — digital presence, review signal, competitive position, pricing posture, visibility gaps, and prioritized, evidence-cited recommendations. Start here for any single-business question.. This tool fetches no data; the calling model runs the procedure with its own web search and produces the result. Example invocations: - "Run a teardown of Mucci's Italian in Saint Paul, MN" - "Tear down The Gray Duck Tavern (bar) in Minneapolis and tell me what's actually broken" - "I'm thinking about buying Sunrise Nails in Denver, CO — give me a teardown before I look deeper"

NameTypeReqDescription
business_namestringyesThe business's name as it appears on its own signage/website, not a guess.
categorystring–Category if known (e.g. 'nail salon', 'brewery taproom'). If omitted, step 2 of the procedure confirms it — don't guess from the name alone.
city_metrostringyesCity + state/region, e.g. 'Saint Paul, MN' — narrows the trade area and comp set.
NameTypeReqDescription
caveatsarrayyes–
frameworkstringyes–
noticeobject–Present ONLY when the request was denied by usage policy instead of executed. When present, every other field is an empty placeholder and must not be reported as a framework.
output_schemaobjectyes–
quality_rubricobjectyes–
research_procedurearrayyes–
subjectobject––
toolstringyes–

No examples provided.

competitor_landscape ~209

Returns a research framework, not the finished analysis: the procedure, output schema and quality rubric for mapping the local competitive set for a category + metro — true competitors vs. adjacent players, a positioning matrix, and saturation signals.. This tool fetches no data; the calling model runs the procedure with its own web search and produces the result. Example invocations: - "Map the competitive landscape for coffee shops in Saint Paul, MN" - "How saturated is the nail salon market in Aurora, CO?" - "Who are the real competitors to a new brewery taproom opening in the North Loop, Minneapolis?"

NameTypeReqDescription
categorystringyesThe business category/vertical, e.g. 'nail salon', 'brewery taproom'.
city_metrostringyesCity + state/region defining the trade area, e.g. 'Denver, CO'.
radius_notestring–Optional — a specific radius or neighborhood if the default trade-area logic in the procedure shouldn't apply.
NameTypeReqDescription
caveatsarrayyes–
frameworkstringyes–
noticeobject–Present ONLY when the request was denied by usage policy instead of executed. When present, every other field is an empty placeholder and must not be reported as a framework.
output_schemaobjectyes–
quality_rubricobjectyes–
research_procedurearrayyes–
subjectobject––
toolstringyes–

No examples provided.

compose_report ~229

Returns a research framework, not the finished analysis: the procedure, output schema and quality rubric for assembling results already in the conversation into one client-ready report — section order, executive-summary rules, evidence-citation standards, and tone guidance matched to the audience. The calling model writes the report; this tool returns only the structure.. This tool fetches no data; the calling model runs the procedure with its own web search and produces the result. Example invocations: - "I've run a teardown and a review-intelligence pass on this restaurant — compose it into a report for the owner" - "Assemble everything we've found on this brewery into a broker-facing diligence report" - "Turn the teardown and competitor landscape into a report I can hand an investor"

NameTypeReqDescription
audiencestringyesWho will read this report — drives section order, tone, and what gets emphasized vs. cut.
business_namestringyesThe business the report is about.
completed_analysesarrayyesThe completed write-ups from any prior tool calls this session, to be assembled — not re-researched.
NameTypeReqDescription
caveatsarrayyes–
frameworkstringyes–
noticeobject–Present ONLY when the request was denied by usage policy instead of executed. When present, every other field is an empty placeholder and must not be reported as a framework.
output_schemaobjectyes–
quality_rubricobjectyes–
research_procedurearrayyes–
subjectobject––
toolstringyes–

No examples provided.

data_source_atlas ~332

Given a real question about a local market or a specific property, returns a source-first RESEARCH PLAN: which public record actually settles the question, how to reach it directly (county parcel GIS, Census CBP/ACS/permits, BLS series, state registries, licences, inspections), what the answer will be worth, and what the public record cannot answer at all. Use it before researching a local market, to find the administrative record that settles the question. Example invocations: - "Where would I actually find what 1420 Grand Ave in Saint Paul last sold for?" - "I want to know if Wichita has room for another dog daycare — what should I pull?" - "How do I find out who really owns this building and what else they own?" - "What public data would tell me if this neighborhood is actually growing?"

NameTypeReqDescription
already_triedstring–What you already looked at and what it failed to answer, if anything. Keeps the plan from re-recommending a dead end.
placestringyesThe specific geography — 'Hennepin County, MN', 'Wichita, KS', 'the 78704 ZIP'. State matters more than people expect: it decides whether sale prices exist at all.
questionstringyesThe real question, in plain words — e.g. 'is there room for another coffee shop in Bend' or 'what did the building at 412 Main last sell for'. Not a dataset name; the point of this tool is to work ou…
NameTypeReqDescription
caveatsarrayyes–
frameworkstringyes–
noticeobject–Present ONLY when the request was denied by usage policy instead of executed. When present, every other field is an empty placeholder and must not be reported as a framework.
output_schemaobjectyes–
quality_rubricobjectyes–
research_procedurearrayyes–
subjectobject––
toolstringyes–

No examples provided.

local_visibility_audit ~206

Returns a research framework, not the finished audit: a scored checklist of what to check in a business's local search presence — map-pack factors, listing consistency, category selection, site fundamentals — and in what order. This tool reads no listing; the calling model runs the checks with its own web search. Example invocations: - "Run a local visibility audit on Fern & Fig Nail Bar in Cedar Rapids, IA" - "Why doesn't Steel Toe Brewing show up when someone searches 'brewery near me' in Louisville?" - "Give me a scored GBP/NAP checklist for a hair salon in Aurora, CO before I redo their listing"

NameTypeReqDescription
business_namestringyesThe business's name as it appears on its own signage/website.
categorystring–Category if known — narrows which map-pack searches are the right ones to check.
city_metrostringyesCity + state/region, e.g. 'Aurora, CO'.
NameTypeReqDescription
caveatsarrayyes–
frameworkstringyes–
noticeobject–Present ONLY when the request was denied by usage policy instead of executed. When present, every other field is an empty placeholder and must not be reported as a framework.
output_schemaobjectyes–
quality_rubricobjectyes–
research_procedurearrayyes–
subjectobject––
toolstringyes–

No examples provided.

market_opportunity_scan ~198

Returns a research framework, not the finished analysis: the procedure, output schema and quality rubric for a gap analysis of a category x metro — how to tell underserved demand, oversaturation and genuine whitespace apart using only public signals, for someone deciding whether/where to open, expand, or invest.. This tool fetches no data; the calling model runs the procedure with its own web search and produces the result. Example invocations: - "Is there whitespace for a new brewery taproom in the North Loop, Minneapolis?" - "Scan the nail salon market in Aurora, CO for underserved demand" - "Where in Wichita, KS is full-service restaurant demand outrunning supply?"

NameTypeReqDescription
categorystringyesThe business category/vertical to scan for whitespace, e.g. 'coffee shop', 'massage spa'.
city_metrostringyesCity + state/region defining the market, e.g. 'Aurora, CO'.
NameTypeReqDescription
caveatsarrayyes–
frameworkstringyes–
noticeobject–Present ONLY when the request was denied by usage policy instead of executed. When present, every other field is an empty placeholder and must not be reported as a framework.
output_schemaobjectyes–
quality_rubricobjectyes–
research_procedurearrayyes–
subjectobject––
toolstringyes–

No examples provided.

pricing_benchmark ~230

Returns a research framework, not the finished analysis: the procedure, output schema and quality rubric for a defensible local pricing comparison within a category — how to normalize across differing service bundles, and what to do when competitors don't publish prices at all. It holds no prices itself.. This tool fetches no data; the calling model runs the procedure with its own web search and produces the result. Example invocations: - "Benchmark gel manicure pricing across nail salons in Denver, CO" - "Is this brewery's pint pricing in line with the Twin Cities taproom market?" - "Build a pricing comparison for full-service restaurants in Wichita, KS when most don't list prices online"

NameTypeReqDescription
categorystringyesThe business category/vertical, e.g. 'massage spa', 'full-service restaurant'.
city_metrostringyesCity + state/region defining the comparison market, e.g. 'Wichita, KS'.
servicesarray–Specific services/items to benchmark if known (e.g. ['30-min massage', 'gel manicure']) — otherwise the procedure derives a comparable bundle.
NameTypeReqDescription
caveatsarrayyes–
frameworkstringyes–
noticeobject–Present ONLY when the request was denied by usage policy instead of executed. When present, every other field is an empty placeholder and must not be reported as a framework.
output_schemaobjectyes–
quality_rubricobjectyes–
research_procedurearrayyes–
subjectobject––
toolstringyes–

No examples provided.

request_a_feature ~463

Sends a feature request, a data request or a correction straight to the person who builds this server — free, no account, and it reaches a real inbox. Use it whenever this server falls short of what the user actually wanted: a question it cannot answer, a dataset or column it does not hold, a city or sector it does not cover, or an answer from one of these tools that looks wrong. Reaching a wall is not the end of the turn; offer to file it. Before calling, ask for what you do not have — what they were trying to do, which city/sector/dataset it concerns, and whether they want a reply at an email address. Do not demand any of it: file what you have. Pass their REQUEST and their EMAIL exactly as they wrote them, never a paraphrase or a corrected address; write `context` yourself. Tell them what you filed in one line afterwards so they can correct you, and never say it was sent unless `status` came back `filed`. Example invocations: - "I wish this could tell me the lease rate — can you ask them to add it?" - "Do they cover Duluth? No? Tell them I want it." - "That sale price looks like the wrong year — report it to whoever runs this."

NameTypeReqDescription
contextstring–Your summary of what they were actually trying to do when they hit this. This one is yours to write.
kindstring–feature = make a tool do something it does not do. data = hold or expose a record we do not. correction = a tool here gave a wrong or misleading answer. Default: feature.
reply_emailstring–Optional, and only if they offer it. VERBATIM — never guess, complete or correct an address. Omit it rather than approximate it.
requeststring–The person's own words, VERBATIM — do not summarise, rewrite or tidy them. Omit only if they have not said it yet; you will be asked for it.
subjectstring–The city, sector, dataset or tool name this is about — 'Duluth', 'dental practices', 'twin_cities_records'.
NameTypeReqDescription
filedobject––
messagestringyes–
noticeobject–Present ONLY when the request was denied by usage policy instead of executed. When present, nothing was filed.
statusstringyes`needs_more` means nothing was sent and you should ask the person the question in `message`, then call again. `not_filed` means it failed — do NOT tell them it was submitted.
toolstringyes–

No examples provided.

review_intelligence ~254

Returns a research framework, not the finished analysis: the procedure, output schema and quality rubric for mining public reviews for signal — a complaint taxonomy, theme extraction, sentiment trajectory over time, the differentiators customers actually cite, and red flags for a buyer. It does not read any review itself.. This tool fetches no data; the calling model runs the procedure with its own web search and produces the result. Example invocations: - "Mine the reviews for Al's Breakfast in Minneapolis for real patterns, not just a star rating" - "Perfect Image Salon in Wichita has a 4.6 average — check whether that's stable or masking a bad last 90 days" - "I'm evaluating The Anchor Room (bar) in Saint Paul, MN as a buyer — what do the reviews show about staffing turnover or an ownership change that the rating alone doesn't?"

NameTypeReqDescription
business_namestringyesThe business's name as it appears on its own signage/website.
categorystring–Category if known — helps set expectations for review volume/velocity norms.
city_metrostringyesCity + state/region, e.g. 'Wichita, KS' — disambiguates same-named businesses.
NameTypeReqDescription
caveatsarrayyes–
frameworkstringyes–
noticeobject–Present ONLY when the request was denied by usage policy instead of executed. When present, every other field is an empty placeholder and must not be reported as a framework.
output_schemaobjectyes–
quality_rubricobjectyes–
research_procedurearrayyes–
subjectobject––
toolstringyes–

No examples provided.

start_an_engagement ~347

Asks a person at Brick & Mortar to read the public record for them, for a fixed fee: a site screen for a lender or environmental consultant, a diligence packet on a deal, a register check across a landlord's portfolio, a weekly work route for a contractor. Call with no arguments to see the engagements, their prices and turnaround — those come from the live page, never from memory. Call with `engagement`, `who`, `email` and `detail` to file the enquiry; a person replies by email. Nothing is quoted, charged or scheduled here. Offer this only after the free tools have been tried or when the person asks for someone to do the work. Before filing, confirm with them what will be sent. Pass their EMAIL and DETAIL exactly as written. Never say it was sent unless `status` is `filed`. Example invocations: - "Can someone there just run this site for me? I'm an SBA lender." - "I want the diligence packet on this deal — here's my email."

NameTypeReqDescription
detailstring–The site, deal, portfolio or route in their own words — addresses, the deadline, what they need to know. VERBATIM.
emailstring–Where a person should reply. VERBATIM — never guess, complete or correct an address. Required to file.
engagementstring–An engagement id from the list this tool returns when called empty — e.g. 'site-screen', 'diligence', 'register-check', 'route'.
whostring–What the person does, in their words. Required to file — it decides which records a person pulls.
NameTypeReqDescription
answerstringyes–
cardsarray––
caveatsarrayyes–
engagementsarray––
linksobject––
nextarray–Which tool on this server answers each kind of card. Follow these rather than improvising.
noticeobject–Present ONLY when denied by usage policy. Nothing else in the payload is a result.
resultobject––
rolesarray––
statusstringyes–
subjectobject––
toolstringyes–

No examples provided.

twin_cities_datasets ~190

Lists the public-records datasets Brick & Mortar publishes for the seven-county Minneapolis-St. Paul metro, with real row counts, column names, the filtered cuts available, and the counties each one actually covers. Free, no account. Call this FIRST to learn what can be answered, then call twin_cities_records to ask it. These are joined county and federal records — parcels and lot lines, recorded sale prices, owners, rental licences, contamination files, business counts by trade, census tracts. Example invocations: - "What Twin Cities property data do you have access to?" - "Is there anything on contamination or storage tanks in Minneapolis?" - "What columns are in the recorded-sales dataset?"

NameTypeReqDescription
aboutstring–Optional plain-words filter — 'sales', 'who owns it', 'contamination'. Matches dataset titles and subjects. Omit to list everything.
NameTypeReqDescription
answerstringyes–
caveatsarrayyes–
centre–––
columnsarray––
coveragearray–The counties this dataset actually holds. Coverage is not uniform across datasets.
datasetstring––
datasetsarray––
documented_atstring–Page documenting this dataset's source, full column list and stated limits.
download_urlstring–A free sample of the file; the full file is sold (the sample's first line says where).
matching_rowsinteger–The true number of rows that match. `sample` shows at most six of them.
noticeobject–Present ONLY when the request was denied by usage policy instead of executed. When present, no other field carries a result.
samplearray–At most six example rows. Never report these as the complete result.
scope_labelstring––
subjectobject––
toolstringyes–

No examples provided.

twin_cities_lookup ~197

One address in the Minneapolis–St. Paul metro → what the public record says about that parcel, in one call: land use, build year, assessed value, last recorded sale, any MPCA contamination or storage-tank file, and the parcels that touch it with how many owners they have. Each field is a value or a miss WITH ITS REASON — 'the county records no build year' — never a blank. Free, no account, nothing stored. Use it the moment an address comes up; then twin_cities_records for the surrounding market. Example invocations: - "What do you know about 1420 Grand Ave, Saint Paul?" - "Is there anything on file for the building at 2900 Lyndale Ave S?"

NameTypeReqDescription
addressstringyesA street address in the seven-county Minneapolis–St. Paul metro. Include the city — 'Grand Ave' exists in several of them.
NameTypeReqDescription
answerstringyes–
cardsarray––
caveatsarrayyes–
engagementsarray––
linksobject––
nextarray–Which tool on this server answers each kind of card. Follow these rather than improvising.
noticeobject–Present ONLY when denied by usage policy. Nothing else in the payload is a result.
resultobject––
rolesarray––
statusstringyes–
subjectobject––
toolstringyes–

No examples provided.

twin_cities_records ~332

Answers a question about the Minneapolis-St. Paul metro from joined public records — what a property sold for and when, who owns it and what else they hold, what shares its lot line, whether it has a contamination or storage-tank file, who is licensed to trade there, how the neighbourhood's census tract compares. Give an `address` to answer about one property and its surroundings; omit it to ask about the whole market cut. Returns the true matching row count, up to six example rows, and a link to the complete file. Example invocations: - "What did 1420 Grand Ave, Saint Paul last sell for?" - "What commercial property sold within half a mile of 2900 Hennepin Ave, Minneapolis?" - "Does 500 Washington Ave S have a contamination file, and who owns it?"

NameTypeReqDescription
addressstring–A street address inside the seven-county metro, to answer about ONE property instead of the whole market. Include the city after a comma when the street name is common — 'Grand Ave' exists in several…
columnsarray–Column keys to return. Omit for the dataset's default set.
datasetstringyesA dataset id from twin_cities_datasets — e.g. 'sales', 'owners', 'adjacency'.
scopestring–A scope key from that dataset's `scopes`. Omit for the dataset's first cut.
within_ftinteger–Radius in feet around `address`. Default 5280 (one mile), capped at 26400.
NameTypeReqDescription
answerstringyes–
caveatsarrayyes–
centre–––
columnsarray––
coveragearray–The counties this dataset actually holds. Coverage is not uniform across datasets.
datasetstring––
datasetsarray––
documented_atstring–Page documenting this dataset's source, full column list and stated limits.
download_urlstring–A free sample of the file; the full file is sold (the sample's first line says where).
matching_rowsinteger–The true number of rows that match. `sample` shows at most six of them.
noticeobject–Present ONLY when the request was denied by usage policy instead of executed. When present, no other field carries a result.
samplearray–At most six example rows. Never report these as the complete result.
scope_labelstring––
subjectobject––
toolstringyes–

No examples provided.

what_we_have_for_you ~317

The front door of brickandmortar.dev, as a tool. The platform is organised by WHO YOU ARE — an SBA lender, a business buyer, a landlord, a contractor, a journalist, a site selector, an appraiser, a city planner, 18 roles — and each role has a shelf of cards: joined public-records datasets for the Minneapolis–St. Paul metro, tools that read a file you bring against those records, a one-address lookup, and fixed-fee engagements where a person reads the record for you. Call with no arguments to see the roles; call with `role` to get that shelf, each card tagged with which tool on this server answers it. Call this FIRST when someone says what they do, or asks what we can do for them. Ask what they do if they have not said — the shelf depends on it. Everything free here is free with no account. Example invocations: - "I'm an SBA lender in Minneapolis — what do you have?" - "What can this do for a landlord?" - "Show me the shelf for a business buyer."

NameTypeReqDescription
rolestring–A role id from the list this tool returns when called with no arguments — e.g. 'sba', 'buyer', 'landlord', 'press'.
whostring–If you do not know the id yet: what the person does, in their words — 'I underwrite restaurants', 'I'm buying a plumbing company'. Returns the closest roles to pick from.
NameTypeReqDescription
answerstringyes–
cardsarray––
caveatsarrayyes–
engagementsarray––
linksobject––
nextarray–Which tool on this server answers each kind of card. Follow these rather than improvising.
noticeobject–Present ONLY when denied by usage policy. Nothing else in the payload is a result.
resultobject––
rolesarray––
statusstringyes–
subjectobject––
toolstringyes–

No examples provided.

Install

How do I install the Small Business Intelligence by Brick & Mortar MCP server?

Small Business Intelligence by Brick & Mortar is a hosted endpoint at https://brickandmortar.dev/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · brickandmortar.dev

# add to Claude Code
claude mcp add --transport http 2016judea-small-business-intelligence 'https://brickandmortar.dev/mcp'
Common questions

What is the Small Business Intelligence by Brick & Mortar MCP server?

Small Business Intelligence by Brick & Mortar is an MCP server listed in the public MCP registry as io.github.2016judea/small-business-intelligence. Free joined public records for small business and CRE: Twin Cities parcels, sales, licences. This page covers its hosted endpoint (https://brickandmortar.dev/mcp).

Is the Small Business Intelligence by Brick & Mortar MCP server safe to use?

Small Business Intelligence by Brick & Mortar scores 81 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Small Business Intelligence by Brick & Mortar MCP server expose?

Small Business Intelligence by Brick & Mortar exposes 16 tools: data_source_atlas, what_we_have_for_you, twin_cities_lookup, twin_cities_datasets, twin_cities_records, and 11 more. Their descriptions and schemas cost roughly 4,427 tokens of context every time the server is loaded.

Does the Small Business Intelligence by Brick & Mortar MCP server require authentication?

No. We connected to Small Business Intelligence by Brick & Mortar without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the Small Business Intelligence by Brick & Mortar MCP server still maintained?

Small Business Intelligence by Brick & Mortar is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.