openOM
spec 0.1MIT MCP + Chrome
An open standard for machine-readable offering memoranda

Make your deal legible to the buy-side's AI.

openOM embeds a broker-asserted data payload inside the offering memorandum itself. The PDF looks exactly the same to people - and every AI assistant, CRM, and analyst can read the whole deal in seconds.

One file · two readers
SAME PDF
OFFERING MEMORANDUM

Example Retail - Single-Tenant Net Lease

1000 Example Rd · Sampleville, MI 48000
Asking Price$1,850,000
Cap Rate6.25%
NOI (in-place)$115,625
Lease TypeAbsolute NNN
Lease ExpirationApril 30, 2034
Options4 × 5 Years
EXAMPLE NET LEASE ADVISORS · CONFIDENTIAL · SAMPLE
Embedded payload · om.json
{
  "specVersion": "0.1",
  "assertedBy": "Example Net Lease Advisors",
  "assertedDate": "2026-08-15",
  "askingPrice": 1850000,
  "capRate": 0.0625,
  "noi": 115625,
  "noiType": "in-place",
  "leaseTypeAsserted": "NNN",
  "expiration": "2034-04-30",
  "options": "4 x 5yr",
  "rentSchedule": [ … ]
}
hash verified · math checks pass · read in one call
this exact PDF is real - download it, then drop it into the verifier Download the sample OM Verify it yourself →
The math
40 pages → ~3k tokens

What an AI reads instead of running vision over the entire OM.

1 extraction, ∞ reads

The listing broker extracts once. Every buyer, lender, and agent downstream just reads.

0 API keys

The server runs no model. Your assistant does the reading - on your plan, not our meter.

How it works

Three steps. Nothing about your OM changes.

STEP 1

Generate

Export the OM exactly the way you already do - InDesign, Word, Buildout. Same design, same file.

your workflow, untouched
STEP 2

Embed

Your AI drafts the data. You review every field, the validator checks the math, and you click Assert & Embed.

you approve every number
STEP 3

Rehost

Post the embedded file back where your OM lives. Every reader from now on gets the data layer for free.

repriced? re-embed in one click
Who it's for

Four ways in.

Two surfaces

For every AI. For every human in the deal.

MCP server

Plug it into any assistant

Six deterministic tools. No inference on our side - your model, your subscription. Free; hosted grounding endpoint + fully self-hostable.

om_readom_inspectom_validateom_embedom_extract_textom_extract_images
public grounding endpoint (om_read + om_validate, serverless) · https://mcp.openom.app/mcp · self-host om-mcp for all six
  • One call, whole deal. om_read returns the payload - price, cap, NOI, rent schedule - instantly.
  • Hash-verified. Tampered payloads fail loudly before your model ever sees them.
  • Validator built in. Catches an OM contradicting its own math before it ships.
WORKS IN - Claude · ChatGPT · Gemini · Copilot · Claude Code · Cursor · local models - any MCP client. Grounding guide →
Chrome extension

Sees the data layer everywhere

One extension, two jobs - whichever side of the deal you're on.

If you list
Embed in one click

It catches your OM as it downloads, drafts the fields, and opens a review panel. Approve, embed, rehost. A private on-device option means the document never leaves your machine. Prefer no install? Embed one in your browser. Broker guide →

If you buy
Know before you read

The icon lights up when a PDF carries a payload. Open the deal card - price, cap, NOI, term - in seconds. Then push it anywhere with a webhook. Portal guide →

Built on a simple honesty

Assertions, not scraped guesses.

Signed by the source

Every payload names who asserted it and when - broker, brokerage, license, date - and carries a tamper-evident hash.

Checks its own math

NOI ÷ price against the stated cap rate. Rent schedules that actually sum. Dates that add up. Flagged before embed, not after close.

Says which NOI

In-place or pro-forma is a required field, not a footnote - the disclosure most deal arguments are actually about.

Takes no position on value

The OM is your opinion of the deal - the standard keeps it that way. Verified means provenance, not truth.

Questions

Frequently asked

What is openOM?

openOM is an open (MIT) standard and toolchain that embeds machine-readable, broker-asserted, hash-verified data inside commercial real estate offering memorandum PDFs, and mirrors the same payload as JSON-LD on the web. Data is extracted once at the source and consumed cheaply everywhere.

Is openOM data verified to be true?

No. An offering memorandum is an advertisement - a broker's opinion of value. openOM records who asserted the data, that it is unaltered, and as of when. Verified means provenance, not truth; openOM never claims the opinion is correct.

Is openOM free?

Yes. The standard, schema, and reference toolchain are free and open source under the MIT license (the spec under CC-BY-4.0). Everything deterministic is self-hostable at no cost.

How do I read openOM data with an AI agent?

Point your MCP client at an openOM server and read the broker-asserted, hash-verified payload via om_read - a deterministic ground truth instead of hallucination-prone PDF extraction.

Does openOM use AI or inference?

The engine, server, and consumer tooling contain zero inference - they are fully deterministic and testable. Optional AI assists only the authoring step, on-device or client-side, and a human reviews every assertion before it is embedded.