protogrid

Search / com.praxikon/praxikon

Praxikon

R0· no sign-in

EU AI Act and GDPR checks with sources: classify an AI system, trace each duty, find the supervisor.

v2.3.1 · active · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality73needs work
Trust83of 100
Uptime, 30 days100%
Latency p501006 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "praxikon": {
      "type": "http",
      "url": "https://www.praxikon.com/api/mcp"
    }
  }
}
claude mcp add --transport http praxikon https://www.praxikon.com/api/mcp
[mcp_servers.praxikon]
url = "https://www.praxikon.com/api/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "praxikon": {
      "type": "remote",
      "url": "https://www.praxikon.com/api/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "praxikon": {
      "type": "http",
      "url": "https://www.praxikon.com/api/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=praxikon&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vd3d3LnByYXhpa29uLmNvbS9hcGkvbWNwIn0%3D"
}
{
  "servers": {
    "praxikon": {
      "type": "http",
      "url": "https://www.praxikon.com/api/mcp"
    }
  }
}
{
  "mcpServers": {
    "praxikon": {
      "httpUrl": "https://www.praxikon.com/api/mcp"
    }
  }
}
extensions:
  "praxikon":
    enabled: true
    name: "praxikon"
    type: streamable_http
    uri: "https://www.praxikon.com/api/mcp"
    timeout: 300

Quality 73 / 100needs work

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene71 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • warn
    tools.description_length2 tools have descriptions over 1,024 characters, which crowds the context
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations9 of 9 tools declare readOnlyHint or destructiveHint
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: explain_applicability (idempotentHint); classify_system (idempotentHint); get_applicable_obligations (idempotentHint); …
  • warn
    tools.token_costabout 8,990 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability75 · weight 15
  • warn
    stability.changes6 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

9 tools, about 8,990 tokens to load them all · tool set 38a815dc0b92 · tools last changed 2026-10-16 · checked 2026-10-20 18:38 UTC

Tool changes

  • request_expert_reviewchangedtitle, annotations
  • answer_questionchangeddescription, output schema
    before

    Use this for a short, general question about the EU AI Act or the GDPR (AVG), such as whether a customer service chatbot has to say that it is AI or when a DPIA is required. It looks the question up in the published Praxikon answers: deterministic, no language model, and with the articles and sources. Before you call it, rewrite the question in general terms in at most 200 characters: no names of people or organisations, no contact details, no numbers that identify a person or a case. A question that looks like it contains personal data is refused. The question is not stored, logged or counted; only the use of the tool is counted per day. An unrecognised question returns no answer rather than a constructed one. For one concrete system or case, the coded assessment tools give a fuller answer.

    after · 95% of words in common

    Use this for a short, general question about the EU AI Act or the GDPR (AVG), such as whether a customer service chatbot has to say that it is AI or when a DPIA is required. It looks the question up in the published Praxikon answers: deterministic, no language model, and with the articles and sources. Before you call it, rewrite the question in general terms in at most 200 characters: no names of people or organisations, no contact details, no numbers that identify a person or a case. A question that looks like it contains personal data is refused. The question is not stored, logged or counted; only the use of the tool is counted per day. An unrecognised question returns no answer rather than a constructed one, and so does a question about law outside the EU: Praxikon covers only the EU AI Act and the GDPR. For one concrete system or case, the coded assessment tools give a fuller answer.

  • check_casechangedtitle, output schema, annotations
  • get_source_provenancechangeddescription, output schema
    before

    Use this before you quote, cite or hand on anything from this graph, and whenever a reader asks on what authority a statement rests. It returns, for one object, every statement with its kind, its primary source, the locator inside that source and the review metadata, plus the source records behind those citations and a ready made citation block with the identifier, the object version, the payload hash and the release. Works for any object type, not only obligations.

    after · 73% of words in common

    Use this before you quote, cite or hand on anything from this graph, and whenever a reader asks on what authority a statement rests. It returns, for one object, every statement with its kind, its primary source, the locator inside that source and the review metadata, plus the source records behind those citations and a ready made citation block with the identifier, the object version, the payload hash and the release. Works for any object type, not only obligations. Take the identifier from earlier tool output; a short form such as art. 26 resolves when it points at one obligation, else error_code and suggestions come back.

  • explain_applicabilitychangeddescription, output schema
    before

    Use this whenever you have to justify why an obligation does or does not bear on a case, and an outcome on its own is not enough. It returns the legal path: the conditions under which the rule is about a situation, the exceptions under which it is not despite those conditions, and the statements of the obligation split by kind, each with the primary source, the locator inside that source and the source record behind it. Supply a profile as well and the deterministic rule trace is added: which rule was met, not met or unknown for this case, plus the assumptions and the questions the engine could not settle. Use this rather than paraphrasing an obligation yourself: the conditions, the exceptions and the citations are published data and are not to be reconstructed from prose.

    after · 76% of words in common

    Use this whenever you have to justify why an obligation does or does not bear on a case, and an outcome on its own is not enough. It returns the legal path: the conditions under which the rule is about a situation, the exceptions under which it is not despite those conditions, and the statements of the obligation split by kind, each with the primary source, the locator inside that source and the source record behind it. Supply a profile as well and the deterministic rule trace is added: which rule was met, not met or unknown for this case, plus the assumptions and the questions the engine could not settle. Use this rather than paraphrasing an obligation yourself: the conditions, the exceptions and the citations are published data and are not to be reconstructed from prose. Take the identifier from earlier tool output; a short form such as art. 26 resolves when it points at one obligation, else error_code and suggestions come back. A question without an identifier belongs with the short question tool or the case check.

  • export_dpia_intakechangeddescription, output schema
    before

    Use this when the user wants the DPIA intake of a concrete, intended use of AI or of personal data as a Word file to work on, and, where the FRIA comes into play, the FRIA draft as a second file. It takes the same fixed fact answers as the case check of Praxikon, as coded choices, and builds the same documents as the download on the site: the four parts of Article 35(7) GDPR with the seventeen points of the Dutch government model DPIA, each point filled from the facts given, partly filled, or left as an open question, with articles and source links. Leave out what is not known: it counts as unknown and becomes an open question, never a no. Send only the coded answers and never the case text, names or other personal data; there is no field for them. The files come back as attachments of this answer; nothing is stored. Show the notice with the result.

    after · 79% of words in common

    Use this when the user wants the DPIA intake of a concrete, intended use of AI or of personal data as a Word file to work on, and, where the FRIA comes into play, the FRIA draft too. It takes the same fixed fact answers as the case check of Praxikon, as coded choices, and gives the same documents as the download on the site: the four parts of Article 35(7) GDPR with the seventeen points of the Dutch government model DPIA, each point filled from the facts given, partly filled, or left as an open question, with articles and source links. Leave out what is not known: it counts as unknown and becomes an open question, never a no. Send only the coded answers and never the case text, names or other personal data; there is no field for them. The answer gives a download_url: the case check on the site with the answers in the part after #, which the browser never sends to the server; opening it shows the outcome and builds the Word file in the user's browser. Give the user that link, the explanation and the summary, and show the notice. Nothing is stored.

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 83 / 100

