EU AI Act and SB 942 obligations for AI systems: each date, the article setting it, signed sources
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.
Runs Lunara's published applicability model against a description of an AI deployment and returns which obligations reach it, which do not, and why. Answer only what you actually know — every input accepts "unsure", and an unsure is never resolved in the direction that manufactures an obligation. The model can and does conclude that nothing binds the asker.
Does anyone in the EU use it, or its output? The Act binds on output, not on where you are incorporated.
Does it produce text, images, audio or video?
Is it available to people in California?
Does the system exchange words with a person?
More than one million monthly users? This threshold decides the California Act entirely.
Was it placed on the market before 2 August 2026?
Do you host third-party generative models or distribute their output at scale?
Does it produce images, audio or video, as opposed to only text? Decides whether the prohibition applying from 2 December 2026 can reach it at all.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Runs Lunara's published applicability model against a description of an AI deployment and returns which obligations reach it, which do not, and why. Answer only what you actually know — every input accepts "unsure", and an unsure is never resolved in the direction that manufactures an obligation. The model can and does conclude that nothing binds the asker.
| Argument | Type | Description |
|---|---|---|
| eu_exposure | string | Does anyone in the EU use it, or its output? The Act binds on output, not on where you are incorporated. |
| generates_content | string | Does it produce text, images, audio or video? |
| california_exposure | string | Is it available to people in California? |
| interacts_with_people | string | Does the system exchange words with a person? |
| monthly_users_over_1m | string | More than one million monthly users? This threshold decides the California Act entirely. |
| on_market_before_art50 | string | Was it placed on the market before 2 August 2026? |
| hosts_or_distributes_models | string | Do you host third-party generative models or distribute their output at scale? |
| generates_images_audio_or_video | string | Does it produce images, audio or video, as opposed to only text? Decides whether the prohibition applying from 2 December 2026 can reach it at all. |
{
"type": "object",
"properties": {
"eu_exposure": {
"enum": [
"yes",
"no",
"unsure"
],
"type": "string",
"description": "Does anyone in the EU use it, or its output? The Act binds on output, not on where you are incorporated."
},
"generates_content": {
"enum": [
"yes",
"no",
"unsure"
],
"type": "string",
"description": "Does it produce text, images, audio or video?"
},
"california_exposure": {
"enum": [
"yes",
"no",
"unsure"
],
"type": "string",
"description": "Is it available to people in California?"
},
"interacts_with_people": {
"enum": [
"yes",
"no",
"unsure"
],
"type": "string",
"description": "Does the system exchange words with a person?"
},
"monthly_users_over_1m": {
"enum": [
"yes",
"no",
"unsure"
],
"type": "string",
"description": "More than one million monthly users? This threshold decides the California Act entirely."
},
"on_market_before_art50": {
"enum": [
"yes",
"no",
"unsure"
],
"type": "string",
"description": "Was it placed on the market before 2 August 2026?"
},
"hosts_or_distributes_models": {
"enum": [
"yes",
"no",
"unsure"
],
"type": "string",
"description": "Do you host third-party generative models or distribute their output at scale?"
},
"generates_images_audio_or_video": {
"enum": [
"yes",
"no",
"unsure"
],
"type": "string",
"description": "Does it produce images, audio or video, as opposed to only text? Decides whether the prohibition applying from 2 December 2026 can reach it at all."
}
}
}Returns a citation block for one obligation: status, effective date, instrument, article, penalty, primary source, amending act, evidence classification and the time the tense was computed. Use this when you are about to state a regulatory date or requirement to someone, so the claim carries its source.
| Argument | Type | Description |
|---|---|---|
| id* | string | Corpus id, e.g. "eu-art50". Use lunara_obligations to list them. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Corpus id, e.g. \"eu-art50\". Use lunara_obligations to list them."
}
}
}Reports whether the documents this server fetched carry a valid Ed25519 signature from Lunara Society, and returns the digests and key material needed to check that independently. Use it when the answer matters enough that the provenance of the source does: a corpus served from a mirror, a cache or a snapshot is not covered by the transport security of the original fetch, and this is what covers it instead.
No arguments.
{
"type": "object",
"properties": {}
}The regulatory obligations Lunara Society tracks, with tense computed at the moment of the call. Each carries the instrument, the article that sets the date, a link to primary law, and any amending act. Use this to answer "what is in force", "what is coming", or "what does instrument X require" rather than recalling dates from training data — several of these have been amended, one of them five days before it would have applied.
| Argument | Type | Description |
|---|---|---|
| id | string | Return a single obligation by corpus id, e.g. "eu-art50". |
| status | string | Default all. |
| jurisdiction | string | Filter, e.g. "European Union" or "California". Case-insensitive substring. |
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Return a single obligation by corpus id, e.g. \"eu-art50\"."
},
"status": {
"enum": [
"in_force",
"pending",
"all"
],
"type": "string",
"description": "Default all."
},
"jurisdiction": {
"type": "string",
"description": "Filter, e.g. \"European Union\" or \"California\". Case-insensitive substring."
}
}
}Checks whether a business carries Lunara Shield certification. Returns verified, not_registered or revoked. IMPORTANT: not_registered is not a negative signal about the business — it means the verification process has not been completed, which is true of most organisations. Do not present it as a warning. Reading the registry is free and unauthenticated by design.
| Argument | Type | Description |
|---|---|---|
| domain | string | Business domain, e.g. "example.com". |
| public_id | string | Lunara public id, e.g. "SHIELD-2026-0001". |
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "Business domain, e.g. \"example.com\"."
},
"public_id": {
"type": "string",
"description": "Lunara public id, e.g. \"SHIELD-2026-0001\"."
}
}
}