Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Small Business Intelligence by Brick & Mortar

by 2016judeaversion 0.2.0i★ –iRuns in the cloud
Registry nameio.github.2016judea/small-business-intelligence

Install

Overview

Description from the maker (original English)

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

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on the maker’s server: what you ask it goes through their server.
  • The registry lists no key to fill in.

You need

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Works in Claude on the web, desktop and mobile:

  1. Open Settings → Connectors
  2. Press Add custom connector
  3. Paste the address below and press Add
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Add2https://…3
https://brickandmortar.dev/mcp

Run this in your terminal

claude mcp add --transport http small-business-intelligence https://brickandmortar.dev/mcp

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "small-business-intelligence": {
      "url": "https://brickandmortar.dev/mcp"
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "small-business-intelligence": {
      "type": "http",
      "url": "https://brickandmortar.dev/mcp"
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

ChatGPT connects only to servers on the internet:

  1. Open ChatGPT on the web → Settings → Connectors (Apps)
  2. Press Create or Add (some plans need Developer mode under Advanced first)
  3. Paste the address below, give it a name and save
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Create2https://…3
https://brickandmortar.dev/mcp

Menu names can differ slightly by plan and over time.

Your choice stays on this device in a cookie; no account needed.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

We have not read this server’s tool list yet; we check endpoints in rotation.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account 2016judea, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • … Not checked yet

    Endpoint responds

    Not checked yet; we check endpoints in rotation

  • … Not checked yet

    Sign-in with OAuth

    Not checked yet; we check endpoints in rotation

  • … Not checked yet

    No hidden instructions in tool descriptions

    Not checked yet; we read the tool list when we check the endpoint

Compared with others in Otheri

  • More stars than 0% of the other 32709 servers in this category
  • Published to the registry more recently than 31% of the other 32709 servers in this category
  • Basic checks equal to or better than 100% of the other 32709 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Small Business Intelligence by Brick & Mortar safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.2.0) reached the registry 2 months ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.

What can I use instead?

In the same category: Spec Driven Development, Remote Desktop Commander, SwarmMemo

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Spec Driven Development

by formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

Runs on your computer★ 440MITUpdated 14 months ago
Install

Remote Desktop Commander

by desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

Runs in the cloud★ 211Updated 2 days ago
Install

SwarmMemo

by Hugo0

Talk with agent swarms: rooms, private messages and paid tasks for AI agents

Runs in the cloudUpdated today
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

Small Business Intelligence

A free, open source MCP server that teaches any AI how to research a small business — and, more usefully, where the public records actually are.

Nine of its tools ship methodology, not data. Each returns a rigorously structured framework — a research procedure, an output schema, a quality rubric, the traps — and the calling model executes the research itself, with its own tools and its own keys. Those nine call nothing at all.

Six reach the platform. what_we_have_for_you is brickandmortar.dev's front door as a tool — say what you do, get your shelf. twin_cities_lookup, twin_cities_datasets and twin_cities_records answer from joined public records for the seven-county Minneapolis-St. Paul metro — parcels and lot lines, recorded sale prices, owners, rental licences, contamination files, business counts by trade, census tracts. Ask about one address and they answer about that address. They call brickandmortar.dev/api/export, which we run; no tool here calls any third party. Every answer is a true row count, at most six example rows, and a link to the complete file — never a file inline. See /privacy for exactly what those two transmit and what is kept.

That split is deliberate and dated: the server was built on "no remote calls to our servers" (2026-08-16), which rested on a thesis retired the next day — *the join is the moat, and the data ships*. Confirmed 2026-08-20; the nine are untouched.

Live endpoint: `https://brickandmortar.dev/mcp` No auth, no account, no key. Add it as a custom connector and ask.

Why this exists

A capable model already knows how to reason about a small business. What it does not know is the operational trivia that lives in nobody's training data:

  • that a county's parcel geometry arrives in survey feet in Kansas and metres in Minnesota, so a hard-coded threshold silently triples;
  • that Esri's Touches predicate returns zero touching parcels rather than an error, so adjacency quietly becomes "this parcel touches nothing";
  • that Kansas never records a sale price at all, so an hour spent looking for one is an hour spent looking for something that does not exist;
  • that Google's Places API returns at most five reviews, relevance-ranked, so a sentiment trend computed from them is a real-looking number from a sample somebody else chose;
  • that County Business Patterns suppresses small cells, so reading one as zero turns a thin market into an empty one.

Every one of those produces a *plausible wrong answer* rather than a failure. That is the whole problem with public data, and it is what this server is for.

The frameworks are the reasoning. src/tools/sources.ts is the map — where each record lives, how to reach it, and the specific way it lies. Every access pattern and trap in it was measured live against the agency's own endpoint while building a real two-metro property and review corpus, not recalled from training data.

The tools

Start with data_source_atlas. It is the one that changes what the rest are worth.

ToolWhat it does
`data_source_atlas`Given a real question and a place, returns a source-first research plan: which public record settles it, how to reach it, and what the public record cannot answer at all. Handles the jurisdictional fork (does this state even record sale prices?) before anything else.
what_we_have_for_youThe front door as a tool. brickandmortar.dev is organised by who you are — 18 roles, each a shelf of datasets, bring-your-file tools, the one-address lookup and fixed-fee engagements. Returns the roles, or one role's shelf with each card tagged by which tool here answers it. Read live off the page's feed (/connect/roles.json); no price or count is typed here.
twin_cities_lookupOne address in the seven-county metro → land use, build year, assessed value, last recorded sale, MPCA file, the parcels that touch it. Each field a value or a miss with its reason.
business_teardownFull structured teardown of one named business — presence, review signal, competitive position, pricing posture, visibility gaps, prioritized evidence-cited recommendations.
competitor_landscapeMaps the local competitive set: true competitors vs. adjacent players, positioning matrix, saturation signals — corroborated against an administrative establishment count, not just map results.
review_intelligenceMines public reviews: complaint taxonomy, theme extraction, sentiment trajectory, red flags for buyers. Rates, never raw counts.
local_visibility_auditLocal search presence audit: map-pack factors, listing consistency, category selection, site fundamentals — a scored checklist.
pricing_benchmarkA defensible local pricing comparison, including how to normalize across bundles and what to do when nobody publishes prices.
broker_diligence_prepPre-diligence for brokers and buyers: SDE framing, multiple ranges, red-flag checklist, seller questions — plus the county's own record on the real property.
market_opportunity_scanGap analysis for a category × metro: underserved demand vs. a spot that is empty for a reason.
compose_reportAssembles prior tool outputs into one client-ready report, matched to the audience.
twin_cities_datasetsWhat joined public records we publish for the seven-county Minneapolis–St. Paul metro: row counts, columns, the cuts available, the counties each actually covers.
twin_cities_recordsAsks those records a question — one property or the whole market. Returns the true matching row count, six example rows, and a link to the complete file.
bring_your_documentTheir P&L, lease, comp set, address list or one claim, read against the Twin Cities record; a table citing the file behind every cell. Read, answered, dropped — nothing stored on either side.
start_an_engagementSends. Files an enquiry for a fixed-fee engagement at the price and turnaround the live page states. A person replies; nothing is quoted or charged by the server.
request_a_featureSends. Files a feature request, a data request or a correction to the person who builds this, when the server falls short of what the user wanted.

What it will not do

Stated plainly, because the boundary is the design:

  • No remote calls to us, from the nine framework tools. Every endpoint they name is reached by *your* model, directly, with your own keys. The two Twin Cities tools do call us — that is how they hand over the records — and request_a_feature posts the request you dictated to us and nowhere else.
  • No data. There is no corpus here, nothing cached, nothing to go stale.
  • No account, no telemetry about you. The only thing recorded is an aggregate per-tool call counter with no identity attached. See PRIVACY.md.
  • No claim to do financial diligence. Revenue, margin, private lease terms and the terms of a private sale are not public anywhere in the United States. The tools say so rather than substituting a proxy.

Connect it

Add the endpoint as a custom connector in Claude, or any MCP-compatible client:

https://brickandmortar.dev/mcp

Then ask something real:

"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?"

"Run a business_teardown on Mucci's Italian in Saint Paul, MN."

Run your own

npm install

npm run typecheck # tsc --noEmit npm run dev # wrangler dev — serves http://localhost:8787

wrangler dev runs against Miniflare's local KV simulation, so the usage ledger works out of the box with no Cloudflare account needed.

Verify it
# list every tool

npx @modelcontextprotocol/inspector --cli --server-url http://localhost:8787/mcp \ --method tools/list

call one

npx @modelcontextprotocol/inspector --cli --server-url http://localhost:8787/mcp \ --method tools/call --tool-name data_source_atlas \ --tool-arg question="what did this building last sell for" \ --tool-arg place="Wichita, KS"

Or drop --cli for the interactive web UI (npm run inspector). Every tool should list with an outputSchema, and a tools/call against each should return structuredContent matching it, with no isError. All of them list with readOnlyHint: true except request_a_feature and start_an_engagement, which send a message and say so.

Deploy
wrangler login                              # or set CLOUDFLARE_API_TOKEN

wrangler kv namespace create USAGE_LEDGER # once — copy the id into wrangler.jsonc npm run deploy

Ships to the free *.workers.dev subdomain — no DNS work, no paid plan.

A note on context cost

tools/list is ~43 KB (~10.8K tokens) and sits in the client's context for the whole session whether or not a tool is ever called. Most of that is the shared outputSchema serialised once per tool. If you fork this and add tools, read the comment at the top of src/tools/types.ts first — every .describe() in that schema is paid for once per tool, forever.

Repo structure

src/

├── index.ts # Worker entry — routes /, /docs, /privacy, /mcp ├── server.ts # createServer(): builds McpServer; TOOL_NAMES is the one list ├── env.ts # Env (Worker bindings/vars) type ├── middleware/ # identity resolution, KV usage ledger, policy, withPolicy seam ├── oauth/ # OAuth 2.1 discovery handlers — written, not mounted ├── tools/ │ ├── sources.ts # WHERE THE RECORDS ARE — parcel GIS, Census, state/local, reviews │ ├── federal_sources.ts # BLS series construction + six measured traps │ └── *.ts # one file per tool, sharing FrameworkPayload from types.ts └── pages/ # landing (/), docs (/docs), privacy (/privacy)

Architecture and the SDK/transport decision: ARCHITECTURE.md.

Contributing

The most valuable contribution is a measured trap. If you pull a public source and it lies to you in a way that returns a plausible number instead of an error, that belongs in sources.ts — with how you measured it and when. Access patterns rot as agencies reorganise; a correction with a date on it is worth more than a new framework.

Please don't add anything that makes the server call an external service. The no-outbound-calls property is what makes it free to run and safe to trust.

Who made this

Built by Brick & Mortar — a small team in Saint Paul that maintains real local-market corpora (county parcel records, recorded sales, review panels, federal series) for its own products. The frameworks here are what we learned building those, including the traps that silently return a plausible wrong number.

This is a gift, not a funnel. It is not a demo of a paid product, there is nothing gated, and nothing here reports back to us.

License

MIT — see LICENSE.

Ask PopNx