EasyLPD: Swiss data protection (FADP) and GDPR

Swiss FADP (nLPD/revDSG) and GDPR: which laws apply, action plan, templates, transfers abroad.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
96%
Naming quality
83%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,669Tokens (tool definitions)
~2.2 KBTypical response size
Significant attention impact (2.09% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "fadp": {
      "url": "https://easylpd.ch/api/mcp"
    }
  }
}

Remote endpoints

https://easylpd.ch/api/mcpstreamable-http

What it can do

Tool inventory

Tools (8)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢which_laws_apply(ch, euEstablishment, euOffer, euMonitoring, ai, ...)

Use first when someone asks which data protection laws their organisation must follow (Swiss FADP/nLPD/DSG, EU GDPR, EU AI Act), for example a Swiss company selling online to the EU. Returns the core obligations that follow for that profile and those that only one of the two laws asks, each with the articles of each law and the template that carries it out. Tells whether the Swiss Federal Act on Data Protection (FADP/LPD/DSG), the EU GDPR and the EU AI Act apply to an organisation, from five yes/no questions (GDPR art. 3 and AI Act art. 2 territorial scope included). The AI Act binds organisations established in the EU or whose AI output is used there; Switzerland has no AI law yet, but rules that keep staff from putting personal data into AI tools follow from the FADP and are good practice. Guidance, not legal advice.

Input Schema

