protogrid

Search / com.jithox/eu-sanctions-preflight

Jithox EU Counterparty Sanctions Preflight

R1· needs a key

Read-only EU sanctions preflight: screen names/IDs against EU list. Evidence, not a verdict.

v0.2.2 · active · website · descriptor JSON · versions

An agent can connect on its own if it already holds EU_SANCTIONS_PREFLIGHT_TOKEN.Remote endpoint behind a static API key or header. The registry never sees the value; the agent fills the placeholder.
Quality94strong
Trust83of 100
Uptime, 30 days100%
Latency p50495 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "eu-sanctions-preflight": {
      "type": "http",
      "url": "https://sanctions.mcp.jithox.com/mcp",
      "headers": {
        "Authorization": "Bearer ${EU_SANCTIONS_PREFLIGHT_TOKEN}"
      }
    }
  }
}
claude mcp add --transport http eu-sanctions-preflight https://sanctions.mcp.jithox.com/mcp --header "Authorization: Bearer ${EU_SANCTIONS_PREFLIGHT_TOKEN}"
[mcp_servers.eu-sanctions-preflight]
url = "https://sanctions.mcp.jithox.com/mcp"
bearer_token_env_var = "EU_SANCTIONS_PREFLIGHT_TOKEN"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "eu-sanctions-preflight": {
      "type": "remote",
      "url": "https://sanctions.mcp.jithox.com/mcp",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer {env:EU_SANCTIONS_PREFLIGHT_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "eu-sanctions-preflight": {
      "type": "http",
      "url": "https://sanctions.mcp.jithox.com/mcp",
      "headers": {
        "Authorization": "Bearer ${EU_SANCTIONS_PREFLIGHT_TOKEN}"
      }
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=eu-sanctions-preflight&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vc2FuY3Rpb25zLm1jcC5qaXRob3guY29tL21jcCIsImhlYWRlcnMiOnsiQXV0aG9yaXphdGlvbiI6IkJlYXJlciAke0VVX1NBTkNUSU9OU19QUkVGTElHSFRfVE9LRU59In19"
}
{
  "servers": {
    "eu-sanctions-preflight": {
      "type": "http",
      "url": "https://sanctions.mcp.jithox.com/mcp",
      "headers": {
        "Authorization": "Bearer ${EU_SANCTIONS_PREFLIGHT_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "eu-sanctions-preflight": {
      "httpUrl": "https://sanctions.mcp.jithox.com/mcp",
      "headers": {
        "Authorization": "Bearer ${EU_SANCTIONS_PREFLIGHT_TOKEN}"
      }
    }
  }
}
extensions:
  "eu-sanctions-preflight":
    enabled: true
    name: "eu-sanctions-preflight"
    type: streamable_http
    uri: "https://sanctions.mcp.jithox.com/mcp"
    headers:
      "Authorization": "Bearer ${EU_SANCTIONS_PREFLIGHT_TOKEN}"
    timeout: 300

Placeholders to fill from your own secret store: ${EU_SANCTIONS_PREFLIGHT_TOKEN}. The registry never accepts secret values.

Quality 94 / 100strong

protocol100 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • pass
    protocol.list_ttltool list is cacheable (ttlMs 300000)
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 hygiene86 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations5 of 5 tools declare readOnlyHint or destructiveHint
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: screen_sanctioned_name (idempotentHint); prepare_screening_receipt (idempotentHint); screen_sanctioned_identifier (idempotentHint); …
  • pass
    tools.token_costabout 916 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changesno 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

5 tools, about 916 tokens to load them all · tool set cc33e4732365 · checked 2026-10-20 15:26 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

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-28d-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://sanctions.mcp.jithox.com/mcp streamable-httpapi_key ${EU_SANCTIONS_PREFLIGHT_TOKEN}yes100%495 ms2026-07-28, 2025-11-25, 2025-06-18, 2025-03-262026-10-20

Tools (5)

get_sanctions_listingread-onlyReturn the full official listing detail (names, programme, legal basis, listing date, identifier types, countries) for a candidate logicalId surfaced by a prior screen, with provenance. 'found' / 'not_found' / 'unavailable'. Screening evidence only; not a legal/compliance determination, not a clearance. Every result carries source, publication date, checksum and retrieval time.
list_sanctions_regimesread-onlyEnumerate the EU sanctions programmes/regimes present in the snapshot (regulation/legal basis, since date, subject count) — the policy-layer read. 'found' / 'unavailable'. Reference only, not legal advice. Every result carries source, publication date, checksum and retrieval time.
prepare_screening_receiptread-onlyBundle the screening checks into one idempotent Ed25519-signed receipt committing to the HASHED inputs, sources, snapshot checksum, retrieval times and decision states — provable evidence of WHAT was screened and WHEN. Attests the checks, not a clearance or a 'not sanctioned' claim. Screening evidence only; not a legal/compliance determination, not a clearance.
screen_sanctioned_identifierread-onlyDeterministic EXACT match of an identifier (passport / national id / registration / other) against listed designations' identifiers — no fuzzy matching. 'match' / 'clear' / 'unavailable'. Screening evidence only; not a legal/compliance determination, not a clearance. A 'clear' is not a guarantee of non-designation — snapshot-scoped.
screen_sanctioned_nameread-onlyScreen a counterparty name against a dated snapshot of the official EU Consolidated Financial Sanctions List. Returns ranked CANDIDATE designations with deterministic match scores, or 'clear'/'needs_review'/'possible_match'/'match'; no snapshot → 'unavailable'. Never a false clear on outage or fuzzy input. Screening evidence only; not a legal/compliance determination, not a clearance. A 'clear' is not a guarantee of non-designation — snapshot-scoped. Every result carries source, publication date, checksum and retrieval time.

Schemas: list_tools.

Similar MCP servers

More from com.jithox

Official server.json
{
  "name": "com.jithox/eu-sanctions-preflight",
  "_meta": {
    "io.modelcontextprotocol.registry/publisher-provided": {
      "links": {
        "llmsTxt": "https://sanctions.mcp.jithox.com/llms.txt",
        "product": "https://sanctions.mcp.jithox.com/docs",
        "oauthProtectedResource": "https://sanctions.mcp.jithox.com/.well-known/oauth-protected-resource"
      },
      "tools": [
        "screen_sanctioned_name",
        "screen_sanctioned_identifier",
        "get_sanctions_listing",
        "list_sanctions_regimes",
        "prepare_screening_receipt"
      ],
      "scopes": {
        "get_sanctions_listing": "listing:read",
        "list_sanctions_regimes": "regime:read",
        "screen_sanctioned_name": "screen:name",
        "prepare_screening_receipt": "receipt:screening",
        "screen_sanctioned_identifier": "screen:identifier"
      },
      "pricing": "EUR 0.50 per accepted chargeable call. Failed, refused, rate-limited and source-unavailable calls cost EUR 0.00. Free trial first; prepaid credit from EUR 10.",
      "readOnly": true,
      "transport": "streamable-http (remote); no local package.",
      "scopeLimit": "Does not evaluate the 50%-ownership/control rule, beneficial ownership, PEP status or adverse media; does not block, approve or reject; not legal/compliance advice.",
      "accessModel": "OAuth 2.1 + PKCE S256; discover at https://sanctions.mcp.jithox.com/.well-known/oauth-protected-resource. Or send the workspace access key per call as Authorization: Bearer <key> or X-Jithox-Api-Key — never both. A key in a config file is a password; rotate at jithox.com.",
      "doesNotSend": true,
      "lastVerified": "2026-09-03",
      "licenseCaveat": "EU FSF reuse per Commission Decision 2011/833/EU (default CC BY 4.0): commercial and non-commercial reuse is permitted provided the source is acknowledged, the meaning is not distorted, and the Commission accepts no liability — no separate EU data licence is required. Only the EU Official Journal is authentic and only official EU legislation has legal effect. EUR self-service pricing is a Jithox owner choice, not a licence restriction.",
      "officialSource": "EU Consolidated Financial Sanctions List (FSF), xmlFullSanctionsList_1_1, published by the European Union / European Commission (DG FISMA). The operator supplies the export; the runtime never downloads. Jithox normalizes names/identifiers for matching (a change indicated per attribution). Coverage: EU consolidated list ONLY, not global.",
      "toolsLiveProven": "All five tools are live-proven against the ACTIVE official snapshot.",
      "commercialStatus": "SELLABLE_SELF_SERVICE_EUR — public self-service; prepaid EUR credit; signed receipts on the product's own key. 0 paying Sanctions Preflight developers at publication; no revenue claim.",
      "protocolVersions": [
        "2026-07-28",
        "2025-11-25",
        "2025-06-18",
        "2025-03-26"
      ],
      "remoteDeployment": "Live at https://sanctions.mcp.jithox.com/mcp (owner-run). Five read-only tools, OAuth 2.1 + PKCE, least-privilege per-tool scopes, own resource/audience and receipt key. Not independently penetration-tested.",
      "toolDescriptions": {
        "get_sanctions_listing": "Full official listing detail for a candidate logicalId from a prior screen, with provenance.",
        "list_sanctions_regimes": "Enumerate the EU sanctions programmes/regimes in the snapshot (legal basis, since, counts).",
        "screen_sanctioned_name": "Screen a name against a dated official EU FSF snapshot; ranked CANDIDATE matches with deterministic scores; never a false clear.",
        "prepare_screening_receipt": "Idempotent Ed25519 receipt over HASHED inputs/sources/decision states — attests the checks, not a clearance.",
        "screen_sanctioned_identifier": "Deterministic EXACT identifier match against listed designations; no fuzzy matching."
      },
      "publicationStatus": "PUBLIC SELF-SERVICE — generally available through the official MCP Registry.",
      "noComplianceGuarantee": true,
      "notLegalDetermination": true,
      "sanctionsBaselineRequired": "Official EU FSF snapshot is live with auto-refresh and fail-closed freshness. If freshness fails, tools go truthfully unavailable — never a false clear. A no-match is never a guarantee of non-designation, and a stale list is never served as current.",
      "notIndependentlyPenetrationTested": true
    }
  },
  "title": "Jithox EU Counterparty Sanctions Preflight",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://sanctions.mcp.jithox.com/mcp",
      "type": "streamable-http",
      "headers": [
        {
          "name": "Authorization",
          "isSecret": true,
          "isRequired": true,
          "description": "OAuth 2.1 bearer. Discover the authorization server via /.well-known/oauth-protected-resource; PKCE S256 is mandatory; tokens are audience-bound to https://sanctions.mcp.jithox.com/mcp with least-privilege per-tool scopes. The workspace access key may also be sent directly per call (Authorization: Bearer <access key> or X-Jithox-Api-Key) when an OAuth browser callback is not possible. A token issued for the Jithox E-Invoice or Import Preflight server is rejected here (separate resource/audience)."
        }
      ]
    }
  ],
  "version": "0.2.2",
  "websiteUrl": "https://sanctions.mcp.jithox.com/docs",
  "description": "Read-only EU sanctions preflight: screen names/IDs against EU list. Evidence, not a verdict."
}