Free & open source ยท A project of the Center for Petty Justice

A public-records war room for Virginia journalists.

Tell it the story you're chasing. It maps the government paper trail, drafts legally precise FOIA requests, tracks every statutory deadline โ€” and when an agency stonewalls, it writes the fight, all the way to the courthouse. Running privately on your own computer.

No download ยท No servers ยท No accounts ยท No fees ยท The install is a message you send to Claude
dashboard.html โ€” your requests, your machine
FOIAMCP ยท Request Tracker
regenerated this morning ยท 6 requests
TODAY: 1 violation to escalate ยท 1 rebuttal deadline (Aug 5) โ€” click any blue sentence to copy it, then paste it to Claude
2
Awaiting response
1
Overdue โ€” violation
2
In escalation
1
Fulfilled
Story / recordsAgencyStatusClockNext step โ€” say this to Claude
Tsunami cameras โ€” installation & maintenance logsRichmond DPWOVERDUE ยท DAY 9/5VIOLATION โ€” no response"Send DPW the overdue notice"
Tsunami cameras โ€” POs, invoices, contractsRichmond ProcurementDENIED ยท FIGHTINGRebuttal reply due Aug 5"Any word from Procurement?"
Tsunami cameras โ€” FEMA/VDEM grant applicationsRichmond OEMAWAITING ยท DAY 3/5Due Aug 4Nothing yet โ€” nudge on day 5
Sheriff overtime โ€” comp policiesHenrico SheriffFULFILLEDClosed Jul 14โ€”
How it works

No commands. No legal training. You just talk.

FOIAMCP runs inside Claude on your own computer โ€” it's a toolkit of Virginia FOIA law, battle-tested letter templates, and a deadline engine that counts in working days, the way the statute does. You work it like a colleague at the news desk, and steer from a dashboard that always tells you what to say next.

1.

Describe the story

It maps the paper trail: which records exist, which agency holds each one, what each proves, and the smart order to ask โ€” money records first.

"I want to look into why Richmond bought tsunami cameras"
2.

Send what it drafts

Statute-correct request emails, addressed to the right FOIA officers, with fee protection built in. You review and send from your own email โ€” it never sends anything.

"Draft the requests for the money records"
3.

Report what happens

Every event updates the legal clock and the dashboard. Silence past the deadline isn't just rude โ€” it's a violation, flagged the morning it happens.

"They denied it โ€” 'critical infrastructure,' they say"
When they stonewall

The fight ladder: one honest step at a time.

Agencies deny because denial usually works โ€” most reporters stop at the first "no." FOIAMCP makes each escalation nearly free, with the documents already written. Most fights end on rung one or two.

Rung 1

Rebuttal letter

Dismantles each cited exemption โ€” scope, procedure, segregation โ€” with the statute doing the talking. Sets a cure deadline.

Rung 2

FOIA Council opinion

A free advisory opinion from a state body. No lawyer needed. Agencies rarely defy the Council โ€” this rung ends most fights.

Rung 3

Court petition

A fill-in Petition for Mandamus for your local General District Court, plus affidavit, exhibits, filing checklist, and hearing prep.

Why the fight is winnable

Virginia law was built for you. Most people just can't afford to use it.

5 working days

An agency must respond โ€” records, a specific written exemption per record, or "no records." Silence is a violation.

Va. Code ยง 2.2-3704(B)
7 days to a hearing

FOIA petitions jump the court queue. File Monday, stand before a judge within the week.

ยง 2.2-3713(C)
Their burden, not yours

In court, the agency must prove the exemption applies. Records are presumed open; exemptions are construed narrowly.

ยง 2.2-3713(E) ยท ยง 2.2-3700(B)
They pay if you win

Substantially prevail and the agency owes your costs and reasonable attorney fees. Willful violations bring personal fines of $500โ€“$2,000.

ยง 2.2-3713(D) ยท ยง 2.2-3714
Get FOIAMCP

No download. The install is a message you send to Claude.

FOIAMCP lives at this site as plain text files. You paste one message into Claude, and your Claude does the rest โ€” it checks that it's in the right place (and patiently walks you there if it isn't), fetches the toolkit, assembles it in a folder on your computer, and sets itself up. You always get the newest version, and you can't really do it wrong.

1 ยท Copy the message below

One click on the gold button. That message contains the entire install โ€” there is nothing else to download or figure out.

2 ยท Paste it into Claude

Best place: the Claude desktop app (claude.ai/download), in a Cowork chat with an empty FOIAMCP folder connected. Not sure what any of that means? Paste it anywhere you talk to Claude โ€” Claude will stop, explain, and walk you to the right place one step at a time.

3 ยท Follow along

Claude asks your name, outlet, and county (they go on your request letters), builds your dashboard, and shows you how to open and bookmark it. Ten minutes, start to finish.

The install message
Hi Claude โ€” I want to install FOIAMCP, a free, open-source Virginia FOIA
toolkit for journalists from the Center for Petty Justice (foiamcp.com).

IMPORTANT โ€” HOW TO TREAT ME: assume I am not technical at all. Be my guide.
Go ONE step at a time, explain where to click in plain English, wait for me
to say I've done each thing before moving on, and never use jargon, file
paths, or technical terms. If anything goes wrong, tell me calmly what to
do next โ€” never leave me stuck.

