Comprehensive Model Context Protocol server for managing Home Assistant through AI assistants.
Praxikon is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
EU AI Act and GDPR checks with sources: classify an AI system, trace each duty, find the supervisor.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http praxikon-mcp https://www.praxikon.com/api/mcp
# 2 — ask your agent for something these tools do
# classify_system, get_applicable_obligations, explain_applicability and 6 more
Praxikon costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http praxikon-mcp https://www.praxikon.com/api/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
9 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Use 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 a
| Parameter | Type | Required | Notes |
|---|---|---|---|
| profile | object | yes | The coded answers about one system. The fifteen version 1 fields are required. A field that does not bear on this case takes not_relevant, and unsure is a real answer that leads to insufficient_contex |
| lang | string | no | Language of the labels and explanations. Dutch is the default. |
| detail | string | no | Amount of data to return. brief keeps the outcome, the dates, the reasons, the open questions and the source with its locator; full adds the complete objects, every statement text and every hash, for |
Use 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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| profile | object | yes | The same coded profile that classify_system takes, with the same fields and codes: see the profile schema of classify_system. Send a version 2 profile to have the wider set assessed, including Article |
| applicability | array | no | Which applicability statuses to return. Defaults to applies and possibly_applies. The counters and evaluated_obligation_ids stay complete whatever you filter on, so a filtered list can never be read a |
| lang | string | no | Language of the labels and explanations. Dutch is the default. |
| detail | string | no | Amount of data to return. brief keeps the outcome, the dates, the reasons, the open questions and the source with its locator; full adds the complete objects, every statement text and every hash, for |
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 s
| Parameter | Type | Required | Notes |
|---|---|---|---|
| obligation_id | string | yes | The stable identifier, for example praxikon:eu:ai-act:obligation:article-50-transparency. |
| profile | object | no | The same coded profile that classify_system takes, with the same fields and codes: see the profile schema of classify_system. Send a version 2 profile to have the wider set assessed, including Article |
| effective_at | string | no | Legal time pin, a date or an ISO instant. Defaults to the release default. |
| known_at | string | no | Knowledge time pin, a date or an ISO instant. Defaults to the release default. |
| lang | string | no | Language of the labels and explanations. Dutch is the default. |
| detail | string | no | Amount of data to return. brief keeps the outcome, the dates, the reasons, the open questions and the source with its locator; full adds the complete objects, every statement text and every hash, for |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| entity_id | string | yes | The stable identifier of any object, for example praxikon:eu:ai-act:guidance:... or praxikon:eu:ai-act:obligation:... . An identifier in the flat raip:<type>:<slug> form published up to dataset 1.1.0 |
| effective_at | string | no | Legal time pin. |
| known_at | string | no | Knowledge time pin. |
| lang | string | no | Language of the labels and explanations. Dutch is the default. |
| detail | string | no | Amount of data to return. brief keeps the outcome, the dates, the reasons, the open questions and the source with its locator; full adds the complete objects, every statement text and every hash, for |
Use 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 cal
| Parameter | Type | Required | Notes |
|---|---|---|---|
| country | string | no | ISO 3166-1 alpha-2 country code, for example NL. Omit for all member states. |
| type | string | no | Narrow to one event type, for example implementing_law. |
| known_at | string | no | Knowledge axis of the ruling register, as YYYY-MM-DD: returns the rulings we had recorded on that date and nothing that arrived afterwards. A provision keeps its own effective_at; only the reading mov |
| obligation | string | no | Slug of an obligation, for example article-50-transparency. Returns the rulings that bear on it. An empty result on an existing obligation means no ruling is recorded, not that the slug is wrong. |
| detail | string | no | Amount of data to return. brief keeps the outcome, the dates, the reasons, the open questions and the source with its locator; full adds the complete objects, every statement text and every hash, for |
Use 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 te
| Parameter | Type | Required | Notes |
|---|---|---|---|
| lang | string | no | Language of the result. Dutch is the default. |
| org | string | no | What kind of organisation uses the system? Values: public = Government or public body (municipality, implementing agency); public_service = Private organisation providing a public service (e.g. educat |
| role | string | no | What is the role of that organisation with regard to the AI system? Values: deployer = Uses a system from a supplier (deployer); provider = Develops it itself and places it on the market under its own |
| aiSystem | string | no | Is it an AI system: does it infer the outcome from data itself (machine learning, language model), rather than only applying fixed rules written by a human? A system that only applies fixed rules draw |
| personalData | string | no | Are personal data processed (data about identifiable people)? |
| domain | string | no | What is the system used for? These areas are listed in Annex III or Annex I of the AI Act. For other insurance than life or health, or for fraud detection, choose none. Values: public_benefits = Grant |
| inService | string | no | Was the system put into service or placed on the market before 2 December 2027? Also yes if it is in use now, or goes into use before that date. This concerns this system in its current form: if its d |
| frequency | string | no | For how long and how often is the system used? Values: continuous = Continuously, with no end date: for every application or case, or every day; periodic = Periodically, with no end date: in fixed rou |
| profiling | string | no | Does the system produce a score, ranking or prediction about persons (profiling)? |
| automated | string | no | Is the decision about a person taken without a human assessing the case on its merits? Also yes if a human only sees part of it, such as the top ten, and the rest get a decision, such as a rejection, |
| effect | string | no | Does the outcome have legal effects or affect people significantly (benefit, job, loan, investigation, exam)? |
| special | string | no | Does it involve special categories of personal data (health, genetic, biometric, racial or ethnic origin, religion or belief, political opinion, trade union membership, sex life or sexual orientation) |
| criminal | string | no | Does it involve personal data relating to criminal convictions or offences, including a suspicion? Art. 10 GDPR: for example a criminal record, a criminal case, or a suspicion or report of an offence. |
| scale | string | no | Does it involve many people, or are people systematically monitored or observed? For example thousands of data subjects, all residents or customers, or continuous monitoring with cameras, location or |
| interaction | array | no | Does the system do one or more of these things? Values: chatbot = People talk or chat with it directly; generated = It creates text, images, audio or video; deepfake = It creates images, audio or vide |
| transfer | string | no | Do the data go to a country outside the European Economic Area, including via the supplier or a cloud? |
| interactionKnown | boolean | no | Whether the answer to interaction is settled, so that an empty list means none of these. Defaults to true when interaction is sent and to false when it is left out; never false when interaction lists |
| apCategories | array | no | Categories of the Dutch Data Protection Authority list of processing that requires a DPIA (Stcrt. 2019, 64418) that the facts of the case confirm. Leave out any category the facts do not show. |
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 Dut
| Parameter | Type | Required | Notes |
|---|---|---|---|
| lang | string | no | Language of the document. Dutch is the default. |
| org | string | no | — |
| role | string | no | — |
| aiSystem | string | no | — |
| personalData | string | no | — |
| domain | string | no | — |
| inService | string | no | — |
| frequency | string | no | — |
| profiling | string | no | — |
| automated | string | no | — |
| effect | string | no | — |
| special | string | no | — |
| criminal | string | no | — |
| scale | string | no | — |
| interaction | array | no | — |
| transfer | string | no | — |
| interactionKnown | boolean | no | — |
| apCategories | array | no | — |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| question | string | yes | The question in general terms, without names, contact details or identifying numbers. |
| lang | string | no | Language of the answer. Dutch is the default. |
Use 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 behi
| Parameter | Type | Required | Notes |
|---|---|---|---|
| lang | string | no | Language of the text and of the booking page. Dutch is the default. |
| topic | string | no | Optional subject of the question, from this fixed list only. It travels in the link as a campaign label (utm_content) to the booking page, so the booking can be traced to this tool. It is the only thi |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Praxikon or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
This listing is an address its publisher runs, and you connect to it directly — this marketplace is not in the path. The scanner reads packages and public source, and an address is neither. So there is no grade — not a withheld one, an unmeasured one.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 2.3.1.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Praxikon can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.