Sovereignty Scan

io.github.kajarilPublished by GitHub account kajarilv0.1.2Updated Oct 24, 2026

EU AI Act sovereignty scanning. Provider residency, registration status, audit trail support.

The publisher's own server: scan.mx Email Diagnostics

VerifiedStreamable HTTPWeb executableSecurity & MonitoringBusiness & Commerce

Overview

AI-generated overview

Remote MCP server that lets an assistant look up EU AI Act vendor sovereignty data: provider residency, CLOUD Act exposure, DPAs and EU alternatives.

What you can do
  • Look up a single vendor's jurisdictional profile: HQ country, data residency regions, EU residency option, US CLOUD Act exposure, GDPR DPA availability and legal framework
  • Aggregate a list of up to 50 vendors into a stack summary with CLOUD Act exposure counts, EU residency coverage and missing DPAs
  • List all tracked providers, optionally filtered by category such as AI, Hosting, Database or Payments
  • Retrieve every provider subject to US CLOUD Act compelled disclosure
  • Suggest EU/EEA/UK/CH-based alternatives in the same category as a given provider, capped at 10
When to use it
Useful when assessing a software stack for EU AI Act or GDPR vendor risk, checking where a vendor processes data, or drafting a list of EU-based alternatives before procurement or compliance review.
Requirements
Remote HTTP endpoint; no local install. A free API key obtained by registering an email address, sent as an Authorization Bearer header. Free tier is limited to 100 requests per day per IP. Self-hosting needs a Cloudflare account with Workers, D1 and KV.
Before you install
Registration requires an email address, and the returned API key cannot be recovered if lost. The free tier is rate-limited and the paid tier with risk scores and remediation guidance is not yet available. Provider data is a third-party reference set, not legal advice.

Installation

In SourceWeft

  1. Open Sovereignty Scan in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.kajaril%2Fsovereignty-scan-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

{
  "mcpServers": {
    "sovereignty-scan": {
      "type": "http",
      "url": "https://sovereignty-scan.kajaril.com/mcp"
    }
  }
}

README

@kajaril/sovereignty-scan-mcp

MCP server for EU AI Act vendor sovereignty scanning. MIT-licensed free tier.

[npm] [npm downloads] [License: MIT] [sovereignty-scan-mcp MCP server]

Know where your stack processes data before the enforcer does. Covers 55 providers across 12 categories.

Install

1. Get a free API key

sh
curl -s -X POST https://sovereignty-scan.kajaril.com/register \  -H "Content-Type: application/json" \  -d '{"email":"[email protected]"}' | jq .api_key

Save the returned key — it cannot be recovered.

2. Add to claude_desktop_config.json

json
{  "mcpServers": {    "sovereignty-scan": {      "type": "http",      "url": "https://sovereignty-scan.kajaril.com/mcp",      "headers": {        "Authorization": "Bearer ks_free_YOUR_KEY"      }    }  }}

Restart Claude Desktop.

Client compatibility

ClientStatus
Claude Desktop✓ Supported
Cursor / Windsurf✓ Supported (HTTP MCP)
claude.ai web✗ Not supported (no HTTP MCP)

Quick test

Verify the endpoint is live:

sh
curl -s https://sovereignty-scan.kajaril.com/health | jq .

Call a tool with your key:

sh
curl -s -X POST https://sovereignty-scan.kajaril.com/mcp \  -H "Authorization: Bearer ks_free_YOUR_KEY" \  -H "Content-Type: application/json" \  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"scan_provider","arguments":{"name":"cloudflare"}}}' \  | jq .

Tools

scan_provider — Full jurisdictional profile for a single vendor: headquarters country, data residency regions, EU residency option, US CLOUD Act exposure, GDPR DPA availability, and legal framework.

  • name — string, case-insensitive

Example response:

json
{  "name": "Cloudflare",  "hq_country": "US",  "data_residency_regions": ["US", "EU", "APAC"],  "eu_residency_option": true,  "us_cloud_act_subject": true,  "gdpr_dpa_available": true,  "legal_framework": "GDPR+SCC"}

scan_stack — Aggregate jurisdictional summary for a list of vendors: CLOUD Act exposure count, EU residency coverage, missing DPAs. Maximum 50 providers per call.

  • providers — string[], max 50

list_providers — List all tracked providers. Optional category filter.

  • category? — AI · Hosting · Database · Auth · Analytics · Observability · CI/CD · Communications · Payments · Search · Sandbox · Cache

get_us_cloud_act_providers — All providers subject to US CLOUD Act compelled disclosure (18 U.S.C. § 2713). No parameters.

suggest_eu_alternatives — EU/EEA/UK/CH-based alternatives in the same category as a given provider. Deterministic ordering: EU/EEA first, then UK/CH. Capped at 10.

  • provider_name — string, case-insensitive

Pricing

FreePaid
Price—€39–149 / mo
LicenseMITSubscription
StatusLiveComing soon
OutputJurisdiction, residency, legal framework, CLOUD Act+ Proprietary risk score + Remediation guidance
AuthAPI key (free registration)API key
Rate limit100 req / day / IPExtended

Paid tier notifications: [email protected]

Self-hosting

Requires a Cloudflare account (Workers + D1 + KV).

1. Clone and install

sh
git clone https://github.com/mightbesaad/sovereignty-scan-mcpcd sovereignty-scan-mcpnpm install

2. Create infrastructure

sh
npx wrangler d1 create sovereignty-db-freenpx wrangler kv namespace create CACHE_KVnpx wrangler kv namespace create KEYS_KVnpx wrangler rate-limit:namespace create RATE_LIMITERnpx wrangler rate-limit:namespace create BURST_LIMITER

Copy the IDs printed by each command into wrangler.jsonc under d1_databases, kv_namespaces, and unsafe.bindings.

3. Apply schema and seed data

sh
npx wrangler d1 execute sovereignty-db-free --remote --file=migrations/0001_providers.sqlnode --input-type=module -e "  import { generateSeedSQL } from './src/seed.js';  process.stdout.write(generateSeedSQL());" | npx wrangler d1 execute sovereignty-db-free --remote --command=-

4. Deploy

sh
npx wrangler deploy

The custom domain (sovereignty-scan.kajaril.com) in the default config is owned by kajaril — remove or replace the routes entry with your own domain or use the default *.workers.dev URL.

Health

GET https://sovereignty-scan.kajaril.com/health

Returns a structured payload (HTTP 200):

json
{  "status": "ok",  "provider_count": 55,  "anthropic_path_count": 3,  "last_kv_refresh": "2026-05-11T00:00:00.000Z",  "cache_age_seconds": 86400,  "schema_version": "0001"}

status is "ok" when D1 is reachable, "degraded" otherwise. cache_age_seconds is null if the KV cache has never been warmed.

License

MIT — see LICENSE.

Source: README.md at commit 6479412

Tools

0
This server asks for a credential such as an API key, so SourceWeft could not read its tools without one and has not indexed them.

Version history

1
  1. v0.1.2LatestSep 16, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Scan integrations