mcpField
S
Small Business Intelligence by Brick & Mortar

Small Business Intelligence by Brick & Mortar

远程服务
brickandmortar.dev商业与营销05 天前更新

关于 Small Business Intelligence by Brick & Mortar

Small Business Intelligence by Brick & Mortar 提供小型企业与商业地产研究框架及公共记录查询工具。其 Twin Cities 工具查询关联记录,其他工具则指导研究方法。

主要功能

  1. 01结构化研究计划与框架
  2. 02Twin Cities 房产和企业记录
  3. 03按地址查询公共记录
  4. 04依据本地记录分析文档
  5. 05面向不同受众整合报告

适用场景

  1. 01查找与企业问题相关的公共记录
  2. 02核查 Twin Cities 都会区的房产信息
  3. 03将提供的文档与本地记录对照
  4. 04把研究结果整理成客户报告

MCP 相关

MCP 服务向兼容客户端提供研究框架、公共记录查询、文档分析和报告工具。Twin Cities 记录工具会调用 Brick & Mortar 平台;九个框架工具不进行远程调用。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://brickandmortar.dev/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

16
参数类型必填说明
placestring是具体地理区域——'Hennepin County, MN'、'Wichita, KS'、'the 78704 ZIP'。州的影响比人们预想的更大:它决定销售价格数据是否存在。
questionstring是用通俗的话描述真正的问题,例如“Bend 还有开咖啡店的空间吗”或“412 Main 的建筑上次卖了多少钱”。不要写数据集名称;此工具旨在找出哪些记录能回答只能用英语表述的问题。
already_triedstring否你已经查看过的内容,以及它未能回答的问题(如有)。避免计划再次推荐无效路径。

详细介绍

小型企业商业智能

一个免费开源的 MCP 服务,教会任何 AI 如何调查小型企业——更重要的是,如何找到公共记录的实际所在。

其中九个工具提供的是方法论,而非数据。 每个工具都会返回一个结构严谨的框架——研究流程、输出架构、质量评估标准和陷阱——由调用模型使用自己的工具和密钥自行开展研究。这九个工具完全不会调用任何服务。

另外六个工具会访问平台。 what_we_have_for_you 是 brickandmortar.dev 以工具形式提供的入口——告诉它你做什么,就能得到适合你的工具清单。twin_cities_lookup、twin_cities_datasets 和 twin_cities_records 根据明尼阿波利斯—圣保罗七县都会区合并后的公共记录作答——包括地块和地界线、登记的成交价、业主、出租许可证、污染档案、按行业划分的企业数量、人口普查区块。询问某个地址,它们就会回答与该地址相关的信息。它们会调用我们运营的 brickandmortar.dev/api/export;这里没有任何工具会调用第三方服务。每个回答都会提供准确的行数、最多六行示例,以及完整文件的链接——绝不会内嵌文件。有关这两个工具具体会传输哪些内容以及哪些内容会被保留,请参阅 /privacy。

这种划分是刻意为之,也有明确日期:该服务最初基于“不会远程调用我们的服务”(2026-08-16)这一原则构建,而这一原则依托的论点在第二天便被弃用——合并数据才是壁垒,数据也会随工具一起提供。此说法于 2026-08-20 得到确认;那九个工具保持不变。

在线端点:https://brickandmortar.dev/mcp 无需身份验证、账号或密钥。将其添加为自定义连接器,然后提问即可。

存在的意义

能力出色的模型已经知道如何分析小型企业。它们不知道的是那些不在任何训练数据中的实际操作细节:

  • 某个县的地块几何数据在堪萨斯州以英尺为单位,在明尼苏达州以米为单位,因此硬编码的阈值会悄无声息地变成原来的三倍;
  • Esri 的 Touches 谓词返回的不是错误,而是零个相接的地块,因此相邻关系会悄然变成“此地块周围没有任何地块”;
  • 堪萨斯州从不登记成交价,因此花一小时寻找成交价,就是花一小时寻找不存在的东西;
  • Google 的 Places API 最多只返回五条评价,并按相关性排序,因此根据这些评价计算出的情感趋势,看似真实,实际却取决于别人选择的样本;
  • County Business Patterns 会抑制较小的单元格数据,因此把它们当作零,会将规模不大的市场误判为空白市场。

这些情况无一例外都会产生看似合理的错误答案,而不是直接失败。公共数据的问题正是如此,而这就是此服务的用武之地。

框架就是推理依据。src/tools/sources.ts 是一张地图——记录每条记录的所在地、访问方式,以及其中具体的误导之处。构建真实的双都会区房产和评价语料库时,我们针对相关机构自己的端点实时测量了其中的每种访问模式和陷阱,而不是从训练数据中回忆出来的。

工具

从 data_source_atlas 开始。它会改变其他工具的价值。