STEP 0 โ€” CHECK THIS CHAT BEFORE ANYTHING ELSE.
FOIAMCP must be installed into a folder on my computer, which means you
need to be able to create files there. Check honestly which situation
we're in:

  (a) You CANNOT create files on my computer in this chat โ€” for example,
      this is a regular claude.ai chat, or the mobile app. Then STOP.
      Do not pretend to install, and do not improvise a workaround.
      Say: "This chat can't reach your files โ€” let's get you to the right
      place. It takes about five minutes." Then walk me through the
      following, one step at a time, waiting for my confirmation each time:
        1. Install the Claude desktop app from claude.ai/download and sign
           in with this same account. (Ask first โ€” I may already have it.)
        2. Create an empty folder called FOIAMCP inside my Documents
           folder. Explain exactly how, for Windows and for Mac, and ask
           which one I'm on.
        3. In the Claude desktop app, start a NEW conversation in Cowork โ€”
           the mode where Claude can work with folders on my computer โ€”
           and when it asks, connect my new FOIAMCP folder.
        4. Paste this same message into that new conversation. If I've
           lost the message, tell me to get it again at foiamcp.com.
      Then wish me luck and end โ€” the install will continue in the new
      conversation. Do NOT attempt any of the later steps from this chat.

  (b) You CAN create files here, but no folder of mine is connected yet.
      Then ask me to connect one before continuing: suggest I first create
      an empty folder called FOIAMCP in Documents, then explain exactly
      where to click in this app to connect it. Wait until you can
      actually see the folder. Do not continue without it.

  (c) A folder of mine IS connected. Confirm it with me in one line โ€”
      "I'll set up FOIAMCP inside your folder called <name>, okay?" โ€”
      and once I agree, continue below. If the folder already contains a
      FOIAMCP install, offer to update it instead (refresh the toolkit
      files but never touch anything in its data folder).

STEP 1 โ€” FETCH THE PARTS LIST. Fetch https://foiamcp.com/pkg/manifest.txt
โ€” it lists every file in the toolkit, one relative path per line. Tell me
in one friendly line what you're about to do ("Now I'll fetch the toolkit
โ€” about 25 small files, takes a minute or two").

STEP 2 โ€” FETCH AND SAVE EVERY FILE. For each path in the manifest, fetch
https://foiamcp.com/pkg/<path> and save it into my folder at exactly that
relative path, creating subfolders as needed. Save the contents VERBATIM โ€”
do not summarize, reformat, or "improve" anything; these files contain
legal language that must stay exact. No need to narrate every file.

STEP 3 โ€” VERIFY. Confirm every file in the manifest was saved and none are
empty. Quietly retry anything that failed. If fetching doesn't work at all,
stop and tell me to use the zip download at foiamcp.com instead โ€” and
explain how: download it, right-click โ†’ Extract All (Windows) or
double-click (Mac) into Documents, then come back and tell you.

STEP 4 โ€” CONFIGURE. Read CLAUDE.md in the folder โ€” that's your job
description when working with me. Then:
  a. Save the skill defined in cowork/foia-skill.md (keep the name
     "foiamcp" and its content exactly as written) so you remember this
     role in all my future chats.
  b. Run the first-time setup described in CLAUDE.md: ask me for my
     details one question at a time, create my profile and an empty
     request list, and generate my dashboard file.

STEP 5 โ€” SHOW ME MY DASHBOARD. Tell me exactly how to open it by clicking
(open my FOIAMCP folder, open the folder inside called "data", double-click
"dashboard.html") and suggest I bookmark it in my browser. Ask me to
confirm I can see it before finishing.

STEP 6 โ€” HAND OFF. Finish with one short, non-technical paragraph: how to
use you day to day (I just talk to you โ€” "I want to look into...", "they
denied it", "what's on my plate?"), how you'll brief me each time I open a
chat with this folder, and what I should say to start my first story.
Full step-by-step instructions โ€” including day-to-day use and troubleshooting โ€” are on the Guide page. Prefer a file? Download the zip โ€” same toolkit. Or grab the source on GitHub.
What on earth is an "MCP"?
Fair question โ€” the name is a souvenir from the AI world. MCP stands for Model Context Protocol, an open standard that lets AI assistants like Claude safely work with files and tools on your computer. It's the plumbing that makes a toolkit like this possible: your AI gets hands, your files stay yours. You never need to think about it again โ€” just enjoy that "FOIAMCP" is fun to say out loud.
What does it cost?
Nothing, ever. MIT licensed, open source. You need the Claude app (free tier works; a paid plan is better for daily use).
Where does my data live?
In a folder on your computer. No servers, no accounts, nothing leaves your machine unless you hit send. Your requests are your notebook โ€” see SECURITY.md in the download.
Is this legal advice?
No. FOIAMCP explains the law and prepares documents; it isn't a lawyer. Court documents carry a recommend-a-lawyer note, and the Virginia Coalition for Open Government (opengovva.org) can point journalists to free help.
I'm not in Virginia.
Virginia is the pilot. The law pack is a swappable module โ€” more states are planned, and contributions from media lawyers and reporters elsewhere are very welcome on GitHub.