Lunara Intelligence
EU AI Act and SB 942 obligations for AI systems: each date, the article setting it, signed sources
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
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": {
"intelligence": {
"url": "https://luiqtimzcsoqnizybifs.supabase.co/functions/v1/lunara-mcp"
}
}
}Remote endpoints
https://luiqtimzcsoqnizybifs.supabase.co/functions/v1/lunara-mcpstreamable-httpWhat it can do
Tool inventory
Tools (5)
⚪lunara_obligations(jurisdiction, status, id)
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.
Input Schema
{
"type": "object",
"properties": {
"jurisdiction": {
"type": "string",
"description": "Filter, e.g. \"European Union\" or \"California\". Case-insensitive substring."
},
"status": {
"type": "string",
"enum": [
"in_force",
"pending",
"all"
],
"description": "Default all."
},
"id": {
"type": "string",
"description": "Return a single obligation by corpus id, e.g. \"eu-art50\"."
}
}
}⚪lunara_applicability(interacts_with_people, generates_content, generates_images_audio_or_video, eu_exposure, on_market_before_art50, ...)
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.
Input Schema
{
"type": "object",
"properties": {
"interacts_with_people": {
"type": "string",
"enum": [
"yes",
"no",
"unsure"
],
"description": "Does the system exchange words with a person?"
},
"generates_content": {
"type": "string",
"enum": [
"yes",
"no",
"unsure"
],
"description": "Does it produce text, images, audio or video?"
},
"generates_images_audio_or_video": {
"type": "string",
"enum": [
"yes",
"no",
"unsure"
],
"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."
},
"eu_exposure": {
"type": "string",
"enum": [
"yes",
"no",
"unsure"
],
"description": "Does anyone in the EU use it, or its output? The Act binds on output, not on where you are incorporated."
},
"on_market_before_art50": {
"type": "string",
"enum": [
"yes",
"no",
"unsure"
],
"description": "Was it placed on the market before 2 August 2026?"
},
"california_exposure": {
"type": "string",
"enum": [
"yes",
"no",
"unsure"
],
"description": "Is it available to people in California?"
},
"monthly_users_over_1m": {
"type": "string",
"enum": [
"yes",
"no",
"unsure"
],
"description": "More than one million monthly users? This threshold decides the California Act entirely."
},
"hosts_or_distributes_models": {
"type": "string",
"enum": [
"yes",
"no",
"unsure"
],
"description": "Do you host third-party generative models or distribute their output at scale?"
}
}
}⚪lunara_cite(id)
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.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Corpus id, e.g. \"eu-art50\". Use lunara_obligations to list them."
}
},
"required": [
"id"
]
}🟢lunara_integrity
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.
Input Schema
{
"type": "object",
"properties": {}
}⚪lunara_verify(domain, public_id)
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.
Input Schema
{
"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\"."
}
}
}Community
Evidence