no-repository
provenance55
liveness100
freshness100
hygiene80

+dns-namespace +website +reachable +uptime-100% +updated-9d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://www.praxikon.com/api/mcp streamable-httpnoneyes100%1006 ms2025-11-252026-10-20

Tools (9)

answer_questionread-onlyUse this for a short, general question about the EU AI Act or the GDPR (AVG), such as whether a customer service chatbot has to say that it is AI or when a DPIA is required. It looks the question up in the published Praxikon answers: deterministic, no language model, and with the articles and sources. Before you call it, rewrite the question in general terms in at most 200 characters: no names of people or organisations, no contact details, no numbers that identify a person or a case. A question that looks like it contains personal data is refused. The question is not stored, logged or counted; only the use of the tool is counted per day. An unrecognised question returns no answer rather than a constructed one, and so does a question about law outside the EU: Praxikon covers only the EU AI Act and the GDPR. For one concrete system or case, the coded assessment tools give a fuller answer.
check_caseread-onlyUse this when the user describes a concrete, intended use of AI or of personal data (a system, a project, a supplier) and wants to know whether a DPIA, a FRIA or duties under the GDPR (AVG) and the EU AI Act come into play. It runs the Praxikon case check: fixed rules over fixed answers, the same rules as the case check on the site. It returns per law (GDPR, AI Act, and where the two meet) each test with its outcome, the article and a source link, the DPIA and FRIA signal, the next steps and the facts that are still open. Fill in the answers yourself from what the user said, and ask the user for a fact that decides a test rather than guessing it. Leave out what is not known: it counts as unknown, never as no. Send only these coded answers and never the case text, names or other personal data; there is no field for them. Show the notice with the result. It does not build the implementation graph or the obligation list of one AI system.
classify_systemread-onlyUse this as the first step when you hold a concrete AI system and need to know which routes of the EU AI Act come into view: prohibited practice screening, Annex III high risk, transparency, FRIA and the general purpose model route, and with a version 2 profile the wider set of duties, such as Article 26 for a deployer. It runs the deterministic decision engine over coded answers and returns one applicability status per assessed obligation, with the timing and what is still open. It is not meant for a general question about the law. An obligation the engine did not assess is listed in assessment_scope.not_assessed with the reason; it was not found inapplicable. It does not return a single coded classification label.
explain_applicabilityread-onlyUse this whenever you have to justify why an obligation does or does not bear on a case, and an outcome on its own is not enough. It returns the legal path: the conditions under which the rule is about a situation, the exceptions under which it is not despite those conditions, and the statements of the obligation split by kind, each with the primary source, the locator inside that source and the source record behind it. Supply a profile as well and the deterministic rule trace is added: which rule was met, not met or unknown for this case, plus the assumptions and the questions the engine could not settle. Use this rather than paraphrasing an obligation yourself: the conditions, the exceptions and the citations are published data and are not to be reconstructed from prose. Take the identifier from earlier tool output; a short form such as art. 26 resolves when it points at one obligation, else error_code and suggestions come back. A question without an identifier belongs with the short question tool or the case check.
export_dpia_intakeread-onlyUse this when the user wants the DPIA intake of a concrete, intended use of AI or of personal data as a Word file to work on, and, where the FRIA comes into play, the FRIA draft too. It takes the same fixed fact answers as the case check of Praxikon, as coded choices, and gives the same documents as the download on the site: the four parts of Article 35(7) GDPR with the seventeen points of the Dutch government model DPIA, each point filled from the facts given, partly filled, or left as an open question, with articles and source links. Leave out what is not known: it counts as unknown and becomes an open question, never a no. Send only the coded answers and never the case text, names or other personal data; there is no field for them. The answer gives a download_url: the case check on the site with the answers in the part after #, which the browser never sends to the server; opening it shows the outcome and builds the Word file in the user's browser. Give the user that link, the explanation and the summary, and show the notice. Nothing is stored.
get_applicable_obligationsread-onlyUse this when you need the obligations themselves for one assessed system rather than the classification picture: which obligations apply, which possibly apply, from when, why, and on which source and locator. Returns one entry per assessed obligation, filtered by applicability. A version 2 profile has the wider set assessed, including Article 26 for a deployer of a high risk system, with one sub result per paragraph. This is the assessed route, not a catalogue of all obligations in the dataset.
get_national_enforcementread-onlyUse this for the national layer: which authority is designated in a member state, how far the implementing law has come, and which dated enforcement signals are recorded, each with a primary source. The authority is recorded as free text per member state and is deliberately not a graph identifier, because which national body fills the market surveillance role differs per member state. The same call returns the ruling register: judgments and supervisory decisions with the relation they bear to a provision (interprets, narrows, broadens, confirms, contradicts, or illustrates for context). An event says what happened, a ruling says what we know a provision means. Never present a related_gdpr ruling as AI Act case law: it rests on the GDPR and carries the illustrates relation only. This tool takes no lang: the tracker carries both languages on every record, in the fields that end in _nl and _en.
get_source_provenanceread-onlyUse this before you quote, cite or hand on anything from this graph, and whenever a reader asks on what authority a statement rests. It returns, for one object, every statement with its kind, its primary source, the locator inside that source and the review metadata, plus the source records behind those citations and a ready made citation block with the identifier, the object version, the payload hash and the release. Works for any object type, not only obligations. Take the identifier from earlier tool output; a short form such as art. 26 resolves when it points at one obligation, else error_code and suggestions come back.
request_expert_reviewread-onlyUse this only when the user asks for it in their own words: they want to talk to a person, ask for a human expert, or ask how to get in touch about their situation. Never call it on your own initiative, never as a closing suggestion, and never because an answer seems uncertain. It returns a link to book a 30 minute introductory call with Zahed Ashkara, an independent AI and privacy consultant behind Praxikon. Send no part of the conversation: the tool takes only a language and, optionally, a topic from a fixed list, and nothing about the user. Show the title, the sentence and the link to the user as they are, and let the user decide whether to book.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "com.praxikon/praxikon",
  "_meta": {
    "io.modelcontextprotocol.registry/publisher-provided": {
      "com.praxikon": {
        "terms": "https://www.praxikon.com/en/legal/terms",
        "tools": [
          "classify_system",
          "get_applicable_obligations",
          "explain_applicability",
          "get_source_provenance",
          "get_national_enforcement",
          "check_case",
          "export_dpia_intake",
          "answer_question",
          "request_expert_review"
        ],
        "readOnly": true,
        "documentation": "https://www.praxikon.com/en/developers#mcp-online",
        "privacyPolicy": "https://www.praxikon.com/en/legal/privacy",
        "claudeDirectory": "https://claude.ai/directory/connectors/praxikon",
        "requiresCredentials": false
      }
    }
  },
  "icons": [
    {
      "src": "https://www.praxikon.com/web-app-manifest-512x512.png",
      "sizes": [
        "512x512"
      ],
      "mimeType": "image/png"
    },
    {
      "src": "https://www.praxikon.com/icon.svg",
      "sizes": [
        "any"
      ],
      "mimeType": "image/svg+xml"
    }
  ],
  "title": "Praxikon",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://www.praxikon.com/api/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "2.3.1",
  "websiteUrl": "https://www.praxikon.com/en/ai-assistant",
  "description": "EU AI Act and GDPR checks with sources: classify an AI system, trace each duty, find the supervisor."
}