Scrutica
REMOTE · SCRUTICA.COM · SCANNED AUG 3
AI compute infrastructure intelligence: facilities, supply chains, sovereign AI, export controls.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 10 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability80
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 2723 tokens (~151/item across 18 items; 10 tools + 8 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
- Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage91
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 73% of tool parameters carry a description.Partial
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · scrutica.com
claude mcp add --transport http davidgringras-scrutica https://scrutica.com/api/mcp
[mcp_servers.davidgringras-scrutica] url = "https://scrutica.com/api/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"davidgringras-scrutica": {
"type": "remote",
"url": "https://scrutica.com/api/mcp",
"enabled": true
}
}
} openclaw mcp add davidgringras-scrutica --url https://scrutica.com/api/mcp --transport streamable-http
mcp_servers:
davidgringras-scrutica:
url: "https://scrutica.com/api/mcp" {
"mcpServers": {
"davidgringras-scrutica": {
"type": "http",
"url": "https://scrutica.com/api/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 2 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Jul 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.
- 29 Jul 26 0
- Tool “scrutica_get_supply_chain” rewrote its description, which is the text the model reads security
- 28 Jul 26 0
- Tool “scrutica_get_supply_chain” rewrote its description, which is the text the model reads security
- Tool “scrutica_get_sovereign_program” rewrote its description, which is the text the model reads security
- Schema quality: 137 → 151 ▼ functional
- 27 Jul 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 26 Jul 26 65
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Probed https://scrutica.com/api/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=*.scrutica.com | CN=YR2,O=Let's Encrypt,C=US | 30 Jul 2026 | 28 Oct 2026 | RSA 2048 | SHA256-RSA | 61ecf4b66fafa803c19e4aa77aef2b49293 |
| SANs: *.scrutica.com, scrutica.com | ||||||
| CN=YR2,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | 4ebd24947e24d394802d84a52fd5b319 |
| CN=Root YR,O=ISRG,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | RSA 4096 | SHA256-RSA | f24b6d17f9d9ad7cb1c9fea78782699f |
DNSSEC insecure
Validation of scrutica.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| scrutica.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=63072000 |
| content-security-policy | default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://*.googleapis.com https://*.google-analytics.com https://*.googletagmanager.com https://*.vercel-scripts.com https://*.mapbox.com; style-src 'self' 'unsafe-inline' https://*.mapbox.com; img-src 'self' data: blob: https://*.mapbox.com https://*.supabase.co https://*.google-analytics.com https://*.googletagmanager.com https://*.google.com https://stats.g.doubleclick.net; connect-src 'self' https://*.supabase.co https://*.mapbox.com https://*.google-analytics.com https://*.googletagmanager.com https://*.analytics.google.com https://stats.g.doubleclick.net https://us.i.posthog.com https://us-assets.i.posthog.com; font-src 'self' data:; object-src 'none'; base-uri 'self'; worker-src 'self' blob:; child-src 'self' blob:; frame-ancestors 'self' |
| x-content-type-options | nosniff |
| x-frame-options | SAMEORIGIN |
| referrer-policy | strict-origin-when-cross-origin |
| permissions-policy | camera=(), microphone=(), geolocation=() |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://scrutica.com/api/mcp | Verified | 200 | |
| http (plaintext) | http://scrutica.com/api/mcp | HTTPS enforced | 308 | https://scrutica.com/api/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
scrutica_entity_list_changes ~520
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.
| Name | Type | Req | Description |
|---|---|---|---|
| company_id | string | — | Scope to change events touching one organization. Canonical Scrutica org ID ('org-<slug>'); the id space is the matched_org_id values the BIS cross-reference carries, so designated entities without a… |
| limit | integer | — | Max change events to return (default 6, max 24), newest first. The count field always reports the full total in scope. At the Federal Register's Entity-List cadence the default already reaches back s… |
| weeks | integer | — | ISO-week span of the activity rollup (default 8 — the change-log page's own window; max 52). |
No output schema declared.
No examples provided.
scrutica_estimate_flops ~239
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.
| Name | Type | Req | Description |
|---|---|---|---|
| hardware_type | string | yes | GPU / accelerator model |
| precision | string | — | — |
| sparsity | string | — | Structured-sparsity mode. NOTE: both values currently apply a 1.0x multiplier — the theoretical 2x speedup of 2:4 sparsity rarely materializes in wall-clock training throughput, so this estimator del… |
| unit_count | integer | yes | Number of accelerators |
| utilization | number | — | Sustained utilization (MFU) fraction (default 0.40; documented range 0.20–0.50, calibrated to PaLM 540B 0.462 and LLaMA 3 405B 0.384) |
No output schema declared.
No examples provided.
scrutica_get_company ~130
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.
| Name | Type | Req | Description |
|---|---|---|---|
| company_id | string | yes | Canonical Scrutica organization ID. Format: 'org-<slug>' (e.g. 'org-nvidia', 'org-tsmc', 'org-huawei'). Resolve via scrutica_search first — do NOT guess slugs. |
No output schema declared.
No examples provided.
scrutica_get_facility ~181
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.
| Name | Type | Req | Description |
|---|---|---|---|
| facility_id | string | yes | Canonical Scrutica facility ID. Format: 'fac-<slug>' (e.g. 'fac-tsmc-arizona-fab21-p2', 'fac-tsmc-fab-18'). Resolve via scrutica_search first — do NOT guess slugs. |
No output schema declared.
No examples provided.
scrutica_get_methodology ~94
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".
| Name | Type | Req | Description |
|---|---|---|---|
| topic | string | yes | — |
No output schema declared.
No examples provided.
scrutica_get_scenario ~110
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 scenario summary with key assumptions, affected facilities, recovery timeline, and source citations.
| Name | Type | Req | Description |
|---|---|---|---|
| scenario_id | string | yes | — |
No output schema declared.
No examples provided.
scrutica_get_sovereign_program ~480
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.
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | — | ISO 3166-1 alpha-2 |
| list_all | boolean | — | Return summary of all sovereign programs instead of a single record |
| program_id | string | — | Scrutica sovereign-program ID in the form 'sovereign-<country_code>' (e.g. 'sovereign-ae'), as returned by scrutica_search and list_all. The bare country_code is also accepted. Regional programs carr… |
No output schema declared.
No examples provided.
scrutica_get_supply_chain ~176
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: 21,037 edges from a licensed supply-chain database (held under subscription, not redistributed) plus SEC Exhibit 21 (substrate snapshot 2026-07-28).
| Name | Type | Req | Description |
|---|---|---|---|
| direction | string | — | — |
| limit | integer | — | — |
| org_ids | array | yes | Scrutica org IDs in 'org-<slug>' format (e.g. ['org-nvidia', 'org-tsmc']) |
No output schema declared.
No examples provided.
scrutica_query_export_controls ~352
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.
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | — | ISO 3166-1 alpha-2 |
| entity_id | string | — | Scrutica org ID (exact match) |
| entity_name | string | — | Company name (fuzzy matched against aliases) |
| limit | integer | — | — |
No output schema declared.
No examples provided.
scrutica_search ~172
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.
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | — | ISO 3166-1 alpha-2 country code (e.g. US, CN, TW) |
| entity_type | string | — | Limit results to this entity class |
| limit | integer | — | — |
| query | string | yes | Free-text search query |
No output schema declared.
No examples provided.