mcp server
Scrutica
AI compute infrastructure intelligence: facilities, supply chains, sovereign AI, export controls.
Description as published by the maintainer. Source
- version 0.2.0
- active
active — Registry entry last updated 2026-07-24.
What this server can do
10 functions, named and described by the server itself. Parameter names are shown because they say more about what a function does than its name usually does.
scrutica_entity_list_changes(limit, weeks, company_id)- What CHANGED in the BIS Entity List, as bounded change-log summaries. Backed by the same derivation the public /export-controls/changes page and its RSS feed render. PREFER this over scrutica_query_export_controls for freshness questions ("what changed this month", "latest additions", "recent removals"): designation rows arrive already grouped into per-Federal-Register-notice change events, so you do not re-derive notice grouping from citation strings. Each event carries: canonical FR citation and link, notice title / publication date / document number where the citation resolved to one FR document, a derived event date labeled with the source column it came from, entity / addition / removal counts, per-country counts, a bounded sample of entity names, and the entities cross-referenced to compute-infrastructure organizations. Removal actions are returned separately as date-keyed events — a screening list maintained from additions alone over-blocks forever. Also returns a last-N-ISO-week activity rollup counting BOTH additions and removals. Zero-count weeks are a real quiet-Federal-Register signal, not missing data. Results are bounded summaries, never row dumps: at most 24 events per call (default 6, newest first), with any truncation declared in metadata. Cite totals from the count field and per-event entity_count — never by summing a sampled list. Do NOT use this to look up one entity's designation rows — use scrutica_query_export_controls (substring match on the published name). Use company_id here only to scope the log to notices touching an organization you already resolved. Authority tier: Federal-Register-anchored designations are Tier 1 (primary source). The event date is derived (modal designation_date, falling back to modal effective_date) and labeled with its source.
scrutica_estimate_flops(sparsity, precision, unit_count, utilization, hardware_type)- Compute peak BF16 FLOP estimates for a hardware configuration. Returns point estimate + bounds. Methodology matches the Interactive Methodology Explorer at /methodology#flop-estimation. Do NOT present outputs as exact measurements — always relay the bounds and the is_estimated flag. Required: hardware_type, unit_count.
scrutica_get_company(company_id)- Fetch complete details for a single organization (company, government entity, holding company) by canonical Scrutica ID. Returns: legal name, country of HQ, organization type, parent / subsidiary references, supply-chain edge counts. Use scrutica_query_export_controls for BIS designation details. Use scrutica_get_supply_chain for full edge graphs. Required: company_id.
scrutica_get_facility(facility_id)- Fetch complete details for a single Scrutica facility by canonical ID. Returns: operator, owner, country, power capacity (MW), GPU inventory (where disclosed), location (lat/lng), facility type, status, data_source, source_url, is_estimated flags, and any logged data-quality flags (cross-source divergence investigations). For BIS Entity List designations tied to the facility's owner, look up the owner org via scrutica_query_export_controls — this tool does not compute ownership-chain BIS exposure. Resolve facility IDs first via scrutica_search. Required: facility_id.
scrutica_get_methodology(topic)- Return methodology documentation for a Scrutica metric or index. Topics: 'flop-estimation', 'cost-index', 'compute-visibility-index', 'supply-chain-weighting', 'chokepoint-cascade', 'sovereign-execution-classification'. Returns the canonical URL + section anchor + summary. Use this when a user asks "how did you calculate X". Required: topic.
scrutica_get_scenario(scenario_id)- Fetch geopolitical compute risk scenarios. Available: 'taiwan-strait' (4 TSMC disruption scenarios), 'iran-threat' (IRGC missile range vs Gulf compute), 'tokyo-earthquake' (Japan memory-fab exposure), 'south-china-sea' (submarine cable severing), 'abqaiq-2' (Saudi grid). Returns the scenario's summary plus its substrate serialized from the interactive page's own data modules — assumption scenarios / threat systems / affected assets with per-item sources and authority tiers, capped lists shipping their true totals. The propagation SIMULATION itself remains interactive-only at the returned URL. Required: scenario_id.
scrutica_get_sovereign_program(country, list_all, program_id)- Fetch detailed data on a national sovereign AI compute program. Returns: announced_usd, announced_govt_only_usd, committed_usd, disbursed_usd, reality_ratio, status, key_partners, governance_reach, NVIDIA/US dependency, source_count. 'list_all' returns a summary table of all tracked programs. READ THE TWO ANNOUNCED FIELDS BEFORE COMPARING COUNTRIES. announced_usd is the all-capital headline and rolls private commitments in with government money, so it is NOT comparable across countries as-is: the UAE line ($518.74B) and France ($201.34B) are dominated by private vehicles (Stargate UAE, SoftBank), while the US line ($2.6B) is essentially NAIRR alone. announced_govt_only_usd is the government-only figure and is the comparable one. reality_ratio = disbursed_usd / announced_govt_only_usd (falling back to announced_usd only when no government-only figure exists). It is deliberately NOT disbursed_usd / announced_usd. Each row ships reality_ratio_denominator_usd and reality_ratio_denominator_field so the division is reproducible from the payload. reality_ratio is null for most programs because disbursed_usd is unpublished — see reality_ratio_unavailable_reason. Absence concentrates in the least transparent programs (Saudi, China, Korea, UAE all report no disbursed figure), so a ranking by reality_ratio is a ranking of DISCLOSURE, not of execution; do not present it as the latter.
scrutica_get_supply_chain(limit, org_ids, direction)- Return supply-chain relationships for one or more organizations. direction = 'upstream' traces suppliers (who feeds this entity); 'downstream' traces customers (who depends on this entity); 'both' returns both. Each edge: source_org_id, target_org_id, relationship_type, supply_share (where disclosed), price_correlation_3m (3-month rolling, where available), data_source. Dataset: 18,999 edges from a licensed supply-chain database (held under subscription, not redistributed) plus SEC Exhibit 21 (substrate snapshot 2026-08-12). Required: org_ids.
scrutica_query_export_controls(limit, country, entity_id, entity_name)- Look up BIS Entity List designations for companies or countries. The queried dataset is the US Commerce Department Entity List, Federal-Register-anchored; it does NOT cover OFAC SDN or Wassenaar CCL (for an organization's OFAC SDN / NS-CMIC / Section-1260H status, use scrutica_get_company — the record carries on_ofac_sdn / on_ns_cmic / on_1260h booleans). entity_name is a case-insensitive substring match against the designated entity's published name (no alias expansion). Returns entity_name, entity_type, country, list_type, designation_date, removal_date, grounds, federal_register_citation, source_url (Federal Register notice URL), data_quality_flags. Authority tier: Federal-Register-anchored designations are Tier 1 (primary source). bis_coverage_class discriminates how a row is covered: explicitly_named (FR notice cites the entity by name) vs affiliate_50pct_rule (inferred via BIS's 50% Affiliates Rule). coverage_note is populated only on affiliate_50pct_rule rows and states whether that rule is currently suspended. data_quality_flags is an array of provenance/caveat notes, empty for most rows; where present (derived-country provenance, removal-date sourcing, or the affiliate rows' suspension and substrate-reproducibility caveats) treat it as load-bearing context for the row.
scrutica_search(limit, query, country, entity_type)- Search facilities, companies, or sovereign programs by free-text query. Returns ranked results with id, name, type, one-line summary, and Scrutica URL. Filter by entity_type to scope to a single class. Filter by ISO 3166-1 alpha-2 country code. Do NOT use this for BIS Entity List / export-control lookups — use scrutica_query_export_controls. Do NOT use this for supply-chain traversal — resolve an entity ID first via this tool, then call scrutica_get_supply_chain. Required: query.
Last successful function declaration observed on . Source: https://scrutica.com/api/mcp. We list what the server declared; we do not call any of these functions.
Endpoint status observed on . Source: https://scrutica.com/api/mcp.
Signals
These are separate measurements of different things. They are deliberately not combined into one score, because a popularity number that mixes website traffic with saves and stars cannot be checked or acted on.
| Signal | Value | What it measures | Window | Observed | Source |
|---|---|---|---|---|---|
| Latest published version | 0.2.0 | Latest version string the maintainer published to the registry. | as of fetch | Model Context Protocol | |
| Registry record last updated | 2026-07-24 | When the registry record was last updated by its maintainer. | point in time | Model Context Protocol | |
| First listed in the MCP Registry | 2026-07-24 | Date this server was first published to the official MCP Registry. Not a usage or quality measure. | point in time | Model Context Protocol | |
| mcp tools declared | 10 tools | Number of functions the server itself declared when asked to list them. This is what the server offers an agent, not a measure of how well any of them work. | as of probe | scrutica.com | |
| mcp endpoint status | ok | The server listed 10 functions when asked. | as of probe | scrutica.com |
Where to get it
This record as data
Every field on this page, with its source and observation date, is in the catalog JSON. Fetch the whole kind at once instead of parsing this HTML.
GET /api/v1/entries/mcp_server.json