⚠ Independent project, not affiliated with or maintained by the Commonwealth of Virginia⚠ Not affiliated with the Commonwealth of Virginia

View source ↗
Commonwealth-MCP seal: a cardinal on a dogwood branch, Virginia's
         state bird and flower, ringed with independent public data

Commonwealth-MCP

An MCP server for Virginia government records: parcels, zoning, addresses, jurisdiction boundaries, buildings, roads, public places, DEQ monitoring stations, and the Code of Virginia.

What you can ask

Each card links to the call that answered it.

Quick start

Four steps from an empty directory to a real answer. Nothing here needs a key, an account, or a network, except where a step is marked live.

Python 3.12 and uv. Keep the checkout: the runtime loads source manifests and skills from these directories, so it is the installation, not just its source. The package is not on PyPI yet (issue #40), so the checkout is the only path that runs.

git clone https://github.com/pranava0x0/Commonwealth-MCP.git
cd Commonwealth-MCP
uv venv --python 3.12 .venv
uv pip install --python .venv/bin/python -e . --group dev

One walk, four answers

All 39 recorded calls, grouped by what each walk demonstrates, with the full answer and the outbound HTTP for every one.

Try the jurisdiction resolver

Enter a place name or FIPS code. Try fairfax to see the city and county come back as separate candidates rather than a guess. Answers are computed from the project jurisdiction table when this page is built.

Workflows

A skill bundles several tool calls into one workflow and adds what the tools do not know: which order to ask in, and what an empty answer means at each step. Each shipped skill is on disk with its own eval tasks, and commonwealth skills list prints where they are.

Coverage

An answer that finds nothing says which kind of nothing: the records were searched and came back empty, or no source is registered for that place. The decoder defines every coverage value and warning code and names a call that produced it. Read-only throughout: this server fetches published records and submits nothing.

Where each question works

Reference

Tools

Search every callable function by name, package, or what it does, and read the description the model reads.

Sources

See what each registered government system answers, whose terms apply, and what it does not cover.

Examples

Read the full recorded trail, decode any coverage value or warning code, and try the jurisdiction resolver.