MCP server for Virginia state and local public data — parcels, zoning, jurisdictions, addresses, landmarks, roads, monitored environmental sites, and the Code of Virginia. Every answer carries its sources, retrieval dates, and coverage.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio · streamable-http · http counts 0 tools · 0 res
· 0 prompts
permission surface via code analysis
No tools enumerated yet for this server.
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit bce064e · analyzer v33 · 4d ago
skills & prompt files 6
- skill pranava0x0-Commonwealth-MCP-bce064e/plugins/commonwealth-mcp/skills/code-topic-walk/SKILL.md
- skill pranava0x0-Commonwealth-MCP-bce064e/plugins/commonwealth-mcp/skills/coverage-check/SKILL.md
- skill pranava0x0-Commonwealth-MCP-bce064e/plugins/commonwealth-mcp/skills/federal-site-screen/SKILL.md
- skill pranava0x0-Commonwealth-MCP-bce064e/plugins/commonwealth-mcp/skills/parcel-zoning-screen/SKILL.md
- skill pranava0x0-Commonwealth-MCP-bce064e/plugins/commonwealth-mcp/skills/site-context-screen/SKILL.md
- skill pranava0x0-Commonwealth-MCP-bce064e/plugins/commonwealth-mcp/skills/whose-government/SKILL.md
danger signals1
- suspicious endpoint 93.184.216.34 pranava0x0-Commonwealth-MCP-bce064e/tests/core/test_egress.py :57
"https://93.184.216.34/x")
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 119
filesystem 41
- fs (weak) pranava0x0-Commonwealth-MCP-bce064e/examples/_common.py :16
from pathlib import Path - fs pranava0x0-Commonwealth-MCP-bce064e/src/commonwealth/cli/__main__.py :12
from pathlib import Path - fs pranava0x0-Commonwealth-MCP-bce064e/src/commonwealth/cli/configure.py :21
import shutil - fs pranava0x0-Commonwealth-MCP-bce064e/src/commonwealth/core/audit.py :13
from pathlib import Path - fs pranava0x0-Commonwealth-MCP-bce064e/src/commonwealth/core/jurisdiction.py :15
from pathlib import Path - fs pranava0x0-Commonwealth-MCP-bce064e/src/commonwealth/core/registry.py :17
from pathlib import Path - fs pranava0x0-Commonwealth-MCP-bce064e/src/commonwealth/core/results.py :39
import shutil - fs pranava0x0-Commonwealth-MCP-bce064e/src/commonwealth/core/skills.py :18
from pathlib import Path - fs pranava0x0-Commonwealth-MCP-bce064e/src/commonwealth/evals/loader.py :11
from pathlib import Path - fs pranava0x0-Commonwealth-MCP-bce064e/src/commonwealth/evals/runner.py :14
from pathlib import Path - fs (weak) pranava0x0-Commonwealth-MCP-bce064e/src/commonwealth/fixtures.py :17
from pathlib import Path - fs pranava0x0-Commonwealth-MCP-bce064e/src/commonwealth/runtime.py :7
from pathlib import Path
show 28 more
- fs (weak) pranava0x0-Commonwealth-MCP-bce064e/tests/conftest.py :13
from pathlib import Path - fs (weak) pranava0x0-Commonwealth-MCP-bce064e/tests/core/test_egress.py :218
from pathlib import Path - fs (weak) pranava0x0-Commonwealth-MCP-bce064e/tests/core/test_registry.py :133
import shutil - fs (weak) pranava0x0-Commonwealth-MCP-bce064e/tests/servers/civic/test_meetings_scope.py :7
from pathlib import Path - fs (weak) pranava0x0-Commonwealth-MCP-bce064e/tests/servers/civic/test_meetings_security.py :11
import pathlib - fs (weak) pranava0x0-Commonwealth-MCP-bce064e/tests/servers/civic/test_meetings_unit.py :8
import pathlib - fs (weak) pranava0x0-Commonwealth-MCP-bce064e/tests/test_cli_configure.py :11
from pathlib import Path - fs (weak) pranava0x0-Commonwealth-MCP-bce064e/tests/test_codex_round_1.py :11
from pathlib import Path - fs (weak) pranava0x0-Commonwealth-MCP-bce064e/tests/test_evals.py :11
from pathlib import Path - fs (weak) pranava0x0-Commonwealth-MCP-bce064e/tests/test_examples.py :11
from pathlib import Path - fs (weak) pranava0x0-Commonwealth-MCP-bce064e/tests/test_freshness.py :261
from pathlib import Path - fs (weak) pranava0x0-Commonwealth-MCP-bce064e/tests/test_plugin_bundle.py :9
from pathlib import Path - fs (weak) pranava0x0-Commonwealth-MCP-bce064e/tests/test_repo_health.py :6
from pathlib import Path - fs (weak) pranava0x0-Commonwealth-MCP-bce064e/tests/test_site_data.py :6
from pathlib import Path - fs (weak) pranava0x0-Commonwealth-MCP-bce064e/tests/test_skills.py :15
from pathlib import Path - fs (weak) pranava0x0-Commonwealth-MCP-bce064e/tests/test_toolsnaps.py :10
from pathlib import Path - fs (weak) pranava0x0-Commonwealth-MCP-bce064e/tests/test_upstream_audit.py :14
from pathlib import Path - fs (weak) pranava0x0-Commonwealth-MCP-bce064e/tests/test_writing_lint.py :12
from pathlib import Path - fs pranava0x0-Commonwealth-MCP-bce064e/tools/build_jurisdictions.py :40
from pathlib import Path - fs pranava0x0-Commonwealth-MCP-bce064e/tools/build_site.py :22
from pathlib import Path - fs pranava0x0-Commonwealth-MCP-bce064e/tools/build_third_party_data.py :21
from pathlib import Path - fs pranava0x0-Commonwealth-MCP-bce064e/tools/check_prose_local.py :13
from pathlib import Path - fs pranava0x0-Commonwealth-MCP-bce064e/tools/check_writing.py :41
from pathlib import Path - fs pranava0x0-Commonwealth-MCP-bce064e/tools/digest_hn_threads.py :22
from pathlib import Path - fs pranava0x0-Commonwealth-MCP-bce064e/tools/fetch_mcp_registry.py :26
from pathlib import Path - fs pranava0x0-Commonwealth-MCP-bce064e/tools/search_github.py :28
import shutil - fs pranava0x0-Commonwealth-MCP-bce064e/tools/search_hn.py :28
from pathlib import Path - fs pranava0x0-Commonwealth-MCP-bce064e/tools/search_reddit.py :37
from pathlib import Path
1 more not shown — this panel samples each group; the count above is the real total.
shell / exec 9
- shell (weak) pranava0x0-Commonwealth-MCP-bce064e/tests/test_cli_configure.py :9
import subprocess - shell (weak) pranava0x0-Commonwealth-MCP-bce064e/tests/test_codex_round_1.py :9
import subprocess - shell (weak) pranava0x0-Commonwealth-MCP-bce064e/tests/test_codex_round_3.py :468
import subprocess - shell (weak) pranava0x0-Commonwealth-MCP-bce064e/tests/test_examples.py :9
import subprocess - shell (weak) pranava0x0-Commonwealth-MCP-bce064e/tests/test_repo_health.py :344
import subprocess - shell (weak) pranava0x0-Commonwealth-MCP-bce064e/tests/test_writing_lint.py :10
import subprocess - shell pranava0x0-Commonwealth-MCP-bce064e/tools/check_prose_local.py :15
import subprocess - shell pranava0x0-Commonwealth-MCP-bce064e/tools/check_writing.py :704
import subprocess - shell pranava0x0-Commonwealth-MCP-bce064e/tools/search_github.py :29
import subprocess
network 15
- net pranava0x0-Commonwealth-MCP-bce064e/src/commonwealth/adapters/arcgis.py :16
from urllib.parse import urlparse - net pranava0x0-Commonwealth-MCP-bce064e/src/commonwealth/adapters/base.py :18
from urllib.parse import urlparse - net pranava0x0-Commonwealth-MCP-bce064e/src/commonwealth/adapters/virginia_law.py :147
These reach `httpx.URL` as path segments, and httpx resolves what it - net pranava0x0-Commonwealth-MCP-bce064e/src/commonwealth/cli/__main__.py :14
from urllib.parse import urlparse - net pranava0x0-Commonwealth-MCP-bce064e/src/commonwealth/core/egress.py :18
import socket - net pranava0x0-Commonwealth-MCP-bce064e/src/commonwealth/core/results.py :46
from urllib.parse import urlparse - net (weak) pranava0x0-Commonwealth-MCP-bce064e/tests/core/test_egress.py :214
# These drive the real fetcher through httpx.MockTransport, so they exercise - net pranava0x0-Commonwealth-MCP-bce064e/tools/build_jurisdictions.py :38
import urllib.parse - net pranava0x0-Commonwealth-MCP-bce064e/tools/build_site.py :974
from urllib.parse import urlparse - net pranava0x0-Commonwealth-MCP-bce064e/tools/fetch_mcp_registry.py :25
import urllib.parse - net pranava0x0-Commonwealth-MCP-bce064e/tools/fetchlib.py :11
import urllib.error - net pranava0x0-Commonwealth-MCP-bce064e/tools/search_github.py :32
import urllib.parse
show 3 more
- net pranava0x0-Commonwealth-MCP-bce064e/tools/search_hn.py :27
import urllib.parse - net pranava0x0-Commonwealth-MCP-bce064e/tools/search_reddit.py :35
import urllib.parse - net pranava0x0-Commonwealth-MCP-bce064e/tools/upstream_audit.py :39
from urllib.parse import urlparse
secrets 1
- secrets pranava0x0-Commonwealth-MCP-bce064e/tools/search_reddit.py :54
secret = os.environ.get("REDDIT_CLIENT_SECRET")
declared dependencies 4
- mcp@==2.1.1
- httpx@==0.28.1
- pydantic@==2.13.4
- pyyaml@==6.0.3