Lodestar Stamp

Dated, source-linked receipts before an agent recommends or books. Facts on the record. Lodestar does not approve the booking. Remote Streamable HTTP MCP at https://api.lodestarindex.com/mcp - Chicago restaurants and HVAC coverage; draft-v0.7 multimodel pilot on the free tier.

Hosted MCP Server

npx add-mcp 'https://api.lodestarindex.com/mcp'

Installs into Claude Code, Codex, Cursor and more

Documentation

Connect an assistant in one minute

The live MCP path is Streamable HTTP at https://api.lodestarindex.com/mcp. Unkeyed initialize, tools/list and tools/call already work. Optional stdio: npx -y lodestar-stamp-mcp (pin lodestar-stamp-mcp@0.1.11).

Do not paste https://lodestarstamp.com/.well-known/mcp.json into Cursor or Claude as the MCP server. That file is a Trust API discovery card, not an MCP endpoint.

Cursor ~/.cursor/mcp.json (or project .cursor/mcp.json):

{
  "mcpServers": {
    "lodestar-stamp": {
      "url": "https://api.lodestarindex.com/mcp"
    }
  }
}

Claude Desktop / Claude Code mcp.json:

{
  "mcpServers": {
    "lodestar-stamp": {
      "type": "http",
      "url": "https://api.lodestarindex.com/mcp"
    }
  }
}

Optional stdio instead of HTTP: {"command":"npx","args":["-y","lodestar-stamp-mcp@0.1.11"]}. Add to Cursor — official Cursor install deeplink for that stdio package.

Then ask it something a person would ask before booking, for example: "Before I book, check the record for Fox's Beverly Pub on S Western Ave in Chicago." The assistant calls find_business to locate the business by name or street, then get_receipt for the dated facts: real, at that address, licensed, and for a restaurant the health inspection, each with the register it came from and the day we looked. It says what the record says. It does not approve the booking.

Tools: find_business (part of a name or street, alphabetical matches, never a receipt), get_receipt (by domain, phone, licence or address), list_sources / list_gaps (the same lookup, projected), batch_receipts (a shortlist of up to twenty domains in one call, in the order asked), list_markets.

Ten minutes, start to finish

  1. Read https://lodestarstamp.com/llms.txt. It tells an agent what this record is and how to use it.
  2. GET https://lodestarstamp.com/.well-known/mcp.json and copy endpoints.trust.
  3. Replace {domain} with a covered domain (for example oasisheating.com) and GET that URL. That is the request-time receipt. Do not substitute the published /index.json snapshot.
  4. Read receipt.fields. verified is what we checked on that date. claimed is asserted, not checked. not_published is not a verification. Then you decide. We do not.

Optional header, never required: X-Lodestar-Consumer: my-agent, a name you choose. It counts integrations and does not change the receipt.

From Cursor or any coding agent, the same loop as a cloneable transcript: check before you book — batch a shortlist, verify the signature, read the fields, then decide.

From Cursor or any coding agent

Fetch those three URLs. No plugin, no key. The file at /.well-known/mcp.json is a Trust API discovery card, not a Cursor MCP server and not OAuth metadata, so do not add it under Customize as MCP and do not treat it as an authorization server. Call endpoints.trust, read receipt.fields, then decide. The live MCP connect URL is https://api.lodestarindex.com/mcp; optional stdio is npx -y lodestar-stamp-mcp or Add to Cursor.

One-liner

GET the card, then GET endpoints.trust with oasisheating.com in place of {domain}.

python3 -c 'import json,urllib.request; h={"User-Agent":"my-agent (Lodestar integration)","X-Lodestar-Consumer":"my-agent"}; c=json.load(urllib.request.urlopen(urllib.request.Request("https://lodestarstamp.com/.well-known/mcp.json",headers=h))); u=c["endpoints"]["trust"].replace("{domain}","oasisheating.com"); r=urllib.request.Request(u, headers=h); print(urllib.request.urlopen(r).read().decode())'

Trimmed example response

{
  "api": "v1-draft-3",
  "draft": true,
  "independence": "Payment never touches the record. Receipts are free and public for every business.",
  "attribution": "Lodestar Stamp (lodestarstamp.com)",
  "payment_never_touches_record": true,
  "business": {
    "name": "Oasis Plumbing, Heating & Cooling",
    "domain": "oasisheating.com",
    "market": "chicago-hvac"
  },
  "receipt": {
    "fielded_on": "2026-08-24",
    "fields": {
      "real": { "state": "verified", "verified_on": "2026-08-24", "expires_on": "2026-11-22" },
      "at_that_address": { "state": "claimed" },
      "licensed": { "state": "verified", "verified_on": "2026-08-24", "expires_on": "2026-11-22" }
    }
  }
}

How to read a field

Each field that has an instrument is a small envelope: state, value, instrument, source_url, verified_on, expires_on, confidence. Fields vary by market: real, at_that_address, licensed, and restaurant inspection evidence where published. An absent key is coverage, not a fact about the business.

verified We checked this on verified_on, through expires_on, from the named instrument.

claimed The business asserted this. We have not checked it.

unverifiable We looked. The instrument cannot settle it.

not_published Not a verification. A held row and a never-looked row look the same on purpose.

If the business is not in this edition you get HTTP 404. Covered domains are listed at endpoints.index on the same card. https://lodestarstamp.com/index.json is a published edition snapshot: it is not the request-time receipt and it is not a signed API envelope. If you read a snapshot field, treat verified as live only while expires_on is still in the future; a past or missing expiry is stale — stop.

Do not

  • Do not treat a 200 as approval to book.
  • Do not order businesses against each other from this payload. It carries no such field, on purpose.
  • Do not pay us to move a field. Payment never touches the record.

Price

Every receipt is free to read here and by single lookup, key or no key. Agents and platforms can request a trial key. Proposed paid terms are $0.05 a receipt read or a monthly volume tier ($50 per thousand reads, $500 monthly minimum), subject to a separate commercial agreement. Automatic paid conversion and usage billing are not enabled. Send the key as X-Lodestar-Key; it never gates or changes an answer, it tags the read on our counter. Request trial access for metered keys and commercial terms.

Contact: watch@lodestarstamp.com · @LodeStarStamp