# Warmth Engine Observatory (remote · warmthengine.com)

Coordination Intelligence: AI infrastructure coordination dynamics across geopolitical blocs

- Trust score: 62/100 (medium)
- Change this week: +1
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `warmthengine.com`: 62/100 (this document), [markdown](https://verifymcp.io/servers/com-warmthengine-observatory/warmthengine.md), [page](https://verifymcp.io/servers/com-warmthengine-observatory/warmthengine)

## Channel facts

- Endpoint: `https://warmthengine.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.18.1`

## Trust breakdown

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. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 46/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 17 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS check failed: the endpoint is reachable over plaintext HTTP.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 72/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 4124 tokens (~229/item across 18 items; 17 tools + 1 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

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

### Codex

```toml
[mcp_servers.com-warmthengine-observatory]
url = "https://warmthengine.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-warmthengine-observatory": {
      "type": "remote",
      "url": "https://warmthengine.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-warmthengine-observatory --url https://warmthengine.com/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-warmthengine-observatory:
    url: "https://warmthengine.com/mcp"
```

### Other

```json
{
  "mcpServers": {
    "com-warmthengine-observatory": {
      "type": "http",
      "url": "https://warmthengine.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 62, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-01 (score 61, +1)

No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 60, −2)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 62, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-29 (score 62, 0)

- [security] The server rewrote its instructions, which are the text every model session reads
- [functional] Schema quality: excellent → good
- [functional] Server version: 1.17.0 → 1.18.1
- [functional] New tool “get_metrics”

### 2026-07-28 (score 62, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 61, +1)

- [functional regression] Schema quality: 3222 → 3749
- [functional improvement] Stability: unverified → 0.03
- [functional] Schema quality: good → excellent
- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 60)

First indexed and scored.

## MCP tools (17)

### `search_events` (~238 tokens)

Search and filter the WEO event corpus by keyword 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`. 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.

Input parameters:

- `bloc` (string): Filter by bloc: Western, Eastern, Western-Led, Eastern-Led, Cross-Bloc
- `domain` (string): Filter by domain: Technology, Energy/Infrastructure, Security, Trade
- `industry` (string): Filter by primary industry tag
- `limit` (integer): Number of results (default 20, max 50)
- `query` (string): Keyword search across event name and description
- `tier` (integer): Filter by tier: 1, 2, or 3
- `type` (string): Filter by event type: Policy, Infrastructure, Corporate, Coordination

### `get_event` (~128 tokens)

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"). 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.

Input parameters:

- `event_id` (string, required): Zero-padded event ID (e.g., "06", "141")

### `get_connections` (~174 tokens)

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.

Input parameters:

- `confidence` (string): Filter by confidence level: CC-V, CC-E, CC-A
- `connection_type` (integer): Filter by CC type (1–7)
- `event_id` (string): Return only CCs involving this event (as source or target)

### `get_actors` (~179 tokens)

Retrieve whole Sovereign Capability Profile (SCP) actors — each with its designation (PAA / AIK / ACS / Participant), capability score, severance result, and a met/not-met assessment across the seven capability dimensions (D1–D7). 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. Descriptive — recorded status, never inference.

Input parameters:

- `actor_name` (string): Filter by actor name (partial match)
- `designation` (string): Filter by designation: PAA, AIK, ACS, Participant

### `get_coverage_stats` (~108 tokens)

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, the event-ID range, and the methodology version. No parameters; figures are computed live, so the response always reflects the present database. The secondary-industry breakdown is full-tier only.

### `get_methodology` (~151 tokens)

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.

Input parameters:

- `term` (string, required): The term to look up (e.g., "CC-V", "T2", "PAA", "ENT-1", "PIET", "Basel Assessment")

### `get_connection_by_id` (~106 tokens)

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.

Input parameters:

- `connection_id` (string, required): CC identifier (e.g., "CC-06-11-3")

### `get_topology` (~284 tokens)

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).

Input parameters:

- `cc_type` (integer): Filter to nodes incident to a backbone (parent→child) edge of this type (1–7)
- `class` (string): Filter nodes by taxonomy class: root | internal | leaf | sibling_only | orphan
- `min_reach` (integer): Filter to nodes with coordination_reach >= this value
- `node_id` (string): Node id e.g. "E34"; omit for the whole-graph summary

### `traverse_coordination` (~425 tokens)

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.

Input parameters:

- `cc_types` (array): Edge-type (connection-type) filter, applied to path and adjacency walks; default = all types
- `homogeneous_only` (boolean): mode=path only — true → drop any path crossing a sibling (Type 6/7) edge; ignored (and echoed in ignored_params) on adjacency modes
- `max_depth` (integer): Maximum walk depth — path length in mode=path, hop count from node_id in the adjacency modes
- `mode` (string, required): Traversal mode
- `node_id` (string): Node id for ancestors | descendants | neighbours (e.g. "E93"; a bare "93" is resolved)
- `source` (string): Source node id for mode=path
- `target` (string): Target node id for mode=path

### `get_capability_signatures` (~199 tokens)

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 — plus metadata (the directional-edge inventory and the pre-operational caveat) and the non-signature same-capability clusters. Pass `signature_id` (e.g. "CS-001") for one. For the underlying event↔dimension membership links, use `get_capability_links`. A derived overlay over the directional CC graph; served whole and free.

Input parameters:

- `signature_id` (string): Signature id e.g. "CS-001"; omit for all signatures

### `get_capability_links` (~293 tokens)

Retrieve the event↔dimension membership links — which events qualify or contribute to each actor's Sovereign Capability Profile (SCP) capability dimensions. Filter by `actor` (e.g. "US", "CN", "GB" — note GB, not UK), `dimension` (D1–D7), or `event_id`. Each link carries its `link_type` (`qualifying_contributor` = establishes the dimension vs `capability_area` = contributes to it), `attribution` (specific | general), and `entity` (the named asset, on qualifying links only); the full tier adds `qualification_basis`, `rationale`, and `note` (the deep qualification analysis). Sole-vs-multiple basis is derivable by counting `qualifying_contributor` links per actor×dimension (1 = sole; >1 = one of several) — links are never flattened to `qualifies:yes/no`, so the link-type and attribution distinctions return on both tiers. For the higher-order signatures built from these links, use `get_capability_signatures`.

Input parameters:

- `actor` (string): Actor code filter: US, CN, EU, FR, GB, IN, JP, KR, NL, TW
- `dimension` (string): Dimension code filter: D1–D7
- `event_id` (string): Event id filter, e.g. "196"

### `get_threads` (~216 tokens)

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.

Input parameters:

- `event_id` (string): Event id e.g. "182" (a deployer) or "196" (a producer); omit for the whole thread layer

### `get_event_stack` (~307 tokens)

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 Sovereign Capability Profile (SCP) dimension-membership waypoints for the event itself (actor, dimension, link_type, attribution, entity; 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. 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`.

Input parameters:

- `event_id` (string, required): Focal event id e.g. "196" — the event whose stack neighbourhood to assemble

### `query_scp` (~274 tokens)

Query the Sovereign Capability Profile (SCP) register by pivoting and comparing — distinct from `get_actors`, which fetches whole actors. Choose exactly one mode: `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.

Input parameters:

- `actors` (array): Actor ids e.g. ["US","CN"] → compare those actors across D1–D7
- `dimension` (string): Dimension id D1–D7 (e.g. "D3") → pivot that dimension across all actors
- `watch` (boolean): true → return the dimension_watch register

### `get_blocs` (~102 tokens)

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`.

### `get_contribution` (~184 tokens)

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.

Input parameters:

- `term` (string): The CA term to look up (e.g., "Delta Credit", "Founding Observer", "membership facts"). Omit for programme overview.

### `get_metrics` (~294 tokens)

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.

Input parameters:

- `include_history` (boolean): Return the full append-only observation series instead of the latest observation only (default false).
- `metric` (string): Single metric key: cstf, transmission_matrix, ffd, cbcf, or cgr. Omit for all metrics.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-warmthengine-observatory/warmthengine#diagnostics

## Score history

- 2026-08-03: 62
- 2026-08-02: 61
- 2026-08-01: 61
- 2026-07-31: 60
- 2026-07-30: 62
- 2026-07-29: 62
- 2026-07-28: 62
- 2026-07-27: 61
- 2026-07-26: 60

## Links

- Remote endpoint: https://warmthengine.com/mcp
- Repository: https://github.com/warmthengine/warmth-engine-observatory
- Changelog RSS feed: https://verifymcp.io/servers/com-warmthengine-observatory/warmthengine/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-warmthengine-observatory/warmthengine/changelog.json
- HTML version of this page: https://verifymcp.io/servers/com-warmthengine-observatory/warmthengine
