Skip to main content
Glama
README.md
# eu-reg-mcp

An MCP server that gives AI agents **cited, review-gated grounding in EU regulation**. Agents answering crypto or AI-compliance questions can check a live official register and cite pinpoint provisions instead of guessing.

Five tools:

| Tool | What it does | Needs |
| --- | --- | --- |
| `search_micar_register` | Look up an entity by name or LEI in the ESMA interim MiCAR register: white papers (Titles II–IV), authorised CASPs, non-compliant entities | — |
| `micar_register_summary` | Current register totals and white paper format coverage | — |
| `micar_register_changes` | Register movement: new filings, changed entries, removals (withdrawal tracking) | — |
| `lint_micar_whitepaper` | Deterministic Annex I–III lint of a draft white paper: cited candidate findings | `lint` extra |
| `classify_eu_ai_act_system` | EU AI Act risk-tier classification with pinpoint Art. 5 / Annex III / GPAI citations | `classify` extra |

Register data comes from the [MiCAR Register Observatory](https://github.com/sebastianfoerste/micar-register-observatory), which snapshots the public ESMA register weekly (Art. 109 VO (EU) 2023/1114). The linter is [micar-whitepaper-linter](https://github.com/sebastianfoerste/micar-whitepaper-linter) (36 rules mapped to Annex I–III); the classifier is [eu-ai-act-classifier](https://github.com/sebastianfoerste/eu-ai-act-classifier).

## Install

**Claude Code**

```bash
claude mcp add eu-reg -- uvx --from git+https://github.com/sebastianfoerste/eu-reg-mcp eu-reg-mcp
```

**Claude Desktop** (`claude_desktop_config.json`)

```json
{
  "mcpServers": {
    "eu-reg": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/sebastianfoerste/eu-reg-mcp", "eu-reg-mcp"]
    }
  }
}
```

The three register tools work with no configuration and no API key. The lint and classify tools need their optional extras:

```bash
uv pip install 'eu-reg-mcp[lint] @ git+https://github.com/sebastianfoerste/eu-reg-mcp'
uv pip install 'eu-reg-mcp[classify] @ git+https://github.com/sebastianfoerste/eu-reg-mcp'
```

Note: the linter and classifier packages are source-available under their own licenses (portfolio display, reference, and evaluation use), not MIT — see their repositories before production use. Without the extras, both tools return an install hint instead of failing.

## Try it

Ask an agent with this server connected:

- "Is `<entity>` on the MiCAR register, and what format is its white paper?"
- "What changed on the MiCAR register recently — any removals?"
- "Classify this AI system under the EU AI Act" (paste a system profile; call with an empty string to get the schema).

## Guardrails

Every response carries its framing: register results are **facts from a public register** with the snapshot date; lint and classification outputs are **candidate flags from deterministic rules, pending human legal review**. Extraction artifacts exist. Nothing this server returns is a legal assessment of any entity or legal advice — that is a design contract, not a disclaimer.

## Development

```bash
git clone https://github.com/sebastianfoerste/eu-reg-mcp
cd eu-reg-mcp
make install && make test
```

Tests run offline against fixtures. The server itself is MIT-licensed.

TDQS

A3.7/5.0

Scored across 5 tools

Disambiguation5/5

Each tool targets a distinct regulatory framework or operation: AI Act classification, MiCAR whitepaper linting, and three distinct register queries (changes, summary, search). Descriptions clearly differentiate purposes, leaving no ambiguity.

Naming Consistency3/5

Tool names use snake_case but mix verb-first (classify_eu_ai_act_system, lint_micar_whitepaper) and noun-first (micar_register_changes, micar_register_summary, search_micar_register). While descriptive, the pattern is not uniform, causing moderate inconsistency.

Tool Count5/5

With 5 tools covering two regulatory domains, the count is well-scoped. Each tool serves a clear purpose without redundancy or unnecessary expansion.

Completeness4/5

The tool set covers key functionalities for AI Act classification and MiCAR white paper linting and register querying. However, a dedicated tool for retrieving full register entry details beyond search is missing, and AI Act coverage lacks compliance or summarization tools.

Maintenance

ActivityMaintained
ResponsivenessNo issues