GDPR DSAR deadlines, breach triage, AI tool checks, HR retention and letters (UK/EU/CH)
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Screens a planned use of an AI tool: whether a DPIA is likely to be required (Art. 35(3), the ICO high-risk list, the WP248 criteria; FADP Art. 22 for Switzerland), EU AI Act risk flags (Annex III high-risk areas, especially employment; Art. 5 prohibited practices such as emotion recognition at work; current application dates after the Digital Omnibus), and automated decision rules (GDPR Art. 22, UK GDPR Arts 22A to 22D). Findings with sources. The use_case text is not stored or returned. General information, not legal advice.
Short description of what the AI tool does. No personal data. Not stored.
UK, EU (EU/EEA) or CH (Switzerland).
True if it is an innovative use or new technology for the organisation.
Health, biometric, criminal offence data and the like.
True if it processes data about staff or job candidates.
True if it makes or drives decisions with legal or similarly significant effects without meaningful human involvement.
Screens a planned use of an AI tool: whether a DPIA is likely to be required (Art. 35(3), the ICO high-risk list, the WP248 criteria; FADP Art. 22 for Switzerland), EU AI Act risk flags (Annex III high-risk areas, especially employment; Art. 5 prohibited practices such as emotion recognition at work; current application dates after the Digital Omnibus), and automated decision rules (GDPR Art. 22, UK GDPR Arts 22A to 22D). Findings with sources. The use_case text is not stored or returned. General information, not legal advice.
| Argument | Type | Description |
|---|---|---|
| use_case* | string | Short description of what the AI tool does. No personal data. Not stored. |
| large_scale* | boolean | |
| jurisdiction* | string | UK, EU (EU/EEA) or CH (Switzerland). |
| new_technology* | boolean | True if it is an innovative use or new technology for the organisation. |
| special_category* | boolean | Health, biometric, criminal offence data and the like. |
| employees_or_candidates* | boolean | True if it processes data about staff or job candidates. |
| processes_personal_data* | boolean | |
| automated_decisions_with_significant_effect* | boolean | True if it makes or drives decisions with legal or similarly significant effects without meaningful human involvement. |
{
"type": "object",
"required": [
"use_case",
"processes_personal_data",
"special_category",
"employees_or_candidates",
"automated_decisions_with_significant_effect",
"new_technology",
"large_scale",
"jurisdiction"
],
"properties": {
"use_case": {
"type": "string",
"maxLength": 500,
"description": "Short description of what the AI tool does. No personal data. Not stored."
},
"large_scale": {
"type": "boolean"
},
"jurisdiction": {
"enum": [
"UK",
"EU",
"CH"
],
"type": "string",
"description": "UK, EU (EU/EEA) or CH (Switzerland)."
},
"new_technology": {
"type": "boolean",
"description": "True if it is an innovative use or new technology for the organisation."
},
"special_category": {
"type": "boolean",
"description": "Health, biometric, criminal offence data and the like."
},
"employees_or_candidates": {
"type": "boolean",
"description": "True if it processes data about staff or job candidates."
},
"processes_personal_data": {
"type": "boolean"
},
"automated_decisions_with_significant_effect": {
"type": "boolean",
"description": "True if it makes or drives decisions with legal or similarly significant effects without meaningful human involvement."
}
},
"additionalProperties": false
}When a personal data breach must be notified to the regulator: 72 hours from awareness in the UK and EU/EEA (Art. 33), "as soon as possible" in Switzerland (revised FADP Art. 24). Gives the deadline, the rule, the processor and individual-notification position, and the facts the regulator will ask for. The controller decides whether to notify. General information, not legal advice.
| Argument | Type | Description |
|---|---|---|
| aware_at* | string | ISO date and time, with time zone, when the controller became aware of the breach. Example: 2026-10-17T09:30:00+01:00. |
| jurisdiction* | string | UK, EU (EU/EEA GDPR) or CH (Switzerland). |
{
"type": "object",
"required": [
"jurisdiction",
"aware_at"
],
"properties": {
"aware_at": {
"type": "string",
"format": "date-time",
"description": "ISO date and time, with time zone, when the controller became aware of the breach. Example: 2026-10-17T09:30:00+01:00."
},
"jurisdiction": {
"enum": [
"UK",
"EU",
"CH"
],
"type": "string",
"description": "UK, EU (EU/EEA GDPR) or CH (Switzerland)."
}
},
"additionalProperties": false
}A likely-reportability view on a personal data breach (UK, EU/EEA, Switzerland), following the ICO guide "Personal data breaches: a guide" and EDPB Guidelines 9/2022: whether notifying the regulator and telling the people affected is likely or unlikely to be required, the factors behind that view, and the notification deadline. The controller decides. General information, not legal advice. Do not pass names or other personal data.
| Argument | Type | Description |
|---|---|---|
| aware_at* | string | ISO date and time, with time zone, when the controller became aware of the breach. Example: 2026-10-17T09:30:00+01:00. |
| encrypted* | boolean | True if the data was strongly encrypted and the key was not compromised. |
| recipient* | string | Who received or could access the data: a trusted internal person, a trusted external professional, unknown or the public, or a malicious actor. |
| recoverable* | string | Whether the data has been recovered or deletion confirmed, is likely to be, or not. |
| jurisdiction* | string | UK, EU (EU/EEA GDPR) or CH (Switzerland). |
| people_affected* | any |
Calculate the statutory deadline for answering a data subject access request in the UK, the EU/EEA or Switzerland, with the rule that applies and the extension position. General information, not legal advice.
| Argument | Type | Description |
|---|---|---|
| extended | boolean | Also calculate the extended deadline where an extension is available. |
| jurisdiction* | string | UK, EU (EU/EEA GDPR) or CH (Switzerland). |
| received_date* | string | ISO date the clock starts. For the UK, the later of receipt and receipt of any requested ID or fee. |
{
"type": "object",
"required": [
"jurisdiction",
"received_date"
],
"properties": {
"extended": {
"type": "boolean",
"description": "Also calculate the extended deadline where an extension is available."
},
"jurisdiction": {
"enum": [
"UK",
"EU",
"CH"
],
"type": "string",
"description": "UK, EU (EU/EEA GDPR) or CH (Switzerland)."
},
"received_date": {
"type": "string",
"format": "date",
"description": "ISO date the clock starts. For the UK, the later of receipt and receipt of any requested ID or fee."
}
},
"additionalProperties": false
}Plain-text letter template, in British English with [placeholders], for an acknowledgement, an extension of time or a request for clarification of a data subject access request, under UK, EU/EEA or Swiss law. Fills in the dates if received_date is given. General information, not legal advice.
| Argument | Type | Description |
|---|---|---|
| kind* | string | |
| due_date | string | Optional ISO due date, used in place of the calculated one. |
| jurisdiction* | string | UK, EU (EU/EEA GDPR) or CH (Switzerland). |
| received_date | string | Optional ISO date the clock started. For the UK, the later of receipt and receipt of any requested ID or fee. |
{
"type": "object",
"required": [
"kind",
"jurisdiction"
],
"properties": {
"kind": {
"enum": [
"acknowledgement",
"extension",
"clarification"
],
"type": "string"
},
"due_date": {
"type": "string",
"format": "date",
"description": "Optional ISO due date, used in place of the calculated one."
},
"jurisdiction": {
"enum": [
"UK",
"EU",
"CH"
],
"type": "string",
"description": "UK, EU (EU/EEA GDPR) or CH (Switzerland)."
},
"received_date": {
"type": "string",
"format": "date",
"description": "Optional ISO date the clock started. For the UK, the later of receipt and receipt of any requested ID or fee."
}
},
"additionalProperties": false
}Fixed price from Double AIgents for preparing a DSAR response, by pack size in pages after de-duplication. Also gives the retainer price (15% off). Excludes VAT.
| Argument | Type | Description |
|---|---|---|
| pages* | integer | Number of pages after de-duplication. |
| currency | string | GBP (UK), EUR (EU/EEA) or CHF (Switzerland). |
{
"type": "object",
"required": [
"pages"
],
"properties": {
"pages": {
"type": "integer",
"minimum": 1,
"description": "Number of pages after de-duplication."
},
"currency": {
"enum": [
"GBP",
"EUR",
"CHF"
],
"type": "string",
"default": "GBP",
"description": "GBP (UK), EUR (EU/EEA) or CHF (Switzerland)."
}
},
"additionalProperties": false
}Explains how to start free scoping and returns a prefilled email (mailto URL) to [email protected]. Sends nothing and stores nothing. Do not pass the requester's personal data or the request letter.
| Argument | Type | Description |
|---|---|---|
| contact_name* | string | Name of the person at the organisation handling the request (not the requester). |
| jurisdiction* | string | |
| organisation* | string | The controller organisation that received the request. |
| approx_volume | string | Optional rough volume, for example "two mailboxes, about 3 years". |
| contact_email* | string | Email of that person. |
| date_received* | string | ISO date the request was received. |
{
"type": "object",
"required": [
"organisation",
"contact_name",
"contact_email",
"jurisdiction",
"date_received"
],
"properties": {
"contact_name": {
"type": "string",
"maxLength": 120,
"description": "Name of the person at the organisation handling the request (not the requester)."
},
"jurisdiction": {
"enum": [
"UK",
"EU",
"CH"
],
"type": "string"
},
"organisation": {
"type": "string",
"maxLength": 200,
"description": "The controller organisation that received the request."
},
"approx_volume": {
"type": "string",
"maxLength": 200,
"description": "Optional rough volume, for example \"two mailboxes, about 3 years\"."
},
"contact_email": {
"type": "string",
"format": "email",
"maxLength": 254,
"description": "Email of that person."
},
"date_received": {
"type": "string",
"format": "date",
"description": "ISO date the request was received."
}
},
"additionalProperties": false
}Where to search when answering a subject access request, especially from an employee: Microsoft 365 (Exchange and archives, shared mailboxes, Teams, OneDrive, SharePoint), other collaboration tools, HR, payroll, recruitment, CCTV, access logs, devices, line manager notes, paper files, occupational health and backups; search-term tips; and the search standard (UK GDPR Art. 15(1A) reasonable and proportionate searches). General information, not legal advice.
| Argument | Type | Description |
|---|---|---|
| organisation_type* | string |
{
"type": "object",
"required": [
"organisation_type"
],
"properties": {
"organisation_type": {
"enum": [
"employer",
"law_firm",
"other"
],
"type": "string"
}
},
"additionalProperties": false
}What the Double AIgents DSAR service covers: scoping, collection guidance, de-duplication, redaction, exemption recommendations, two independent reviews, secure delivery, data handling, jurisdictions and partner arrangements.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Recommended retention period for a common UK HR record, whether it is statutory or only recommended, and the source (HMRC, Home Office, RIDDOR 2013, Working Time Regulations, Limitation Act 1980, ICO, DBS). UK only for now. General information, not legal advice.
| Argument | Type | Description |
|---|---|---|
| record_type* | string | |
| jurisdiction | string |
{
"type": "object",
"required": [
"record_type"
],
"properties": {
"record_type": {
"enum": [
"payroll_paye",
"right_to_work",
"accident_book_riddor",
"unsuccessful_candidates",
"personnel_file_after_leaving",
"disciplinary_grievance",
"sickness_absence",
"maternity_smp",
"paternity_shared_parental",
"pension_auto_enrolment",
"working_time",
"national_minimum_wage",
"dbs_certificates",
"cctv"
],
"type": "string"
},
"jurisdiction": {
"enum": [
"UK"
],
"type": "string",
"default": "UK"
}
},
"additionalProperties": false
}| Approximate number of people affected, or "unknown". |
| special_category* | boolean | True if special category or criminal offence data is involved (health, biometric, criminal records, etc.). |
{
"type": "object",
"required": [
"jurisdiction",
"aware_at",
"people_affected",
"special_category",
"recipient",
"recoverable",
"encrypted"
],
"properties": {
"aware_at": {
"type": "string",
"format": "date-time",
"description": "ISO date and time, with time zone, when the controller became aware of the breach. Example: 2026-10-17T09:30:00+01:00."
},
"encrypted": {
"type": "boolean",
"description": "True if the data was strongly encrypted and the key was not compromised."
},
"recipient": {
"enum": [
"trusted_internal",
"trusted_external_professional",
"unknown_or_public",
"malicious"
],
"type": "string",
"description": "Who received or could access the data: a trusted internal person, a trusted external professional, unknown or the public, or a malicious actor."
},
"recoverable": {
"enum": [
"confirmed_deleted",
"likely",
"no"
],
"type": "string",
"description": "Whether the data has been recovered or deletion confirmed, is likely to be, or not."
},
"jurisdiction": {
"enum": [
"UK",
"EU",
"CH"
],
"type": "string",
"description": "UK, EU (EU/EEA GDPR) or CH (Switzerland)."
},
"people_affected": {
"oneOf": [
{
"type": "integer",
"minimum": 0
},
{
"enum": [
"unknown"
],
"type": "string"
}
],
"description": "Approximate number of people affected, or \"unknown\"."
},
"special_category": {
"type": "boolean",
"description": "True if special category or criminal offence data is involved (health, biometric, criminal records, etc.)."
}
},
"additionalProperties": false
}