Skip to main content
Glama
Ansvar-Systems

Lithuanian Data Protection MCP

Lithuanian Data Protection MCP

▶ Try this MCP instantly via Ansvar Gateway

50 free queries/day · no card required · OAuth signup at ansvar.eu/gateway

One endpoint, one OAuth signup, access from any MCP-compatible client.

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 flow at ansvar.eu/gateway. 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).

Lithuanian data protection data for AI compliance tools.

License CI

Query Lithuanian data protection data -- regulations, decisions, and requirements from VDAI (State Data Protection Inspectorate) -- directly from Claude, Cursor, or any MCP-compatible client.

Built by Ansvar Systems -- Stockholm, Sweden


Related MCP server: Slovak Data Protection MCP

Available Tools (6)

Tool

Description

lt_dp_search_decisions

Full-text search across VDAI (Valstybinė duomenų apsaugos inspekcija) decisions and sanctions. Returns matching decis...

lt_dp_get_decision

Get a specific VDAI decision by reference number.

lt_dp_search_guidelines

Search VDAI guidance documents: recommendations, guidelines, and FAQs on GDPR implementation in Lithuania.

lt_dp_get_guideline

Get a specific VDAI guidance document by its database ID.

lt_dp_list_topics

List all covered data protection topics with Lithuanian and English names. Use topic IDs to filter decisions and guid...

lt_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 Lithuanian regulatory publications:

  • VDAI (State Data Protection Inspectorate) -- 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 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 VDAI (State Data Protection Inspectorate). 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 | PRIVACY.md

Confidentiality

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


Development

Setup

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

Running Locally

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

Data Management

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

More Ansvar MCPs

Full fleet at ansvar.eu/gateway.

Contributing

Contributions welcome! See CONTRIBUTING.md for guidelines.


License

Apache License 2.0. See 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 -- Stockholm, Sweden


Available Tools

6 tools
lt_dp_aboutA

Return metadata about this MCP server: version, data source, coverage, and tool list.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It discloses that this is a metadata query and what it returns, implying a safe read operation. It doesn't mention any caveats, but for a simple info endpoint, the behavior is transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that is front-loaded with the key purpose and lists the returned fields without any padding. Every word contributes to understanding the tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple metadata tool with no output schema, the description fully covers what the agent needs: what it returns and the scope. The tool list hint also helps discoverability of siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the baseline score of 4 applies. There is nothing to add beyond the schema, and the description correctly focuses on the return values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Return') and resource ('metadata about this MCP server'), listing specific outputs (version, data source, coverage, tool list). This distinguishes it from sibling tools that deal with decisions, guidelines, or topics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The context is clear: use this to get server-level information, not specific data. It doesn't explicitly name alternatives or exclusions, but the separation from sibling data-retrieval tools is obvious from the description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lt_dp_get_decisionA

Get a specific VDAI decision by reference number.

ParametersJSON Schema
NameRequiredDescriptionDefault
referenceYesVDAI decision reference (e.g., '2N-110-(3.9.)-2022')

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'get' without detailing what is returned, what happens if the reference is not found, or whether any other behavior occurs. This leaves the agent uninformed about edge cases or response format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one concise sentence, front-loaded with the verb 'Get', and contains no extraneous information. Every word is purposeful, making it efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with a single parameter and no output schema, the description is minimal but adequate to convey the core function. However, it lacks context about the return value (e.g., full decision details) and does not mention how to handle missing references. Additionally, given the sibling search tool, a short note on when to use get vs search would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single 'reference' parameter, and its description includes an example format. The tool description itself adds no extra parameter meaning, but the schema already provides adequate context, so a baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get a specific VDAI decision by reference number' clearly states the action (get), the resource (VDAI decision), and the method (by reference number). It distinguishes itself from sibling tools like lt_dp_search_decisions, which implies a search/filter process rather than exact lookup.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies you should use this tool when you already have a specific reference number, but it does not explicitly contrast it with lt_dp_search_decisions or state when not to use it. There is no guidance on selecting between get and search tools, so guidance is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lt_dp_get_guidelineA

Get a specific VDAI guidance document by its database ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesGuideline database ID (from lt_dp_search_guidelines results)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the burden. The verb 'get' implies a read-only operation, but the description does not disclose error behavior, response format, or any potential side effects. It adds minimal behavioral context beyond the verb itself.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no redundant words. It precisely conveys the tool's function in an efficient manner.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no nested objects, no output schema), the description is largely complete. However, it does not explicitly mention what the tool returns (e.g., the full guideline document), but this is strongly implied by 'get'. A small gap for a simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single parameter 'id', with a clear description in the schema. The tool description adds no additional parameter semantics, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'specific VDAI guidance document by its database ID', distinguishing this from sibling search tools. It's specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The parameter description ('from lt_dp_search_guidelines results') implies a workflow of searching first then getting by ID, but the tool description itself does not explicitly state when to use this versus alternatives. Usage is implied rather than clearly articulated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lt_dp_list_topicsA

