PubLedge

io.github.snapsynapse由 GitHub 账号 snapsynapse 发布v0.2.5更新于 Oct 27, 2026

Open recordkeeping protocol for JIAs, RMAs, no-action letters, and analogous instruments.

概览

AI 生成的概览

基于 PubLedge 的只读 MCP 服务器,用于查询无异议函、私函裁定、JIA、RMA 等针对具体事实的法律文书开放登记库。

可以做什么
  • 按司法辖区、发布机构、类型或状态列出并获取法律文书
  • 列出并获取发布机构及其记录
  • 列出并获取义务记录及其法条映射
  • 检索文书与义务,并按规范 PubLedge 网址获取单条记录
  • 读取覆盖矩阵、映射关系、即将到期与最近变更的记录
适用场景
当助手需要查阅或比较不同机构发布的书面监管解释、无异议函、私函裁定或社区治理记录,并以可移植的结构化形式引用时适用。
运行要求
以 stdio 本地进程运行,从 npm 包 publedge 安装(例如通过 npx,需要 Node.js)。未声明任何认证、环境变量或请求头。记录由 publedge.org 站点提供,需要网络访问。
安装前请注意
13 个工具均被描述为只读,不会写入或修改记录。内容属参考资料而非法律意见,项目声明其并非监管机构或律师事务所。记录与索引来自第三方站点,用于合规判断前应自行核实。

安装

在 SourceWeft 中

  1. 打开 控制台中的 PubLedge,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

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

https://publedge.org/

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:

  1. The protocol — the PROTOCOL.md specification and the PRIOR-ART.md survey that motivates it.
  2. 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 under data/examples/obligations/ are mapped to the instruments via data/examples/mapping/index.yml; legal lifecycle is tracked separately from editorial maturity.
  3. The published site — rendered HTML under docs/, served by GitHub Pages from main /docs. Regenerate with node scripts/build.js && node scripts/build-extras.js before committing; CI fails if docs/ 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:

