{"schemaVersion":"0.1.0-alpha","name":"Policy Window AI Governance Catalog","description":"Read-only MCP server for primary-source-cited AI-governance evidence (29 instruments × 24 topics × ~580 coverage cells; permanent ?asOf= snapshot URLs; CC BY 4.0 + CC0 citation graph).","publisher":{"name":"Policy Window","url":"https://policywindow.org","contact":"hello@policywindow.org"},"license":{"content":"CC-BY-4.0","citationGraph":"CC0-1.0","apiSurface":"MIT"},"charter":{"url":"https://policywindow.org/wiki/charter","readOnly":true,"noWriteTools":true,"noPersonalization":true,"noProseGeneration":true,"antiOverclaim":"Every response includes a confidence tier (high/medium/low/pending); agents must surface the tier when citing.","attributionPolicy":"Every response includes an `attribution` envelope field; agents must reproduce it verbatim under rendered answers."},"responseEnvelope":{"shape":{"data":"<typed payload>","citation":{"wikiUrl":"...?asOf=YYYY-MM-DD","primarySource":"<url>","confidence":"high|medium|low|pending"},"attribution":"Policy Window — https://policywindow.org/wiki/charter (CC BY 4.0; CC0 citations)","asOf":"YYYY-MM-DD","schemaVersion":"1.0"}},"tools":[{"name":"search_catalog","description":"Resolve natural-language references to slugs. Returns ranked matches by kind (instrument/topic/benchmark/concept). Use this BEFORE fetching full article data.","endpoint":"https://policywindow.org/api/search","method":"GET","params":{"q":"string (search query)","kind":"string optional (instrument|topic|benchmark|concept)","limit":"number optional (1-200, default 50)"},"returnShape":"{ results: [{slug, title, kind, jurisdiction?}] }"},{"name":"get_instrument","description":"Full instrument record for a slug. Includes jurisdictional context, primary source URL, externalIdentifiers (Wikidata QID + ELI URI + CELEX where present), and cite-block in 8 formats.","endpoint":"https://policywindow.org/wiki/catalog/json","method":"GET","params":{"asOf":"YYYY-MM-DD optional (default: today)"},"returnShape":"GovernanceInstrument (typed)","notes":"Filter the catalog payload's `instruments` array by shortCode. Per-article DataCite XML at /wiki/[slug]/datacite.xml."},{"name":"get_topic_coverage","description":"How do all instruments treat one topic? Returns the cross-jurisdiction matrix slice for a topic with verbatim provision excerpts (where backfilled), confidence tiers, and per-cell ?asOf= URLs.","endpoint":"https://policywindow.org/wiki/catalog/json","method":"GET","returnShape":"{ topic: GovernanceTopic, cells: CoverageCell[] }"},{"name":"get_coverage_cell","description":"Single instrument×topic cell. Includes verbatimQuote (Wave 2 backfill), provisionUrl deep anchor, confidence, sourceDefensibility.","endpoint":"https://policywindow.org/wiki/catalog/cells/[instrument]/[topic]","method":"GET","notes":"Per-cell anchor route ships in Wave 2 of iter-316 plan. Until then, filter from /wiki/catalog/json by computed key `${instrumentShortCode}:${topicCode}`."},{"name":"compare_jurisdictions","description":"Cross-jurisdiction summary for a topic across N jurisdictions. Returns rows of {jurisdiction, instrument, type, confidence, verbatimQuote, citationUrl}.","endpoint":"https://policywindow.org/wiki/compare","method":"GET","notes":"Render-grade UI; JSON variant ships in Wave 2."},{"name":"list_changes","description":"What changed since date X? Returns revision diff entries.","endpoint":"https://policywindow.org/wiki/changelog/feed","method":"GET","returnShape":"RSS 2.0"},{"name":"cite_article","description":"Citation in any of 8 formats (BibTeX, APA, Chicago, Harvard, RIS, OSCOLA, Bluebook, CSL-JSON). MLA + Chicago author-date in Wave 2.","endpoint":"https://policywindow.org/wiki/[slug]/datacite.xml","method":"GET","notes":"DataCite XML per article. CSL-JSON via CiteThisWidget client-side; programmatic /wiki/[slug]/citation.{bib,ris,csl-json} routes in Wave 2."},{"name":"glossary_lookup","description":"Concept definition with primary sources. Contested-question flagged if so.","endpoint":"https://policywindow.org/wiki/catalog/json","method":"GET","returnShape":"GovernanceConcept (typed)"}],"discoverability":{"llmsTxt":"https://policywindow.org/llms.txt","llmsFullTxt":"https://policywindow.org/llms-full.txt","subAudienceVariants":{"researchers":"https://policywindow.org/llms-researchers.txt","journalists":"https://policywindow.org/llms-journalists.txt","procurement":"https://policywindow.org/llms-procurement.txt","regulators":"https://policywindow.org/llms-regulators.txt","advocates":"https://policywindow.org/llms-advocates.txt","developers":"https://policywindow.org/llms-developers.txt"},"openApiSpec":"https://policywindow.org/api/openapi","installGuide":"https://policywindow.org/wiki/agents"},"waveTwoRoadmap":{"mcpServerNpm":"@policywindow/mcp-server (target: Wave 2, ~weeks 4-9)","mcpHttpTransport":"mcp.policywindow.org (target: Anthropic HTTP MCP spec GA, ~2026-Q3)","verbatimProvisionBackfill":"Coverage Games quarterly cycles will populate provision.excerpt + articleNumber on every governs cell","perCellAnchors":"https://policywindow.org/wiki/catalog/cells/[instrument]/[topic] JSON route"}}