{
  "type": "object",
  "properties": {
    "ch": {
      "type": "boolean",
      "description": "Established in Switzerland, or processing data of people in Switzerland."
    },
    "euEstablishment": {
      "type": "boolean",
      "description": "Has an establishment (branch, subsidiary, office) in the EU/EEA."
    },
    "euOffer": {
      "type": "boolean",
      "description": "Offers goods or services to people in the EU/EEA."
    },
    "euMonitoring": {
      "type": "boolean",
      "description": "Monitors the behaviour of people in the EU/EEA (online tracking, profiling)."
    },
    "ai": {
      "default": false,
      "description": "Uses AI systems in its work (AI assistants, chatbots, automated screening or scoring).",
      "type": "boolean"
    },
    "lang": {
      "default": "en",
      "description": "Language of the answer: it, de, fr or en.",
      "type": "string",
      "enum": [
        "it",
        "de",
        "fr",
        "en"
      ]
    }
  },
  "required": [
    "ch",
    "euEstablishment",
    "euOffer",
    "euMonitoring"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢assessment_questions(ch, euEstablishment, euOffer, euMonitoring, ai, ...)

Use when someone wants to check where their organisation stands with data protection. The questions of EasyLPD's self-assessment that apply to an organisation's profile, each with its id, area, why it matters, its weight and the legal references. Ask them in the conversation, a few at a time, answer each with yes, partial, no, unknown (the person does not know: it counts as not in place until checked) or na, then call score_assessment.

Input Schema

{
  "type": "object",
  "properties": {
    "ch": {
      "type": "boolean",
      "description": "Established in Switzerland, or processing data of people in Switzerland."
    },
    "euEstablishment": {
      "type": "boolean",
      "description": "Has an establishment (branch, subsidiary, office) in the EU/EEA."
    },
    "euOffer": {
      "type": "boolean",
      "description": "Offers goods or services to people in the EU/EEA."
    },
    "euMonitoring": {
      "type": "boolean",
      "description": "Monitors the behaviour of people in the EU/EEA (online tracking, profiling)."
    },
    "ai": {
      "default": false,
      "description": "Uses AI systems in its work (AI assistants, chatbots, automated screening or scoring).",
      "type": "boolean"
    },
    "lang": {
      "default": "en",
      "description": "Language of the answer: it, de, fr or en.",
      "type": "string",
      "enum": [
        "it",
        "de",
        "fr",
        "en"
      ]
    },
    "freeOnly": {
      "default": true,
      "description": "Only the questions of the free assessment (true) or all (false).",
      "type": "boolean"
    }
  },
  "required": [
    "ch",
    "euEstablishment",
    "euOffer",
    "euMonitoring"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢score_assessment(ch, euEstablishment, euOffer, euMonitoring, ai, ...)

Use after the questions of assessment_questions have been answered. Scores them per applicable law, with the risk level and the three gaps to start from, and returns openInEasyLPD: a link that shows the same result in EasyLPD, to give to the user. Guidance, not legal advice or a certification.

Input Schema

{
  "type": "object",
  "properties": {
    "ch": {
      "type": "boolean",
      "description": "Established in Switzerland, or processing data of people in Switzerland."
    },
    "euEstablishment": {
      "type": "boolean",
      "description": "Has an establishment (branch, subsidiary, office) in the EU/EEA."
    },
    "euOffer": {
      "type": "boolean",
      "description": "Offers goods or services to people in the EU/EEA."
    },
    "euMonitoring": {
      "type": "boolean",
      "description": "Monitors the behaviour of people in the EU/EEA (online tracking, profiling)."
    },
    "ai": {
      "default": false,
      "description": "Uses AI systems in its work (AI assistants, chatbots, automated screening or scoring).",
      "type": "boolean"
    },
    "lang": {
      "default": "en",
      "description": "Language of the answer: it, de, fr or en.",
      "type": "string",
      "enum": [
        "it",
        "de",
        "fr",
        "en"
      ]
    },
    "answers": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string",
        "enum": [
          "yes",
          "partial",
          "no",
          "unknown",
          "na"
        ]
      },
      "description": "Answers by question id: yes, partial, no, unknown or na."
    }
  },
  "required": [
    "ch",
    "euEstablishment",
    "euOffer",
    "euMonitoring",
    "answers"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢transfer_check(country, lang)

Use when someone asks whether they may use a provider or send personal data to another country (cloud, hosting, CRM, US services). Whether sending personal data to a country is allowed without further safeguards under the Swiss FADP and under the EU GDPR (adequacy lists), by ISO 3166-1 alpha-2 country code. The lists change: check them before relying on the answer.

Input Schema

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "minLength": 2,
      "maxLength": 2,
      "description": "ISO 3166-1 alpha-2 code, e.g. US, DE, JP."
    },
    "lang": {
      "default": "en",
      "description": "Language of the answer: it, de, fr or en.",
      "type": "string",
      "enum": [
        "it",
        "de",
        "fr",
        "en"
      ]
    }
  },
  "required": [
    "country"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢fadp_obligations(lang)

Use for an overview of the new Swiss FADP/nLPD/revDSG. The main duties of the Swiss Federal Act on Data Protection (in force since 1 September 2023) for SMEs, each with its FADP and GDPR articles: who it applies to, the risk, eight duties. For what a given organisation must do, prefer action_plan. A summary, not legal advice.

Input Schema

{
  "type": "object",
  "properties": {
    "lang": {
      "default": "en",
      "description": "Language of the answer: it, de, fr or en.",
      "type": "string",
      "enum": [
        "it",
        "de",
        "fr",
        "en"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢action_plan(ch, euEstablishment, euOffer, euMonitoring, ai, ...)

Use when someone asks what their organisation must do about data protection, or how to start. The steps that apply to its profile under the Swiss FADP, the GDPR and the AI Act, in the order EasyLPD's path follows (six stages), each with the articles of each law, its weight, why it matters and the template that carries it out with the link to its page. With answers from assessment_questions, the steps already done are left out.

Input Schema

{
  "type": "object",
  "properties": {
    "ch": {
      "type": "boolean",
      "description": "Established in Switzerland, or processing data of people in Switzerland."
    },
    "euEstablishment": {
      "type": "boolean",
      "description": "Has an establishment (branch, subsidiary, office) in the EU/EEA."
    },
    "euOffer": {
      "type": "boolean",
      "description": "Offers goods or services to people in the EU/EEA."
    },
    "euMonitoring": {
      "type": "boolean",
      "description": "Monitors the behaviour of people in the EU/EEA (online tracking, profiling)."
    },
    "ai": {
      "default": false,
      "description": "Uses AI systems in its work (AI assistants, chatbots, automated screening or scoring).",
      "type": "boolean"
    },
    "lang": {
      "default": "en",
      "description": "Language of the answer: it, de, fr or en.",
      "type": "string",
      "enum": [
        "it",
        "de",
        "fr",
        "en"
      ]
    },
    "answers": {
      "description": "Optional answers by question id: steps answered yes or na are left out.",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string",
        "enum": [
          "yes",
          "partial",
          "no",
          "unknown",
          "na"
        ]
      }
    }
  },
  "required": [
    "ch",
    "euEstablishment",
    "euOffer",
    "euMonitoring"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢document_templates(lang, search, id)

Use when someone needs a privacy notice, a processor agreement (DPA), a breach procedure, a DPIA or another data protection document under the Swiss FADP or the GDPR. The 39 templates of EasyLPD with what each is for and the link to its page; with an id, one template with the headings of its sections, the beginning of its text and where the FADP and the GDPR ask different things. Optional search by words.

Input Schema

{
  "type": "object",
  "properties": {
    "lang": {
      "default": "en",
      "description": "Language of the answer: it, de, fr or en.",
      "type": "string",
      "enum": [
        "it",
        "de",
        "fr",
        "en"
      ]
    },
    "search": {
      "description": "Words to look for in title or purpose, e.g. 'video', 'processor'.",
      "type": "string",
      "maxLength": 100
    },
    "id": {
      "description": "The id of one template, from a previous answer: its details.",
      "type": "string",
      "maxLength": 80
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢fadp_questions(lang, id)

Use when someone asks a common question on the Swiss FADP/nLPD/revDSG: whether it applies, differences with the GDPR, what changed in 2023, fines, personal and sensitive data, consent, the FDPIC, the Swiss representative, the record of processing, retention, security measures, privacy by design, a data protection advisor (DPO), privacy notices, DPIA, profiling, training, certification, transfers abroad and standard contractual clauses, processors and joint controllers, cloud services, AI tools, cookies, newsletters, video surveillance, employees, monitoring, applicants, photos, children, anonymous data, data breaches (also an e-mail sent to the wrong person), the rights of access, deletion and portability, an FDPIC investigation. Without an id the list; with an id the answer with the articles, the detail, the FADP/GDPR table where they differ, the templates that help and the link to the page.

Input Schema

{
  "type": "object",
  "properties": {
    "lang": {
      "default": "en",
      "description": "Language of the answer: it, de, fr or en.",
      "type": "string",
      "enum": [
        "it",
        "de",
        "fr",
        "en"
      ]
    },
    "id": {
      "description": "The id of one question, from the list.",
      "type": "string",
      "enum": [
        "applies",
        "differences",
        "sanctions",
        "register",
        "dpo",
        "notice",
        "dpia",
        "transfers",
        "processors",
        "cookies",
        "breach",
        "access",
        "personalData",
        "sensitiveData",
        "whatChanged",
        "consent",
        "fdpic",
        "representative",
        "retention",
        "security",
        "privacyByDesign",
        "employees",
        "cloud",
        "scc",
        "aiTools",
        "deletion",
        "portability",
        "investigation",
        "misdirectedEmail",
        "video",
        "newsletter",
        "monitoring",
        "candidates",
        "photos",
        "anonymous",
        "profiling",
        "training",
        "certification",
        "children",
        "jointControllers"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded8 tools