AI 클라이언트가 공유 온톨로지에서 구조화된 법적 문서, 의무 사항 및 규제 기록을 쿼리하고 검색할 수 있게 합니다.
다른 이름 snapsynapse/publedge
- 스타
- 0
- Tools
- —
- 다운로드, 30일
- —
- 최신 버전
- 0.2.5
- 마지막 커밋
- 2026년 11월 9일
- 라이선스
- —
PubLedge MCP란?
PubLedge은(는) MCP server입니다. AI 클라이언트가 공유 온톨로지에서 구조화된 법적 문서, 의무 사항 및 규제 기록을 쿼리하고 검색할 수 있게 합니다.
프로젝트 README에서 생성된 요약
PubLedge MCP server 정보
PubLedge는 불조치 서신, 사적 서신 결정, 공동 해석 협정과 같이 사실 관계에 기반한 법적 해석을 기록하고 쿼리할 수 있는 개방형 프로토콜을 제공합니다. 이 서비스는 흩어져 있는 비구조화된 기록을 휴대 가능하고 쿼리가 가능한 형식으로 변환해야 하는 규제 기관, 규제 대상자 및 시민 단체를 위해 설계되었습니다. 기록을 공유 Semantic Arts 온톨로지에 결합함으로써, 사용자는 서로 다른 권한을 가진 법적 문서들을 비교할 수 있습니다.
개발자는 npx 명령어를 사용하여 이 server를 stdio 지원 AI 클라이언트에 통합할 수 있습니다. 이 server는 list_legal_instruments, get_obligation, search_obligations, fetch_by_url을 포함한 13개의 읽기 전용 도구를 노출합니다. MCP 2026-07-28 stateless core와 레거시 2024-11-05 handshake를 모두 지원합니다. 시스템은 SHA-256 매니페스트 체크를 사용하여 소스와 매니페스트 간의 일관성을 보장하며, 구조화된 규제 데이터와 의무 사항 기록에 접근할 수 있는 신뢰할 수 있는 방법을 제공합니다.
활용 사례
- 1규제 문서 쿼리AI 클라이언트가 다양한 관할 구역 및 권한에 걸쳐 특정 법적 문서를 검색할 수 있습니다.
- 2특정 법적 의무 사항 검색개발자가 agent에게 특정 법적 문서에 매핑된 구체적인 의무 사항을 찾아 설명하도록 요청할 수 있습니다.
- 3최근 규제 변경 사항 모니터링agent가 최근에 업데이트된 법적 기록이 무엇인지 식별할 수 있습니다.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
PubLedge MCP 설치 방법
형식 확인: 2026년 11월 10일Cursor에 추가Goose에 추가Claude Code에 PubLedge MCP 설치
$ claude mcp add publedge -- npx -y publedgeCursor에 PubLedge MCP 설치
~/.cursor/mcp.json
{
"mcpServers": {
"publedge": {
"command": "npx",
"args": [
"-y",
"publedge"
]
}
}
}VS Code에 PubLedge MCP 설치
.vscode/mcp.json
{
"servers": {
"publedge": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"publedge"
]
}
}
}VS Code CLI에 PubLedge MCP 설치
$ code --add-mcp '{"name":"publedge","type":"stdio","command":"npx","args":["-y","publedge"]}'Claude Desktop에 PubLedge MCP 설치
claude_desktop_config.json
{
"mcpServers": {
"publedge": {
"command": "npx",
"args": [
"-y",
"publedge"
]
}
}
}Codex에 PubLedge MCP 설치
$ codex mcp add publedge -- npx -y publedgeCodex config.toml에 PubLedge MCP 설치
~/.codex/config.toml
[mcp_servers.publedge] command = "npx" args = ["-y", "publedge"]
Gemini CLI에 PubLedge MCP 설치
$ gemini mcp add -s user publedge npx -- -y publedgeGemini settings.json에 PubLedge MCP 설치
~/.gemini/settings.json
{
"mcpServers": {
"publedge": {
"command": "npx",
"args": [
"-y",
"publedge"
]
}
}
}자동 검사
2026년 11월 15일에 실행됨전체 보고서 →자동 검사를 통과했습니다. 이는 보안 감사가 아닙니다. 코드를 직접 읽고 서버에 필요한 최소한의 권한만 부여하십시오. 검사 방식 · 점수를 높이기 위해 수정할 항목
- 소스 저장소 연결 및 접근 가능snapsynapse/publedge is public and reachablegithub.com/snapsynapse/publedge ↗통과
- 패키지가 이 저장소를 소스로 명시publedge names snapsynapse/publedge as sourcenpmjs.com/package/publedge ↗통과
- 빌드 출처(Sigstore 증명)No build attestation published for this release검사되지 않음
- 오픈 소스 라이선스 (OSI)No license결함 발견
- 최근 1년 내 커밋 또는 릴리스Last commit or release 2026-11-09github.com/snapsynapse/publedge ↗통과
- OpenSSF Scorecard검사되지 않음
- 패키지 이름이 인기 패키지와 유사하지 않음No popular package one edit away from publedge통과
- 패키지 및 해당 종속성에 중요한 보안 권고 없음1 resolved dependencies checked; no critical advisoryosv.dev ↗통과
- 모델에 대한 숨겨진 지침 없음0 tool descriptions and the README read; no override phrases, credential paths or hidden characters통과
- 파괴적인 도구에 라벨 표시됨검사되지 않음
- 원격 엔드포인트가 MCP 핸드셰이크에 응답검사되지 않음
README
GitHub에서 보기PubLedge
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:
| Surface | Shape |
|---|---|
/ |
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.json |
Same record as JSON; shape validated by /schema/json/record.schema.json; includes authority_response annotations when present |
/instruments.html, /obligations.html, /authorities.html |
ItemList JSON-LD; human-readable filter + sort |
/matrix.html |
Dataset JSON-LD + coverage matrix; DataDownload distribution at /api/v1/matrix.json |
/definitions/ |
DefinedTermSet with instrument types + statuses as DefinedTerms |
/api/v1/*.json |
Machine manifests: containers, primaries, authorities, mappings, matrix, upcoming, recently-changed |
/api/v1/of/*.json |
Obligation-First binding records for authorities, instruments, terms, obligations, and administrative issuance determinations |
/calendar.ics |
Enforcement calendar (iCal) |
/feed.xml, /atom.xml, /feed.json |
RSS 2.0, Atom 1.0, JSON Feed 1.1 |
/sitemap.xml |
Sitemap index → per-section sitemaps (records, authorities, statutes, reference, templates, bridges, meta) |
/llms.txt, /agents.json |
Agent-discovery briefing + capabilities |
/.well-known/mcp.json |
Installable MCP server discovery; its exact package identity and provider observations are recorded in the publication state |
/robots.txt |
Explicit allow for 17 AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, Applebot-Extended, etc.) |
mcp-server.js |
MCP 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
git clone https://github.com/snapsynapse/publedge.git
cd publedge
./scripts/validate-hashes.sh # verify integrity
node scripts/validate.js # cross-reference checks
node scripts/build.js # regenerate docs/ entity pages + API
node 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:
./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:
- Browse the instrument registry or open a canonical record such as the SEC CorpFin no-action letter.
- Query an index without scraping HTML:
curl -sS https://publedge.org/api/v1/containers.json | jq '.[0]'
- Fetch a record-shaped JSON representation by appending
record.jsonto its canonical record URL:
curl -sS https://publedge.org/us/federal/sec-corpfin/nal/2025-001/record.json | jq '.id, .status'
- 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:
{
"mcpServers": {
"publedge": {
"command": "npx",
"args": ["-y", "publedge@0.2.5"]
}
}
}
- 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
| Path | Purpose |
|---|---|
PROTOCOL.md |
The PubLedge specification |
INTENT.md |
Authoritative repository disposition, active work, and revisit triggers |
PRIOR-ART.md |
Survey of analogous instrument programs |
DEFINITIONS.md |
Canonical vocabulary (status values, instrument types, obligation kinds) |
MANIFEST.yaml |
SHA-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
- 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
| Milestone | Status |
|---|---|
| Workshop, taxonomy, sitemap, content guide | done |
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 verification | done |
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.2 | done |
| 9 federal + Utah demonstration remaps | done |
| 4 Utah statutes as first-class instrument records | done |
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.json |
done |
Status vocabulary (9 values) + DEFINITIONS.md + /definitions/ page |
done |
publedge-source-ingest skill for authored ingestion |
done |
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 sitemaps | done |
| JSON Feed 1.1 + Atom 1.0 feeds alongside RSS | done |
/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.txt |
done |
| Authority response protocol field, rendering, schema, and validation | done |
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 review | sent |
| Lawyer review (SLC attorney) | pending; demand-triggered |
| repo-polish | done |
| Repository public | done |
| Obligation-First v0.4.x naming profile | done |
| promo-orchestrator + public announcement | parked |
| Browser-side registry browser + comparison tooling | parked |
| Branch-and-strip to reusable protocol template | parked |
See ROADMAP.md for phasing and _workshop/ROADMAP.md for the original workshop plan.
PubLedge MCP 질문
PubLedge MCP를 Claude Code에 추가하려면 어떻게 하나요?
터미널에서 claude mcp add publedge -- npx -y publedge를 실행합니다. 모든 프로젝트에서 사용할 수 있게 하려면 --scope user를 추가합니다.
PubLedge MCP를 Cursor에 추가하려면 어떻게 하나요?
~/.cursor/mcp.json를 열고 mcpServers 아래에 서버를 추가합니다. 위 설치 섹션에 표시된 Cursor 구성을 사용합니다.
PubLedge로 어떤 종류의 기록에 접근할 수 있나요?
공동 해석 협정(JIA), 규제 완화 협정(RMA), 불조치 서신(no-action letters), 사적 서신 결정(private letter rulings) 및 권고 의견에 접근할 수 있습니다.
MCP server는 어떤 도구를 제공하나요?
문서, 의무 사항, 권한 검색 및 URL을 통한 특정 기록 가져오기를 포함하여 13개의 읽기 전용 도구를 제공합니다.
PubLedge의 데이터는 검증 가능한가요?
네, 이 프로토콜은 SHA-256 매니페스트 체크를 사용하여 소스 파일과 매니페스트 간의 일관성을 보장합니다.