The Lawler File
Buy me a coffee

Read me first

An investigation you don't have to trust.

This is a fully-sourced investigation into who funds and directs Rep. Mike Lawler (NY-17), built entirely from his own public records. Every claim links to a primary source you can check yourself. Here is what's here and where to start.

Built from FEC filings, House roll calls and disclosures, DOJ FARA, state records, and the Internet Archive. Nothing here alleges a crime; where money and votes align, it is shown as documented chronology, not proof of an exchange.

The data feed · open to anyone

Query the recordfrom your own tools

The entire investigation, 160 findings and the FEC money behind them, runs as a live MCP server. Point Claude, a script, or any Model Context Protocol client at one URL and ask it questions in plain language, every answer grounded in the same primary sources on this site.

Endpoint
/api/mcp
Tools
9
Findings
160
Money entities
768

Connect it in one line

The fastest path is Claude Code or Claude Desktop. Run this, then just ask.

claude mcp add --transport http lawler-dossier \
  https://lawler.cash/api/mcp

Any MCP client works. The raw endpoint speaks JSON-RPC 2.0 over HTTP, no key required:

curl -s https://lawler.cash/api/mcp \
  -X POST -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
       "params":{"name":"verification_ledger","arguments":{}}}'

Who it’s for

Reporters

Ask “what did the fact-check hold back, and why?” before you publish. Pull the exact primary sources behind any claim so you can confirm it yourself, then cite the originals, not this site.

Researchers

Slice the corpus programmatically: every finding by beat, severity, and verdict, plus the 768-entity FEC money index, as structured data you can load into a notebook or a model.

Builders

It is a standard MCP endpoint. Wire it into an agent, a chatbot, or a research tool and let your users query the record in plain language, grounded in primary sources.

Things to ask it

The 9 tools

search_findings(query, publishable_only?)

Keyword search across every finding (takeaways, claims, evidence). Returns ranked results with verification status.

get_finding(id)

The full record for one finding: the claim as published, evidence, primary sources, caveats, how-to-verify steps, and the fact-checker’s notes.

list_findings(beat?, severity?, status?, publishable_only?)

Filter the corpus by research beat, severity, verification status, or the publishable flag.

list_beats(—)

The 13 research beats with finding counts and verification stats.

verification_ledger(—)

The discipline record: totals by status and exactly what was held back, and why. Proof the method is kill-or-confirm, not cherry-pick.

search_money(query, type?)

Search the FEC money index behind the $16.7M — 768 entities (PACs, firms, donors, industries) with amounts and what the money bought.

list_dossier_sections(—)

The table of contents of the full narrative dossier.

get_dossier_section(id)

The full text of any dossier section.

methodology(—)

How the corpus was built and verified: the sources, the adversarial fact-check pipeline, and the publishability standard.

A note on trust. This feed is a convenience, not the authority. Every tool answer points back to a public primary source: an FEC filing, a House roll call, a disclosure, a court or registry record. The intended workflow is to use it to find the receipt, then go read the receipt. That is also the standard this whole project holds itself to.