Skip to main content
Glama
jordanskole

blue-ribbon-properties

by jordanskole

blue-ribbon-properties

Produces a data layer: one card per Michigan vacant parcel, so that tradeoffs between parcels can actually be seen.

Seeded 2026-08-27 from the "Cabins, Cottages, Vacation Property" project, and specifically from Property_MiddleBranchRiver_N20thAve.md (a.k.a. 14_n_20th_ave) — the parcel where the most valuable thing on the property was a moss-covered pipe running 46 °F water by itself, and where that fact was discovered late, from a photograph, after the file was already written.

⭐ What this repo is, in one line

Every property is a bundle of tradeoffs, and tradeoffs are impossible to make in the absence of information. This repo does not weigh parcels against each other — it builds a card for each one, in the same shape every time, so a human can.

It is a data layer, not an evaluator. It measures; it does not conclude. The verdict — is this the one, and at what price — lives one layer up, in the parent project, where opinions are allowed to change without anyone re-running a pipeline.

Related MCP server: mcp-tabular

Read in this order

File

What it is

00_OBJECTIVE.md

Start here. What we are hunting (aquifers), why trout are a proxy and not the goal, ⭐ the two-layer split and the card, and what to build first

01_VACANT_LAND_CRITERIA.md

The spec. What has to go on the card, and why — plus the funnel that populates it. ⚠️ A requirements document, not a scoring rubric

02_MICHIGAN_GIS_DATA_SOURCES.md

Every Michigan-specific source, endpoint, and known gotcha. What the implementation is built against

03_BLUE_RIBBON_STREAMS.md

The 62 Blue Ribbon streams as a seed geography, with the caveats that keep them from becoming the objective

04_ARCHITECTURE_MCP.md

How it gets built: as an MCP server. Modeled on ~/code/bankql, with the four differences that don't transfer

Scope

In: vacant land, in Michigan, measured on physical and regulatory attributes.

Out: developed cottages, financing models, region sentiment, family preferences, rankings, scores, and recommendations. Those live in the parent project, which handles vacant land and cottages side by side.

The relationship: a parcel whose card looks interesting gets written up over there, in the Property_[Region]_[Name].md format. This repo fills in the card. That project argues about it.

Two rules that fall out of that split

  1. ⭐ Emit measurements, never verdicts. dry_acres = 6.68, not buildable = true. A verdict is a threshold someone already applied, and it destroys the information needed to apply a different one.

  2. ⚠️ Filter only on the universe, never on judgment. N 20th Ave is 17.37 acres — a defensible 20-acre floor would have silently deleted the parcel that inspired this entire repo. A judgment call is a field, not a filter.

Shape

An MCP server. packages/schema (load-bearing) → apps/etl (republish hostile public sources as columnar data) → packages/mcp (read-only DuckDB + spatial over it). The client is a Claude session working in the parent project.

⭐ MCP is not a side door here — it is the boundary between the two layers. The surface defines no tool that returns a verdict, which makes rule 1 above architectural rather than aspirational. See 04_ARCHITECTURE_MCP.md.

BankQL is SQL against the US banking system. BRP is SQL against Michigan's ground.

Status

Direction only. No implementation yet — see 00_OBJECTIVE.md §"What to build first".

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides geospatial data intelligence tools for inspecting, querying, and converting geospatial data using DuckDB Spatial.
    1
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    Enables SQL querying over CSV and Excel files using DuckDB, providing tools to load files, inspect schemas, and run read-only queries via MCP.
    5
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Read-only MCP server providing direct, credentialed access to parcel data via Regrid and county ArcGIS sources, with tools for querying by point, owner, size, and county.
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables running read-only SQL queries and exploring DuckDB databases through MCP tools like listing tables, describing schemas, and fetching paginated data.
    -