List all covered data protection topics with Lithuanian and English names. Use topic IDs to filter decisions and guidelines.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of disclosing behavior. It states that the tool lists 'all covered' topics, indicating exhaustive coverage, and explicitly mentions the bilingual output. For a simple, parameter-free read-only list, this is adequate, even though it omits details like pagination or ordering.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no filler. The primary purpose is front-loaded, and the second sentence adds practical usage context. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The output schema is absent, so the description must specify return values. It states the list includes topics with Lithuanian and English names, but it does not explicitly confirm that topic IDs are included in the returned list. Since the description instructs using topic IDs to filter decisions/guidelines, it is ambiguous whether the IDs come from this tool, leaving a notable gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and the schema is fully covered by default. The description adds no parameter-specific information, but none is needed; baseline 4 applies as per the rubric for 0-parameter tools.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: to list all covered data protection topics, and it specifies that each topic includes Lithuanian and English names. This distinguishes it from sibling tools that search or retrieve decisions/guidelines.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides contextual guidance by noting that topic IDs can be used to filter decisions and guidelines, implying this tool is the source for such IDs. It does not explicitly list alternatives or when-not-to-use scenarios, but the connection to sibling tools is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lt_dp_search_decisionsA

Full-text search across VDAI (Valstybinė duomenų apsaugos inspekcija) decisions and sanctions. Returns matching decisions with reference, entity name, fine amount, and GDPR articles cited.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoFilter by decision type. Optional.
limitNoMaximum number of results to return. Defaults to 20.
queryYesSearch query (e.g., 'slapukai', 'darbuotojų stebėjimas', 'duomenų pažeidimas')
topicNoFilter by topic ID (e.g., 'consent', 'cookies', 'data_breach'). Optional.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It states the search behavior ('full-text') and lists return fields (reference, entity, fine amount, GDPR articles), which is useful. It does not mention pagination, rate limits, or error behavior, but for a read-only search tool this is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise, front-loaded sentences with no redundant information. Every word contributes to understanding what the tool does and what it returns.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is a straightforward search operation; the description clearly states return values, so agents know what to expect. It does not mention default limits or pagination, but this is a minor gap. The sibling lt_dp_get_decision exists for retrieving a single decision, so the overall context is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all four parameters are already described in the schema. The description adds no additional parameter-level semantics beyond implying the 'query' parameter is a full-text search, which the schema already conveys. Therefore baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Full-text search') and a clear resource ('VDAI decisions and sanctions'), and distinguishes itself from sibling lt_dp_search_guidelines by explicitly naming decisions/sanctions. The return fields are also summarized, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'Full-text search across VDAI decisions and sanctions' clearly implies this tool is for searching decision-type content. It does not explicitly mention when not to use it (e.g., use lt_dp_search_guidelines for guidelines), but the sibling tool names provide enough context for an agent to differentiate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lt_dp_search_guidelinesA

Search VDAI guidance documents: recommendations, guidelines, and FAQs on GDPR implementation in Lithuania.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoFilter by guidance type. Optional.
limitNoMaximum number of results to return. Defaults to 20.
queryYesSearch query (e.g., 'DPIA', 'slapukai', 'duomenų subjekto teisės')
topicNoFilter by topic ID. Optional.

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden of behavioral disclosure. It states that the tool searches documents but does not mention whether it is read-only, any authentication requirements, rate limits, pagination, or what the response looks like. This is a significant gap for a tool with no output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that immediately conveys the tool's purpose. It contains no filler or redundant information, and is well front-loaded with the verb and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a search tool with four parameters and no output schema, the description provides adequate context about the subject matter but lacks detail on result formatting, filtering behavior, or how to combine parameters. It is sufficient for a basic understanding but leaves gaps that could affect correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage for all 4 parameters, providing baseline clarity. However, the description adds little beyond the schema: it lists some document types but omits 'template', and does not elaborate on how query, type, topic, or limit interact. The schema itself already defines these well.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Search') and the resource ('VDAI guidance documents'), enumerating specific document types (recommendations, guidelines, FAQs) and scope (GDPR implementation in Lithuania). This distinguishes it from sibling tools like lt_dp_search_decisions, which searches a different resource type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for guidance documents but does not explicitly state when to use this tool versus alternatives like lt_dp_search_decisions. The sibling names hint at the distinction, but the description itself offers no exclusions or alternative references.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updatesv0.1.0
    • First observedlt_dp_about
    • First observedlt_dp_get_decision
    • First observedlt_dp_get_guideline
    • First observedlt_dp_list_topics
    • First observedlt_dp_search_decisions
    • First observedlt_dp_search_guidelines

TDQS

A4.2/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a distinct purpose: search vs get for decisions, search vs get for guidelines, plus list_topics for filtering and about for server metadata. No overlap or ambiguity.

Naming Consistency5/5

All tools follow a consistent pattern: lt_dp_<verb>_<resource>. Verbs are search, get, list, about; resources are decision/decisions, guideline/guidelines, topics. Minor singular/plural usage is consistent across resource pairs.

Tool Count5/5

Six tools is well-scoped for a focused Lithuanian data protection research server. Each tool covers a necessary function without redundancy.

Completeness5/5

For a read-only research domain, the surface is complete: search and retrieve for both decisions and guidelines, topic listing for navigation, and an about tool for metadata. No obvious missing operations.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers