Skip to content

Warmth Engine Observatory

by warmthengine.com · remote · no sign-in to list tools · v1.25.5 · published by com.warmthengine

Coordination Intelligence: AI infrastructure coordination dynamics across geopolitical blocs

Changes · 1

18 tools: 1 change things and 17 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http observatory https://warmthengine.com/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

18 tools

Changes things 1Claude Code: ask
  • traverse_coordinationWalk the Coordination Topology lineage graph (precomputed lookups over the parent→child Coordination Connection DAG).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Walk the Coordination Topology lineage graph (precomputed lookups over the parent→child Coordination Connection DAG). `mode="path"` returns every path between `source` and `target`, each with its CC-type (connection-type) sequence and whether it is pure lineage (homogeneous) or crosses a sibling/bidirectional edge; `mode="ancestors"`/`"descendants"` return the nodes reachable up/down the hierarchy; `mode="neighbours"` returns direct parents and children. For a node's structural metrics or the whole-graph summary rather than walks, use `get_topology`. `cc_types` (connection-type filter) and `max_depth` apply to `path` AND to the `ancestors`/`descendants`/`neighbours` adjacency walks — supplying either runs a bounded typed walk over the backbone edges. `homogeneous_only` is `path`-only (drops any path crossing a sibling edge); sent to an adjacency mode it is returned in `ignored_params`. A bare numeric `node_id` missing the `E` prefix is resolved (the canonical form is echoed as `resolved_node_id`); a node that exists but carries no backbone edges is reported as such rather than as unknown.

    Annotations the server declares

    • title: Traverse Coordination Lineage
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 17Claude Code: allow
  • get_actorsRetrieve whole Sovereign Capability Profile (SCP) actors — each with its designation (PAA / AIK / ACS / Participant), capability score, severance result, `assessed` (the register m…No findings

    Why it is in this group

    • The name "get_actors" says "get": a word for reading.
    Description, as the server wrote it
    Retrieve whole Sovereign Capability Profile (SCP) actors — each with its designation (PAA / AIK / ACS / Participant), capability score, severance result, `assessed` (the register month, YYYY-MM, the profile was assessed in), a met/not-met assessment across the seven capability dimensions (D1–D7), and `energy_context`. Use to fetch complete actor records; to pivot one dimension across all actors, compare actors side by side, or read the dimension-watch register, use `query_scp`. Filter by designation or actor name. Free tier returns each dimension's met status and recorded headline (and the US sample in full); full tier adds the per-dimension constraint, qualification, and sources. `energy_context` carries installed generation capacity from the U.S. Energy Information Administration and annual electricity generation from the energy think tank Ember, served in full on both tiers: external reference data outside the WEO analytical stack, national totals, dated observations reported as published, accompanying the profiles but forming no part of them. Descriptive — recorded status, never inference.

    Annotations the server declares

    • title: Get Sovereign Capability Profile Actors
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_blocsRetrieve the WEO Bloc Membership Register — every nation in the register with its bloc assignment and universal membership category (Core / Integrated / Engaged / Peripheral / Non-…No findings

    Why it is in this group

    • The name "get_blocs" says "get": a word for reading.
    Description, as the server wrote it
    Retrieve the WEO Bloc Membership Register — every nation in the register with its bloc assignment and universal membership category (Core / Integrated / Engaged / Peripheral / Non-Aligned), its key evidence and source URLs, plus document metadata and sectioned provenance (snapshot history, changelog, pre-register decisions). Served whole and free — the machine mirror of the public blocs register. A descriptive roster, never inference; the category definitions themselves are served by `get_methodology`.

    Annotations the server declares

    • title: Get Bloc Membership Register
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_capability_signaturesRetrieve the precomputed Capability Signatures — directional Coordination Connection (CC) chains or hubs (connection types 1/3/4/5) whose member events span two or more Sovereign C…No findings

    Why it is in this group

    • The name "get_capability_signatures" says "get": a word for reading.
    Description, as the server wrote it
    Retrieve the precomputed Capability Signatures — directional Coordination Connection (CC) chains or hubs (connection types 1/3/4/5) whose member events span two or more Sovereign Capability Profile (SCP) dimensions, surfaced as corroborating structural texture rather than a headline finding. Omit `signature_id` for the whole set — each signature with its nodes, directional legs (from/to + connection type), dimension span, attribution profile, and narrative; its `member_links`, the explicit list of Capability Link `link_id`s its nodes correspond to; and its own lifecycle fields — `created`, `scp_register_version`, `assessed_under`, `status` — plus metadata (the directional-edge inventory, the active/retired `status_counts`, and the pre-operational caveat) and the non-signature same-capability clusters. Pass `signature_id` (e.g. "CS-001") for one. A signature is never edited in place: a change to its member set retires it whole, and a still-qualifying structure re-enters as a new signature. Active signatures are returned by default; pass `include_retired` to receive retired signatures alongside. `member_links` is the authoritative reference into the membership layer: the node fields are denormalised for rendering and are subordinate to it, so resolve a `link_id` through `get_capability_links` for that node's current status and full detail. For the underlying event↔dimension membership links, use `get_capability_links`. A derived overlay over the directional CC graph; served in full and free, lifecycle fields included.

    Annotations the server declares

    • title: Get Capability Signatures
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_commitmentsRetrieve the Compute Commitment Register — verified commitments of computing capacity by named actors to societal challenges, one record per instrument, quantities as published, ne…No findings

    Why it is in this group

    • The name "get_commitments" says "get": a word for reading.
    Description, as the server wrote it
    Retrieve the Compute Commitment Register — verified commitments of computing capacity by named actors to societal challenges, one record per instrument, quantities as published, never summed. Returns the challenge table (documents counted once per challenge touched; Committed and Allocated counts), the actor table, records with commitment, delivery and corroborating evidence, the Challenge List Reference, and `definitions` (each register term's defining sentence from the published working note, deep-linked). The register touches events only through Challenge Attributions — for an attributed event use `get_event`; for sovereign capability use `query_scp`; for coordination metrics use `get_metrics`. Pass `view` as `table` (default), `actors`, `records` or `challenges`; filter with `challenge`, `actor_id`, `actor_type`, `band`, `status`, `ai_compute` or `standing`; `record_id` returns one record in full, line items included; `include_history` returns the append-only observation series. Figures are dated observations within a Challenge List epoch — floors of located disclosure, never measures of activity; status stays `pre_operational` until the register's stated conditions are met. Served in full on both tiers.

    Annotations the server declares

    • title: Get Compute Commitment Register
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_connection_by_idRetrieve a single Coordination Connection (CC) by its `connection_id` (e.g.No findings

    Why it is in this group

    • The name "get_connection_by_id" says "get": a word for reading.
    Description, as the server wrote it
    Retrieve a single Coordination Connection (CC) by its `connection_id` (e.g. "CC-06-11-3"). Use when you have the exact identifier; to list or filter CCs, use `get_connections`. Returns the CC with full evidence on the full tier — or when an endpoint is a sample event — and the base fields only otherwise.

    Annotations the server declares

    • title: Get Coordination Connection by ID
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_connectionsRetrieve Coordination Connections (CCs) — the typed, directional relationships WEO records between events — optionally filtered by event (as source or target), type (1–7), or confi…No findings

    Why it is in this group

    • The name "get_connections" says "get": a word for reading.
    Description, as the server wrote it
    Retrieve Coordination Connections (CCs) — the typed, directional relationships WEO records between events — optionally filtered by event (as source or target), type (1–7), or confidence (CC-V / CC-E / CC-A). For a single CC by its identifier, use `get_connection_by_id`. Each CC carries its id, source/target event IDs, type name + number, confidence, and direction; full tier — and either tier when an endpoint is a sample event — adds the evidence summary, evidence detail, and verification history.

    Annotations the server declares

    • title: Get Coordination Connections
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_contributionLook up WEO Contribution Architecture vocabulary — the contributor programme's terms, credit classes, and governance provisions (e.g.No findings

    Why it is in this group

    • The name "get_contribution" says "get": a word for reading.
    Description, as the server wrote it
    Look up WEO Contribution Architecture vocabulary — the contributor programme's terms, credit classes, and governance provisions (e.g. "Delta Credit", "Founding Observer", "Observer Network", "rate card", "malinformation"). Returns the term's context, its section anchor, and a deep link into the self-hosted CA edition. Omit `term` for programme status: phase, activation criterion, current corpus size, and enquiry address. Use to resolve participation vocabulary — the Contribution Architecture governs participation, whilst the Methodology Manual (`get_methodology`) governs what qualifies. Matching is exact-first, then substring; an unknown term returns a sample of available terms. Served in full on both tiers.

    Annotations the server declares

    • title: Get Contribution Architecture Terms
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_coverage_statsRetrieve the current corpus statistics — live counts and distributions of events, Coordination Connections (CCs), and Sovereign Capability Profile actors across bloc, tier, domain,…No findings

    Why it is in this group

    • The name "get_coverage_stats" says "get": a word for reading.
    Description, as the server wrote it
    Retrieve the current corpus statistics — live counts and distributions of events, Coordination Connections (CCs), and Sovereign Capability Profile actors across bloc, tier, domain, event type, primary industry, CC type, confidence, and designation, plus Environmental Nexus Tag (ENT) statistics with the Warmth Engine Ratio, counts of the derived layers — Infrastructure Threads, Capability Links with their type split, and Capability Signatures — the event-ID range, and the methodology version. Capability Link and Capability Signature counts are of active records only: retired records are excluded so the figures describe present coverage rather than everything ever assessed, with the active/retired splits published in the two capability tools' metadata. No parameters; figures are computed live, so the response always reflects the present database. The secondary-industry breakdown is full-tier only.

    Annotations the server declares

    • title: Get Coverage Statistics
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_eventRetrieve one event by ID — classification, assessment, sources, industry tags, Environmental Nexus Tags (ENTs), bloc analysis, and tier rationale.No findings

    Why it is in this group

    • The name "get_event" says "get": a word for reading.
    Description, as the server wrote it
    Retrieve one event by ID — classification, assessment, sources, industry tags, Environmental Nexus Tags (ENTs), bloc analysis, and tier rationale. Use when you already hold an event ID; to find IDs, use `search_events`. Pass `event_id` as the zero-padded string (e.g. "06", "141"). `date` is the implementation date (general availability for a product release). Free tier returns the complete record for sample events and the classification facts for all others (deeper assessment and evidence withheld); full tier returns every field.

    Annotations the server declares

    • title: Get Event
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_event_stackAssemble the stack journey for one event — its kind-labelled value-chain neighbourhood at depth 1, the same composition the Atlas renders, in one call.No findings

    Why it is in this group

    • The name "get_event_stack" says "get": a word for reading.
    Description, as the server wrote it
    Assemble the stack journey for one event — its kind-labelled value-chain neighbourhood at depth 1, the same composition the Atlas renders, in one call. Returns three separate arrays, never merged: `coordination` — the event's own Coordination Connections (CCs), all seven connection types, directed (types 1/3/4/5) and bidirectional/sibling (types 2/6/7) alike; each carries type/confidence/direction, plus evidence at full tier; `material` — the event's own Infrastructure-Thread edges, one per source→target pair, each with its sourced asset facts (`linkType` + asset + naming field); `capability` — the active Sovereign Capability Profile (SCP) dimension-membership waypoints for the event itself (actor, dimension, link_type, attribution, entity, and the link's `link_id` and lifecycle fields; plus qualification_basis/rationale/note at full tier). The three are different kinds of claim: a thread is a factual asset match, not a CC, and is never rendered as one. The capability array carries active links only and takes no parameter to widen it — a stack is the event's neighbourhood as the corpus now stands; for retired memberships, use `get_capability_links` with `include_retired`. A derived view over the existing connections, threads, and capability links — each substrate keeps its own gating, and the free tier leaks no paid fields. For the material layer alone, use `get_threads`; for the directed multi-hop coordination lineage between events, use `traverse_coordination`. Pass `event_id`.

    Annotations the server declares

    • title: Get Event Stack
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_methodologyLook up the WEO methodology definition for any platform-specific term, field, or concept (e.g.No findings

    Why it is in this group

    • The name "get_methodology" says "get": a word for reading.
    Description, as the server wrote it
    Look up the WEO methodology definition for any platform-specific term, field, or concept (e.g. "CC-V", "T2", "PAA", "ENT-1", "PIET"). Returns the term's definition, its section anchor, a deep link to that section of the published methodology, and the methodology version. Use to resolve any vocabulary the other tools return. Pass `term`; matching is exact-first, then substring, and an unknown term returns a sample of available terms.

    Annotations the server declares

    • title: Get Methodology Definition
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_metricsRetrieve the WEO quantitative coordination metrics — dated observations of the documented connection network computed under Towards Coordination Science (TCS).No findings

    Why it is in this group

    • The name "get_metrics" says "get": a word for reading.
    Description, as the server wrote it
    Retrieve the WEO quantitative coordination metrics — dated observations of the documented connection network computed under Towards Coordination Science (TCS). Returns Cross-Sector Transmission Frequency (CSTF) with its permutation null model, the cross-sector transmission matrix (sparse non-zero cells plus the fixed 11-category row order), Framework Family Density, Cross-Bloc Connection Frequency, and Connection Growth Rate. For live corpus counts and distributions, use `get_coverage_stats` — metrics here are derived, dated observations, never live recomputations. Omit `metric` for all of them; set `include_history` for the full append-only series rather than the latest observation. Pre-operational: the corpus has not reached operational threshold, so every value is a dated observation of the documented record as constructed, not a measurement of the real-world coordination landscape. Each metric carries its own `status` — `published` metrics are surfaced on the platform; `pre_operational` ones are recorded but not publication-grade; `insufficient_corpus` ones are blocked. Values are comparable only within a `taxonomy` epoch. Served in full on both tiers.

    Annotations the server declares

    • title: Get Coordination Metrics
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_threadsRetrieve Infrastructure Threads — the factual material-link layer recording where the same named AI hardware asset (chip / GPU / NPU / custom ASIC) appears as a documented fact in …No findings

    Why it is in this group

    • The name "get_threads" says "get": a word for reading.
    Description, as the server wrote it
    Retrieve Infrastructure Threads — the factual material-link layer recording where the same named AI hardware asset (chip / GPU / NPU / custom ASIC) appears as a documented fact in two events. A thread is not a Coordination Connection: no connection type, no confidence grade — either the asset match is verified or it isn't. Pass `event_id` for that event's linked events in both directions: outbound = assets this event deploys or trains on, each linking to its producer event; inbound = events that use this event's asset. Each link carries the sourced claim (`linkType` ∈ deploys | trains_on | powered_by | fabricated_at, plus the asset) and the host-event field that names it. Omit `event_id` for the whole layer. For one event's value-chain stack, use `get_event_stack`. Free on both tiers.

    Annotations the server declares

    • title: Get Infrastructure Threads
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_topologyRetrieve the precomputed Coordination Topology — the structural lineage layer over the parent→child Coordination Connection graph (a DAG).No findings

    Why it is in this group

    • The name "get_topology" says "get": a word for reading.
    Description, as the server wrote it
    Retrieve the precomputed Coordination Topology — the structural lineage layer over the parent→child Coordination Connection graph (a DAG). Omit `node_id` for whole-graph network statistics (taxonomy-class counts, roots, multi-parent nodes, dominant roots by coordination reach, weakly-connected components). Pass `node_id` (e.g. "E34") for one node's structural metrics: generational depth (min/max/all-paths), coordination reach, directed betweenness, path diversity, fan-in/out, taxonomy class, component id. For the actual paths between nodes or up/down a lineage use `traverse_coordination`; for one event's value-chain stack use `get_event_stack`. Optional `class` / `cc_type` / `min_reach` filters return matching nodes. The full tier adds the held analyst layer (chain participation, curated orphan/sibling and named-feature sets).

    Annotations the server declares

    • title: Get Coordination Topology
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • query_scpQuery the Sovereign Capability Profile (SCP) register by pivoting and comparing — distinct from `get_actors`, which fetches whole actors and is where `energy_context` is served; it…No findings

    Why it is in this group

    • The name "query_scp" says "query": a word for reading.
    Description, as the server wrote it
    Query the Sovereign Capability Profile (SCP) register by pivoting and comparing — distinct from `get_actors`, which fetches whole actors and is where `energy_context` is served; it is not returned here. Pass exactly one of: `dimension` (e.g. "D3") pivots that one dimension across every actor (each actor's met status and recorded headline, on what basis); `actors` (e.g. ["US","CN"]) lays those actors side by side across all seven dimensions (D1–D7); `watch:true` returns the `dimension_watch` register (forward-looking entries: actor, dimension, current vs expected_change, trigger, timeline). Readouts are descriptive — recorded status and fields, never causal inference. Free tier carries `met` + the headline for all actors and the US sample in full; the full tier adds the per-dimension evidence (constraint, qualification, sources, and `escalation_trigger` where recorded). Omit all three params for a usage hint.

    Annotations the server declares

    • title: Query Sovereign Capability Profiles
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • search_eventsSearch and filter the WEO event corpus by `query` text or classification (bloc, tier, domain, event type, primary industry tag); returns the matching events with their metadata, ca…No findings

    Why it is in this group

    • The name "search_events" says "search": a word for reading.
    Description, as the server wrote it
    Search and filter the WEO event corpus by `query` text or classification (bloc, tier, domain, event type, primary industry tag); returns the matching events with their metadata, capped by `limit` (default 20, max 50). Use to discover or shortlist events; for a single event's complete record, use `get_event`. Events enter after a verification lag from their implementation date (six months; 60 days for verified product releases), so recent events may not yet appear, and an empty result is not evidence that no such event has occurred. Free tier returns the classification facts with the deeper assessment and evidence withheld on non-sample events; full tier — and sample events on either tier — return every field.

    Annotations the server declares

    • title: Search Events
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.25.5. Values in angle brackets are yours to fill in.

claude mcp add --transport http observatory https://warmthengine.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__observatory__search_events",
      "mcp__observatory__get_event",
      "mcp__observatory__get_connections",
      "mcp__observatory__get_actors",
      "mcp__observatory__get_coverage_stats",
      "mcp__observatory__get_methodology",
      "mcp__observatory__get_connection_by_id",
      "mcp__observatory__get_topology",
      "mcp__observatory__get_capability_signatures",
      "mcp__observatory__get_capability_links",
      "mcp__observatory__get_threads",
      "mcp__observatory__get_event_stack",
      "mcp__observatory__query_scp",
      "mcp__observatory__get_blocs",
      "mcp__observatory__get_contribution",
      "mcp__observatory__get_metrics",
      "mcp__observatory__get_commitments"
    ],
    "ask": [
      "mcp__observatory__traverse_coordination"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as observatory. Review it before you use it.