工具功能
data_source_atlas给定一个真实问题和一个地点,返回一份以来源为先的研究计划:哪份公共记录能解答问题、如何获取,以及公共记录完全无法回答什么。 在开展其他工作前,先处理管辖权分歧(这个州究竟会不会记录成交价?)。
what_we_have_for_you作为工具的入口。 brickandmortar.dev 按用户类型组织内容——18 种角色,每种角色都有一组数据集、可上传文件的工具、单地址查询和固定费用服务。返回角色列表,或某个角色的工具架及每张卡片对应的工具。实时读取页面的信息流(/connect/roles.json);此处不写价格或数量。
twin_cities_lookup输入七县都市区内的一个地址 → 土地用途、建成年份、评估价值、最近一次登记的成交记录、MPCA 文件、与其接壤的地块。每个字段均返回具体值,或说明缺失原因。
business_teardown对一家指定企业进行完整的结构化拆解——经营状况、评价信号、竞争地位、定价策略、曝光度缺口,以及按优先级排列且附有证据引用的建议。
competitor_landscape绘制本地竞争格局:区分真正的竞争对手与相邻经营者,提供定位矩阵和市场饱和信号,并以行政登记的经营场所数量进行佐证,而不只依赖地图结果。
review_intelligence挖掘公开评价:投诉分类、主题提取、情绪趋势、面向买家的风险信号。提供比率,不提供原始数量。
local_visibility_audit本地搜索曝光度审计:地图包排名因素、商家信息一致性、类别选择、网站基础情况——以评分清单呈现。
pricing_benchmark提供可信的本地价格比较,包括如何对不同套餐进行标准化,以及无人公开价格时该怎么办。
broker_diligence_prep为经纪人和买家准备尽职调查:SDE 分析、多重估值区间、风险信号清单、向卖方提问——以及该县针对相关不动产的记录。
market_opportunity_scan分析某个类别 × 都市区的市场缺口:尚未满足的需求,还是一个空缺自有原因的地段。
compose_report将先前工具的输出整理成一份适合客户查看的报告,并根据受众调整内容。
twin_cities_datasets介绍我们为明尼阿波利斯–圣保罗七县都市区发布的合并公共记录:行数、列、可用的筛选方式,以及每份数据实际覆盖的县。
twin_cities_records对这些记录提出问题——查询一处房产或整个市场。返回实际匹配行数、六条例行,以及完整文件的链接。
bring_your_document将客户的损益表、租约、可比项集、地址列表或某项说法,与双子城记录进行比对;生成一张表格,每个单元格都注明其依据的文件。读取、回答、丢弃——双方都不存储任何内容。
start_an_engagement发送。 按照实时页面列出的价格和交付时间,为固定费用服务提交咨询。由工作人员回复;服务端不会报价或收费。
request_a_feature发送。 当服务端无法满足用户需求时,向开发者提交功能请求、数据请求或更正意见。

它不会做什么

明确说明这一点,因为边界本身就是设计的一部分:

  • 九个框架工具不会向我们发起远程调用。 它们提到的所有端点都由你的模型直接访问,使用你自己的密钥。两个 Twin Cities 工具会调用我们——它们就是这样交付记录的;request_a_feature 会将你口述的请求发送给我们,仅此而已。
  • 不存储数据。 这里没有语料库,没有缓存内容,也没有会过时的数据。
  • 不需要账户,也不收集关于你的遥测数据。 唯一记录的是按工具统计的汇总调用次数,不包含任何身份信息。请参阅 PRIVACY.md。
  • 不声称能进行财务尽职调查。 在美国,营收、利润率、私人租约条款和私人交易条款都不对外公开。这些工具会如实说明,而不是拿替代指标充数。

连接

在 Claude 或任何兼容 MCP 的客户端中,将端点添加为自定义连接器:

https://brickandmortar.dev/mcp

然后提出一个实际问题:

“我到底该去哪里查 Saint Paul 的 1420 Grand Ave 最近一次的成交价?”

“我想知道 Wichita 是否还有空间开一家狗狗日托中心——我该查些什么?”

“对 Saint Paul, MN 的 Mucci's Italian 运行一次 business_teardown。”

自行运行

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

wrangler dev 使用 Miniflare 的本地 KV 模拟,因此无需 Cloudflare 账户,使用情况记录器也能开箱即用。

验证
# 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"

也可以去掉 --cli,使用交互式网页 UI(npm run inspector)。每个工具都应列出 outputSchema,并且针对每个工具调用 tools/call 时,都应返回与其匹配的 structuredContent,且不包含 isError。除 request_a_feature 和 start_an_engagement 之外,所有工具都应列出 readOnlyHint: true;这两个工具会发送消息,并会明确说明这一点。

部署
wrangler login                              # or set CLOUDFLARE_API_TOKEN
wrangler kv namespace create USAGE_LEDGER   # once — copy the id into wrangler.jsonc
npm run deploy

部署到免费的 *.workers.dev 子域名——无需配置 DNS,也无需付费套餐。

关于上下文成本

无论是否调用工具,tools/list 都约为 43 KB(约 10.8K 个 token),并会在整个会话期间占用客户端上下文。其中大部分是每个工具都序列化一次的共享 outputSchema。如果你 fork 这个项目并添加工具,请先阅读 src/tools/types.ts 顶部的注释——该 schema 中的每个 .describe() 都会按每个工具计费,且费用会一直产生。

仓库结构

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)

架构以及 SDK/传输方式的选择: ARCHITECTURE.md。

贡献

最有价值的贡献是经过实测的陷阱案例。如果你查询了一个公共数据源,它却以一种会返回看似合理的数字而不是报错的方式误导了你,请将其记录在 sources.ts 中,并注明你的测量方法和时间。政府机构重组时,数据访问方式也会随之变旧;带有日期的更正比新增一个框架更有价值。

请不要添加任何会让服务端调用外部服务的内容。正是因为不向外发起调用,这个服务才可以免费运行,也值得信任。

作者

由 Brick & Mortar 构建——这是一支位于 Saint Paul 的小团队,为自己的产品维护真实的本地市场语料库(县级地块记录、登记交易、评论面板、联邦数据序列)。这里的框架正是我们在构建这些产品时积累的经验,其中也包括那些会悄悄返回看似合理的错误数字的陷阱。

这是一份赠礼,不是营销入口。它不是付费产品的演示,没有任何内容需要解锁,也不会向我们回传任何信息。

许可证

MIT——请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。