Skip to main content
Glama
Ansvar-Systems

Romanian Data Protection MCP

README.md
# Romanian Data Protection MCP

**Romanian data protection data for AI compliance tools.**

[![npm version](https://badge.fury.io/js/%40ansvar%2Fromanian-data-protection-mcp.svg)](https://www.npmjs.com/package/@ansvar/romanian-data-protection-mcp)
[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![CI](https://github.com/Ansvar-Systems/romanian-data-protection-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/Ansvar-Systems/romanian-data-protection-mcp/actions/workflows/ci.yml)

Query Romanian data protection data -- regulations, decisions, and requirements from ANSPDCP (National Supervisory Authority for Personal Data Processing) -- directly from Claude, Cursor, or any MCP-compatible client.

Built by [Ansvar Systems](https://ansvar.eu) -- Stockholm, Sweden

---

## Quick Start

### Use Remotely (via Ansvar Gateway, OAuth)

> Connect via the Ansvar Gateway with OAuth — your client completes the OAuth flow on first connect. A free tier is available; sign up at [ansvar.eu](https://ansvar.eu).

**Endpoint:** `https://gateway.ansvar.eu/mcp`

| Client | How to Connect |
|--------|---------------|
| **Claude.ai** | Settings > Connectors > Add Integration > paste URL |
| **Claude Code** | `claude mcp add ansvar-gateway --transport http https://gateway.ansvar.eu/mcp` |
| **Claude Desktop** | Add to config (see below) |
| **GitHub Copilot** | Add to VS Code settings (see below) |

**Claude Desktop** -- add to `claude_desktop_config.json`:

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

**GitHub Copilot** -- add to VS Code `settings.json`:

```json
{
  "github.copilot.chat.mcp.servers": {
    "ansvar-gateway": {
      "type": "http",
      "url": "https://gateway.ansvar.eu/mcp"
    }
  }
}
```

### Use Locally (npm)

```bash
npx @ansvar/romanian-data-protection-mcp
```

**Claude Desktop** -- add to `claude_desktop_config.json`:

**macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows:** `%APPDATA%\Claude\claude_desktop_config.json`

```json
{
  "mcpServers": {
    "romanian-data-protection-mcp": {
      "command": "npx",
      "args": ["-y", "@ansvar/romanian-data-protection-mcp"]
    }
  }
}
```

**Cursor / VS Code:**

```json
{
  "mcp.servers": {
    "romanian-data-protection-mcp": {
      "command": "npx",
      "args": ["-y", "@ansvar/romanian-data-protection-mcp"]
    }
  }
}
```

---

## Available Tools (6)

| Tool | Description |
|------|-------------|
| `ro_dp_search_decisions` | Full-text search across ANSPDCP decisions (sanctions, warnings, and administrative decisions). Returns matching decis... |
| `ro_dp_get_decision` | Get a specific ANSPDCP decision by reference number (e.g., |
| `ro_dp_search_guidelines` | Search ANSPDCP guidance documents: guidelines, opinions, recommendations, and FAQs. Covers GDPR implementation, DPIA ... |
| `ro_dp_get_guideline` | Get a specific ANSPDCP guidance document by its database ID. |
| `ro_dp_list_topics` | List all covered data protection topics with Romanian and English names. Use topic IDs to filter decisions and guidel... |
| `ro_dp_about` | Return metadata about this MCP server: version, data source, coverage, and tool list. |

All tools return structured data with source references and timestamps.

---

## Data Sources and Freshness

All content is sourced from official Romanian regulatory publications:

- **ANSPDCP (National Supervisory Authority for Personal Data Processing)** -- Official regulatory authority

### Data Currency

- Database updates are periodic and may lag official publications
- Freshness checks run via GitHub Actions workflows
- Last-updated timestamps in tool responses indicate data age

See `sources.yml` for full provenance metadata.

---

## Security

This project uses multiple layers of automated security scanning:

| Scanner | What It Does | Schedule |
|---------|-------------|----------|
| **CodeQL** | Static analysis for security vulnerabilities | Weekly + PRs |
| **Semgrep** | SAST scanning (OWASP top 10, secrets, TypeScript) | Every push |
| **Gitleaks** | Secret detection across git history | Every push |
| **Trivy** | CVE scanning on filesystem and npm dependencies | Daily |
| **Docker Security** | Container image scanning + SBOM generation | Daily |
| **Socket.dev** | Supply chain attack detection | PRs |
| **Dependabot** | Automated dependency updates | Weekly |

See [SECURITY.md](SECURITY.md) for the full policy and vulnerability reporting.

---

## Important Disclaimers

### Not Regulatory Advice

> **THIS TOOL IS NOT REGULATORY OR LEGAL ADVICE**
>
> Regulatory data is sourced from official publications by ANSPDCP (National Supervisory Authority for Personal Data Processing). However:
> - This is a **research tool**, not a substitute for professional regulatory counsel
> - **Verify all references** against primary sources before making compliance decisions
> - **Coverage may be incomplete** -- do not rely solely on this for regulatory research

**Before using professionally, read:** [DISCLAIMER.md](DISCLAIMER.md) | [PRIVACY.md](PRIVACY.md)

### Confidentiality

Queries go through the Claude API. For privileged or confidential matters, use on-premise deployment. See [PRIVACY.md](PRIVACY.md) for details.

---

## Development

### Setup

```bash
git clone https://github.com/Ansvar-Systems/romanian-data-protection-mcp
cd romanian-data-protection-mcp
npm install
npm run build
npm test
```

### Running Locally

```bash
npm run dev                                       # Start MCP server
npx @anthropic/mcp-inspector node dist/index.js   # Test with MCP Inspector
```

### Data Management

```bash
npm run build:db       # Rebuild SQLite database from seed data
npm run check-updates  # Check for new regulatory data
```

---

## Related Projects

This server is part of **Ansvar's MCP fleet** -- 276 MCP servers covering law, regulation, and compliance across 119 jurisdictions.

### Law MCPs

Full national legislation for 108 countries. Example: [@ansvar/swedish-law-mcp](https://github.com/Ansvar-Systems/swedish-law-mcp) -- 2,415 Swedish statutes with EU cross-references.

### Sector Regulator MCPs

National regulatory authority data for 29 EU/EFTA countries across financial regulation, data protection, cybersecurity, and competition. This MCP is one of 116 sector regulator servers.

### Domain MCPs

Specialized compliance domains: [EU Regulations](https://github.com/Ansvar-Systems/EU_compliance_MCP), [Security Frameworks](https://github.com/Ansvar-Systems/security-frameworks-mcp), [Automotive Cybersecurity](https://github.com/Ansvar-Systems/Automotive-MCP), [OT/ICS Security](https://github.com/Ansvar-Systems/ot-security-mcp), [Sanctions](https://github.com/Ansvar-Systems/Sanctions-MCP), and more.

Browse the full fleet at [ansvar.eu](https://ansvar.eu) (access via the Ansvar Gateway, OAuth).

---

## Contributing

Contributions welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.

---

## License

Apache License 2.0. See [LICENSE](./LICENSE) for details.

### Data Licenses

Regulatory data sourced from official government publications. See `sources.yml` for per-source licensing details.

---

## About Ansvar Systems

We build AI-powered compliance and legal research tools for the European market. Our MCP fleet provides structured, verified regulatory data to AI assistants -- so compliance professionals can work with accurate sources instead of guessing.

**[ansvar.eu](https://ansvar.eu)** -- Stockholm, Sweden

---

<p align="center">
  <sub>Built with care in Stockholm, Sweden</sub>
</p>

TDQS

A4/5.0

Scored across 6 tools

Disambiguation5/5

Each tool targets a distinct purpose: searching decisions versus searching guidelines, retrieving a specific decision versus retrieving a specific guideline, listing topics, and returning server metadata. There is no meaningful overlap or ambiguity between tool boundaries.

Naming Consistency4/5

All tools share the ro_dp_ prefix and most follow a clear verb_noun pattern such as search_decisions, get_decision, search_guidelines, and get_guideline. The only minor deviation is ro_dp_about, which does not follow the verb_noun pattern.

Tool Count5/5

Six tools is a well-scoped set for a focused read-only data protection research server. Each tool serves a clear purpose without unnecessary redundancy or overwhelming the agent.

Completeness5/5

The server provides both search and retrieval for its two core content types (decisions and guidelines), plus topic listing and metadata. For a read-only research domain, this covers the full expected workflow with no dead ends.

Maintenance

ActivityNo data
ResponsivenessNo issues