SurfaceShape
/WebSite + Organization + DataCatalog JSON-LD (@graph); links to every dataset distribution
/us/{jurisdiction}/{authority}/{type}/{instance}/Canonical hierarchical URL per record; inline Schema.org LegalDocument JSON-LD; PDF + OCR text co-located
/us/{jurisdiction}/{authority}/{type}/{instance}/record.jsonSame record as JSON; shape validated by /schema/json/record.schema.json; includes authority_response annotations when present
/instruments.html, /obligations.html, /authorities.htmlItemList JSON-LD; human-readable filter + sort
/matrix.htmlDataset JSON-LD + coverage matrix; DataDownload distribution at /api/v1/matrix.json
/definitions/DefinedTermSet with instrument types + statuses as DefinedTerms
/api/v1/*.jsonMachine manifests: containers, primaries, authorities, mappings, matrix, upcoming, recently-changed
/api/v1/of/*.jsonObligation-First binding records for authorities, instruments, terms, obligations, and administrative issuance determinations
/calendar.icsEnforcement calendar (iCal)
/feed.xml, /atom.xml, /feed.jsonRSS 2.0, Atom 1.0, JSON Feed 1.1
/sitemap.xmlSitemap index → per-section sitemaps (records, authorities, statutes, reference, templates, bridges, meta)
/llms.txt, /agents.jsonAgent-discovery briefing + capabilities
/.well-known/mcp.jsonInstallable MCP server discovery; its exact package identity and provider observations are recorded in the publication state
/robots.txtExplicit allow for 17 AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, Applebot-Extended, etc.)
mcp-server.jsMCP server exposing 13 read-only tools: list_<legal-instruments> (with jurisdiction/authority/type/status filters), get_<legal-instrument>, list_obligations, get_obligation, list_authorities, get_authority, search, search_obligations, get_matrix, get_mappings, fetch_by_url, get_upcoming, get_recently_changed

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

bash
git clone https://github.com/snapsynapse/publedge.gitcd publedge./scripts/validate-hashes.sh           # verify integritynode scripts/validate.js               # cross-reference checksnode scripts/build.js                  # regenerate docs/ entity pages + APInode scripts/build-extras.js           # copy reference HTML, feeds, discovery files

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:

bash
./scripts/validate-hashes.sh --update

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:

  1. Browse the instrument registry or open a canonical record such as the SEC CorpFin no-action letter.
  2. Query an index without scraping HTML:
bash
curl -sS https://publedge.org/api/v1/containers.json | jq '.[0]'
  1. Fetch a record-shaped JSON representation by appending record.json to its canonical record URL:
bash
curl -sS https://publedge.org/us/federal/sec-corpfin/nal/2025-001/record.json | jq '.id, .status'
  1. 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:
json
{  "mcpServers": {    "publedge": {      "command": "npx",      "args": ["-y", "[email protected]"]    }  }}
  1. Use search to discover records and fetch_by_url when 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

PathPurpose
PROTOCOL.mdThe PubLedge specification
INTENT.mdAuthoritative repository disposition, active work, and revisit triggers
PRIOR-ART.mdSurvey of analogous instrument programs
DEFINITIONS.mdCanonical vocabulary (status values, instrument types, obligation kinds)
MANIFEST.yamlSHA-256 hashes for every canonical file
_templates/jia/, _templates/rma/Fill-in templates with {{variable}} placeholders
data/examples/instruments/18 demonstration instruments; filename = stable id (e.g. us-ut-oaip-rma-2025-001.md)
data/examples/authorities/Authority records for each issuing body
data/examples/obligations/Obligation definitions linked from instruments
data/examples/mapping/Obligation-to-statute mapping index
about/Hand-crafted /about/ source page (copied verbatim into docs/)
reference/Hand-crafted reference HTML (prior-art, disclaimer, vocabulary)
schema/json/JSON Schemas + JSON-LD context
vendor/gist/Pinned snapshot of the Semantic Arts gist core ontology
scripts/Validators (validate.js, verify.js), build (build.js, build-extras.js), hash check
_workshop/Site ontology workshop output (taxonomy, sitemap, content guide, roadmap)

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

  1. Pick template under _templates/jia/ or _templates/rma/.
  2. Replace every {{variable_name}} with applicable values.
  3. Set id to {jurisdiction}-{authority}-{type}-{YYYY-NNN} (e.g. us-ut-oaip-rma-2025-003). Filename must match: us-ut-oaip-rma-2025-003.md.
  4. Set legal status: proposed and editorial_status: draft. Add parties under parties:.
  5. Place file under data/examples/instruments/.
  6. Run ./scripts/validate-hashes.sh --update to refresh MANIFEST.yaml.
  7. Run node scripts/build.js && node scripts/build-extras.js to verify site regenerates cleanly.
  8. 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

MilestoneStatus
Workshop, taxonomy, sitemap, content guidedone
Protocol specification (PROTOCOL.md)done
Prior-art survey (PRIOR-ART.md)done
Initial Utah templates (3 JIA, 2 RMA)done
First registry instance (us-ut-oaip-jia-2026-001)done
Hash-pinned integrity + CI verificationdone
Discovery files (llms.txt, agents.json, feed.xml)done
MCP server (mcp-server.js)done
CLI validators (scripts/validate.js, scripts/verify.js)done
JSON Schemas + JSON-LD context (schema/json/)done
Unified site generator (build.js + build-extras.js)done
Frontmatter spec v0.2done
9 federal + Utah demonstration remapsdone
4 Utah statutes as first-class instrument recordsdone
Canonical URL architecture (/{country}/{jurisdiction}/{authority}/{type}/{YYYY-NNN}/)done
record.json per instrument (Schema.org LegalDocument JSON-LD)done
calendar.ics, api/v1/upcoming.json, api/v1/recently_changed.jsondone
Status vocabulary (9 values) + DEFINITIONS.md + /definitions/ pagedone
publedge-source-ingest skill for authored ingestiondone
Disclaimer & Source Policy at /reference/disclaimer/done
Obligations + mapping curation pass (35 obligations, 16 mappings)done
JSON-LD on top-level pages (home @graph, ItemList indexes, DefinedTermSet, Dataset)done
Split sitemap index + 7 section sitemapsdone
JSON Feed 1.1 + Atom 1.0 feeds alongside RSSdone
/schema/json/record.schema.json (JSON Schema draft 2020-12)done
Extended MCP tool surface (13 tools; filters, URL-based fetch, upcoming, recently-changed)done
Explicit AI-crawler allowlist in robots.txtdone
Authority response protocol field, rendering, schema, and validationdone
Agent-readiness + a11y audit artifacts in audits/ + .a11y-audit/done
Axe-core WCAG 2.1 AA remediation (4 rules, 70 instances → 0)done
Private snapshot for pre-release reviewsent
Lawyer review (SLC attorney)pending; demand-triggered
repo-polishdone
Repository publicdone
Obligation-First v0.4.x naming profiledone
promo-orchestrator + public announcementparked
Browser-side registry browser + comparison toolingparked
Branch-and-strip to reusable protocol templateparked

See ROADMAP.md for phasing and _workshop/ROADMAP.md for the original workshop plan.

来源:README.md,提交 4745367

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.2.5最新Sep 16, 2026

评分

已满足适用检查项的 40%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。