Back to Browse

Cypriot Law MCP Server

Developer ToolsUse Caution3.8Local
Free

Cypriot legislation via MCP — full-text search across statutes and provisions

About

Cypriot legislation via MCP — full-text search across statutes and provisions

Security Report

3.8
Use Caution3.8High Risk

This is a legitimate legal data aggregation MCP for Cypriot law with clear documentation about licensing constraints and data sourcing. The code quality is generally good with proper error handling and logging. However, there are moderate concerns: (1) the CySEC scraper uses shell command execution via execFile without strict argument validation, creating potential command injection risk if URLs are compromised; (2) the SPARQL ingestion script uses basic fetch without certificate pinning; (3) ingestion scripts write to SQLite without input sanitization on user-controlled fields like titles and URLs. The permissions are appropriate for a legal data aggregator. These issues are mitigatable and do not indicate malicious intent. Supply chain analysis found 3 known vulnerabilities in dependencies (2 critical, 1 high severity). Package verification found 1 issue.

4 files analyzed · 12 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

HTTP Network Access

Connects to external APIs or services over the internet.

File System Read

Reads files on your machine. Normal for tools that analyze or process local data.

File System Write

Writes or modifies files on your machine. Check that this is expected for the tool.

env_vars

Check that this permission is expected for this type of plugin.

Shell Command Execution

Runs commands on your machine. Be cautious — only use if you trust this plugin.

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "eu-ansvar-cypriot-law-mcp": {
      "args": [
        "-y",
        "@ansvar/cypriot-law-mcp"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

Cypriot Law MCP

The Cypriot law corpus is now served through the Ansvar Gateway. Connect your AI assistant (Claude, Copilot, Cursor, custom MCP client) to https://gateway.ansvar.eu/mcp — one OAuth connection, free tier available, covering this corpus plus EU regulations, national law across dozens of audited jurisdictions (Europe + the US), and CVE/security intelligence, every result with a verbatim source citation. Start at https://ansvar.eu/docs/quickstart

Connect

Claude Code (one line):

claude mcp add ansvar --transport http https://gateway.ansvar.eu/mcp

Claude Desktop / Cursor — add to claude_desktop_config.json (or mcp.json):

{
  "mcpServers": {
    "ansvar": {
      "type": "url",
      "url": "https://gateway.ansvar.eu/mcp"
    }
  }
}

Claude.ai — Settings → Connectors → Add custom connector → paste https://gateway.ansvar.eu/mcp

First request opens an OAuth signup flow (setup details: ansvar.eu/docs/quickstart). After signup, your client is bound to your account; tier (free / premium / team / company) determines fan-out, quota, and which downstream MCPs are reachable.


Self-host this MCP

You can also clone this repo and build the corpus yourself. The schema, fetcher, and tool implementations all live here. What is not in the repo is the pre-built database — TDM and standards-licensing constraints on the upstream sources mean we host the corpus on Ansvar infrastructure rather than redistribute it as a public artifact.

Build your own: run this repo's ingestion script (entry-point varies per repo — typically scripts/ingest.sh, npm run ingest, or make ingest; check the repo root).

Model Context Protocol (MCP) server for Cypriot legal compliance, sourced from primary government and EU portals only.

Licensing status (2026-05-17 update)

Cyprus has no statutory public-domain carve-out for state works. Copyright Act 59/1976 Art. 4(c) grants copyright to government-created works rather than excluding them — the opposite of the German UrhG §5 / Czech §3 / NL Art. 11 / URG Art. 5 model. A CY-Statutory-PD licence code is not being added to the Ansvar catalog. Per ADR-030, this MCP cannot flip to GREEN by relabelling; it requires corpus replacement (Path B). See DEPRECATION_NOTICE.md for the Path B plan: EUR-Lex Cyprus acquis + Cyprus Parliament primary legislation + curia.europa.eu Cyprus rulings, broadly mirroring the Norwegian-style 3-MCP split.

Out of scope: cylaw.org (CyLaw / KINOP / CyLII)

This server does not ingest, redistribute, or display content from cylaw.org (the Cyprus Law Portal operated by the Cyprus Bar Association via KINOP / CyLII). CyLaw's terms of service prohibit bulk extraction, indexing, and redistribution of its compilation, and we respect those terms.

Any future Cypriot statute corpus will come from primary government sources only — the Supreme Court of Cyprus's own publication channels, the Official Gazette of the Republic of Cyprus, and the parliamentary record at parliament.cy. We will not source statutes from CyLaw under any circumstance unless and until KINOP grants written authorisation.

The previous version of this repository contained a CyLaw-derived statute seed corpus and a CyLaw scraper. Both were removed in 2026-04-26 (file deletion + git history rewrite + removal from all branches and tags). The current code path does not fetch from cylaw.org.

Status (2026-04-26)

This repository is being rebuilt around a primary-source-only ingestion model. No replacement statute corpus is committed yet; npm run build:db produces an empty schema until the primary-source adapters listed below are wired in.

Data sources (active premium-tier adapters)

SourceAuthorityRecords
EUR-Lex SPARQL (Cyprus NIM)Publications Office of the EU6,377 NIM transposition measures
CySEC CircularsCyprus Securities and Exchange Commission943 circular metadata records (Cyprus-PSI)

Data sources (planned, not yet ingested)

  • supremecourt.gov.cy — Lotus Domino XML view direct (Phase 0 probe confirmed reachable from Hetzner)
  • parliament.cy — primary-source path (probe pending)
  • hudoc.echr.coe.int — Cyprus respondent cases (blocked by Cloudflare bot protection at probe time)

Tools

  • search_legislation — full-text search across statutes (FTS5 with BM25)
  • search_eu_implementations — EU directives transposed into Cypriot national law
  • search_agency_guidance — premium-tier search across CySEC + DPA decisions
  • search_case_law — premium-tier search across primary-source case law (auto-hidden until corpus populated)
  • get_provision, validate_citation, format_citation, check_currency, etc.

tools/list returns only the surfaces that have data; tools without data are auto-hidden via capability gating in src/tools/registry.ts.

Build

npm install
npm run build       # tsc → dist/
npm run build:db    # produces empty schema until primary-source adapters land
npm run build:db:paid  # adds premium-tier schema

License

Apache-2.0 for the code. Each data source ships with its own license; see list_sources tool output at runtime.

Reviews

No reviews yet

Be the first to review this server!