riigiteataja-offline
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@riigiteataja-offlinesearch for karistusseadustik § 113"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Riigi Teataja Offline
Minimal Nuxt 4 application for searching a local Riigi Teataja XML archive. ZIP
files are mounted into /data/import; XML is kept as the canonical source and
metadata, extracted sections/articles, plus a SQLite FTS5 index are generated in
/data/riigiteataja.sqlite.
Run with Docker
cp .env.example .env
mkdir -p data/import
# Copy the current Riigi Teataja XML ZIP into data/import/
docker compose up --buildOpen http://localhost:3000. The app imports the first ZIP in /data/import
on startup. Set RT_AUTO_DOWNLOAD=true to download the configured archive when
no mounted ZIP exists. A download or import failure stops startup when that
option is enabled; with it disabled, the service stays available with its
existing database.
For local development, use Node 22 and run npm install && npm run dev.
The Nuxt development server serves both the web app and the API routes, so no
separate API process is required. Open http://127.0.0.1:3000; API endpoints
are available under /api, for example http://127.0.0.1:3000/api/health.
Related MCP server: eqanun-api
Endpoints
GET /api/health— index count and last importGET /api/search?q=...— FTS5 searchGET /api/acts/:id— act metadata, extracted sections, and canonical XML textGET /api/laws/:id— compatibility alias for the act endpointGET /api/sections/:id— extracted section and articlesGET /api/archive-status(also/api/archive/status) — archive/import details/archive— archive status pagePOST /api/import— re-scan the mounted ZIPPOST /api/archive/download— download and import the configured archivePOST /api/archive/reimport— re-import the mounted ZIPDELETE /api/archive/delete— delete mounted ZIP files while keeping imported dataDELETE /api/archive/clear-data— clear imported laws and import metadata/mcp— MCP Streamable HTTP endpoint with exactly these tools:search(query, limit?),get_act(actIdentifier)(legacyidalias accepted),get_section(sectionIdentifier, actIdentifier?)(legacyidalias accepted), andarchive_status(). Search results include the act title and identifier, an optional section identifier, a text snippet, and a local API URL/resource.get_sectionreturns the act title, section number/title, and exact section text (plus extracted articles).
Environment variables are documented in .env.example.
This server cannot be deployed
Maintenance
Related MCP Connectors
- LegalizeOAuthdev.legalize
Official MCP connector for Legalize: read and search its whole open corpus, at any point in time.
Public Indian legal search MCP for Roop judgments, statutes, and corpus grounding.
Agentic search over your Dewey document collections from any MCP-compatible client.
Agent-driven search: build, import, tune, search, and score result quality — all over MCP.
Related MCP Servers
- AlicenseAqualityFmaintenanceEnables querying Swedish statutes, provisions, case law, preparatory works, and EU law cross-references from any MCP-compatible client.19113 npmApache 2.0
- AlicenseNot gradedqualityBmaintenanceMCP server for Azerbaijan's official legal-acts database (e-qanun.az), enabling search, metadata retrieval, and full-text access to legislative and judicial documents.MIT
- FlicenseAqualityBmaintenanceLocal-first, read-only MCP server for retrieving and searching authorised CCSDS and ECSS standards, enabling citation-rich passage-level search and document access.3-
- FlicenseNot gradedqualityCmaintenanceProvides MCP tools for searching and retrieving Swedish legislation, case law, and preparatory works from a cached legal dataset.-