
PubLedge
io.github.snapsynapsePublished by GitHub account snapsynapsev0.2.5Updated Oct 27, 2026
Open recordkeeping protocol for JIAs, RMAs, no-action letters, and analogous instruments.
Overview
Read-only MCP server over PubLedge, an open registry of fact-specific legal instruments such as no-action letters, private rulings, JIAs and RMAs.
- What you can do
- List and retrieve legal instruments, filtered by jurisdiction, authority, type or status
- List and retrieve issuing authorities and their records
- List and retrieve obligation records and their statute mappings
- Search instruments and obligations, and fetch a record by its canonical PubLedge URL
- Read the coverage matrix, mappings, upcoming items and recently changed records
- When to use it
- Useful when an assistant needs to look up or compare written regulatory interpretations, no-action letters, private rulings or civic governance records across authorities, and cite them in a portable, structured form.
- Requirements
- Runs locally as a stdio process, installed from the npm package publedge (for example via npx with Node.js). No authentication, environment variables or headers are declared. Records are served from the publedge.org site, so network access is needed.
Installation
In SourceWeft
- Open PubLedge in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
PubLedge
[CI] [Spec] [Registry] [Content license: CC BY 4.0] [Code license: Apache 2.0] [Bound to gist]
Open recordkeeping protocol for fact-specific written interpretations between two parties — Joint Interpretation Agreements (JIAs), Regulatory Mitigation Agreements (RMAs), no-action letters, private letter rulings, advisory opinions, and analogous civic instruments (HOA decision logs, co-op governance records, flying-club asset agreements, and the like).
Plain markdown with structured frontmatter. SHA-256 manifest checks provide source-to-manifest consistency. Bound to the Semantic Arts gist upper ontology so records from different authorities can be queried together.
Public and maintained. Package v0.2.5; protocol specification v0.2.0. The MCP server supports the MCP 2026-07-28 stateless core plus the legacy 2024-11-05 handshake. Current npm, MCP Registry, GitHub tag, and GitHub Release observations are recorded in the publication state. Standalone product expansion is parked pending a concrete legal-graph or adopter demand signal.
Who this is for
Regulators, regulated parties, and civic bodies that issue or rely on fact-specific written interpretations and need them recorded in a portable, queryable form.
What problem it solves
Fact-specific interpretations (no-action letters, private rulings, JIAs, HOA decisions) live in scattered, unstructured records that can't be compared across authorities. PubLedge is an open protocol that records them as manifest-checked markdown bound to a shared ontology.
Canonical URL
Part of the PAICE legal graph
PubLedge is one component of the PAICE legal graph (with EveryAILaw, AI Incident Law, and Obligation First). It is intentionally open: code under Apache 2.0, protocol and content under CC BY 4.0, commercial use permitted with attribution. The open siblings are funded by EveryAILaw Pro, the graph's single restricted layer; openness here is a deliberate PBC-charter choice. The canonical model is in the PAICE Foundation INTENT.
What this repo is
Three things in one place:
- The protocol — the PROTOCOL.md specification and the PRIOR-ART.md survey that motivates it.
- Utah-shaped reference content — 5 JIA/RMA templates anchored to Utah's AI Policy Act (Utah Code §13-72a) and GenAI safe-harbor (§13-75-104), plus 18 demonstration instruments under
data/examples/instruments/spanning 8 authorities (Utah OAIP, Utah Legislature, Colorado Legislature, SEC, CFPB, IRS Chief Counsel, IRS TEGE, CFTC) and 7 instrument types (JIA, RMA, no-action letter, advisory opinion, private letter ruling, interpretive letter, statute). 35 first-class obligation records underdata/examples/obligations/are mapped to the instruments viadata/examples/mapping/index.yml; legal lifecycle is tracked separately from editorial maturity. - The published site — rendered HTML under
docs/, served by GitHub Pages frommain /docs. Regenerate withnode scripts/build.js && node scripts/build-extras.jsbefore committing; CI fails ifdocs/drifts from sources.
Maintenance scope
Weekly checks flag overdue records and temporal inconsistencies for human review. A separate manual pilot observes three selected official sources and retains inaccessible sources and unresolved findings. It does not renew verification dates, legal statuses, or the wider corpus. Independent missing-run monitoring and recovery email acceptance remain open. See the maintenance pilot for dated evidence and review boundaries.
Machine-readable endpoints
Every record and index is published in parallel HTML + structured form so agents can walk the registry without scraping:
What this repo is not
- Not a regulator. PubLedge does not issue rulings.
- Not a law firm. Templates here are prior art, not legal advice.
- Not a CMS. Editors edit markdown in git.
- Not a blockchain. The integrity layer is plain SHA-256 over plain files.
Quickstart
To validate the Obligation-First binding, check out snapsynapse/obligation-first beside this repo or set OBLIGATION_FIRST_DIR, then run npm run validate:of.
After intentional content edits, refresh hashes:
CI runs all of the above, plus a pa11y-ci WCAG 2.1 AA pass across every URL in the sitemap, on every push and pull request.
Use PubLedge in five minutes
Choose the surface that matches the job:
- Browse the instrument registry or open a canonical record such as the SEC CorpFin no-action letter.
- Query an index without scraping HTML:
- Fetch a record-shaped JSON representation by appending
record.jsonto its canonical record URL:
- Check the publication state for a provider-verified npm version, then add that package version to any stdio-capable client. The example below is for this package version:
- Use
searchto discover records andfetch_by_urlwhen you already have a canonical PubLedge URL. The package exposes the 13 tools listed above. The complete endpoint and capability inventories are at api/v1/index.json, agents.json, and the source-controlled publication state.
Canonical markdown under data/examples/ is the maintained source. Published HTML, API indexes, and each record.json are generated representations and should not be edited directly. Repository checkout instructions operate source code; they are not an install claim. Use the canonical publication state to select a provider-verified package.
Repository layout
The _workshop/ directory documents the design decisions behind the layout above. Read _workshop/TAXONOMY.md, _workshop/SITEMAP.md, and _workshop/CONTENT-GUIDE.md before proposing structural changes.
Contributing an instrument
- Pick template under
_templates/jia/or_templates/rma/. - Replace every
{{variable_name}}with applicable values. - Set
idto{jurisdiction}-{authority}-{type}-{YYYY-NNN}(e.g.us-ut-oaip-rma-2025-003). Filename must match:us-ut-oaip-rma-2025-003.md. - Set legal
status: proposedandeditorial_status: draft. Add parties underparties:. - Place file under
data/examples/instruments/. - Run
./scripts/validate-hashes.sh --updateto refreshMANIFEST.yaml. - Run
node scripts/build.js && node scripts/build-extras.jsto verify site regenerates cleanly. - Open a pull request.
See CONTRIBUTING.md for full conventions including obligation entries, source PDFs, and OCR workflow.
License
PubLedge is dual-licensed:
- Content (markdown, YAML, HTML) — CC-BY 4.0
- Code (scripts, schemas, build tooling) — Apache 2.0
See LICENSE for the split. Vendored snapshots retain their upstream licenses; the pinned gist core ontology is CC-BY 4.0 (Semantic Arts). Full credits in ATTRIBUTION.md.
Built on
- Knowledge as Code — the four-role entity pattern (Authority / Container / Secondary / Primary) PubLedge inherits.
- gist (Semantic Arts) — open upper ontology bound to PubLedge entities.
- Every AI Law — preferred source for statute-anchor URLs in
statute_anchors[]. - skill-provenance — hash-mechanism pattern adapted for
validate-hashes.sh. PubLedge does not adopt the full skill-provenance protocol.
Status and roadmap
See ROADMAP.md for phasing and _workshop/ROADMAP.md for the original workshop plan.
Source: README.md at commit 4745367
Tools
0Version history
1- v0.2.5LatestSep 16, 2026
Score
40% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.