UNPKG

@iflow-mcp/ansvar-systems-german-law-mcp

Version:

German legal research MCP server with statutes, case law, and preparatory works from gesetze-im-internet.de

42 lines (41 loc) • 1.39 kB
import { SWEDISH_LEGISLATION } from "../sample-data/se-legislation.js"; import { createRegexCitationHandlers, createStaticIngestionRunner, getDocumentFromMemory, searchDocumentsInMemory, } from "../shell/adapter-kit.js"; const SFS_PATTERN = /^SFS\s*(?<year>\d{4}):(?<number>\d+)$/i; const { parseCitation, validateCitation } = createRegexCitationHandlers({ pattern: SFS_PATTERN, reason: "Citation does not match expected SFS format (SFS YYYY:NNN).", normalize: ({ year, number }) => `SFS ${year}:${number}`, }); const runIngestion = createStaticIngestionRunner({ defaultSource: "riksdagen", count: SWEDISH_LEGISLATION.length, }); export const swedenAdapter = { country: { code: "se", name: "Sweden", defaultLanguage: "sv", sources: ["riksdagen", "lagen.nu"], }, capabilities: { documents: true, caseLaw: false, preparatoryWorks: false, citations: true, formatting: false, currency: false, legalStance: false, eu: false, ingestion: true, versionTracking: false, }, async searchDocuments(request) { return searchDocumentsInMemory(SWEDISH_LEGISLATION, request); }, async getDocument(id) { return getDocumentFromMemory(SWEDISH_LEGISLATION, id); }, parseCitation, validateCitation, runIngestion, };