# Tethered Trust (remote · tetheredtrust.com)

Compatibility checks for AI agents before they buy or install: verdicts, evidence, receipts.

- Trust score: 74/100 (medium)
- Change this week: +3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-23

## Components

- remote · `tetheredtrust.com`: 74/100 (this document), [markdown](https://verifymcp.io/servers/com-tetheredtrust-tethered-trust/tetheredtrust.md), [page](https://verifymcp.io/servers/com-tetheredtrust-tethered-trust/tetheredtrust)

## Channel facts

- Endpoint: `https://tetheredtrust.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.12.0`

## 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-10-23.

- **Endpoint Security**: 80/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - 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**: 60/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 3699 tokens (~205/item across 18 items; 18 tools + 0 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**: 97/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 91% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 18 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 19 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the Tethered Trust MCP server?

Tethered Trust is a hosted endpoint at https://tetheredtrust.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http com-tetheredtrust-tethered-trust 'https://tetheredtrust.com/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "com-tetheredtrust-tethered-trust": {
      "url": "https://tetheredtrust.com/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-tetheredtrust-tethered-trust": {
      "type": "http",
      "url": "https://tetheredtrust.com/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.com-tetheredtrust-tethered-trust]
url = "https://tetheredtrust.com/mcp"
```

### opencode

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

### OpenClaw

```bash
openclaw mcp add com-tetheredtrust-tethered-trust --url 'https://tetheredtrust.com/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-tetheredtrust-tethered-trust:
    url: "https://tetheredtrust.com/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "com-tetheredtrust-tethered-trust": {
      "Transport": "http",
      "Url": "https://tetheredtrust.com/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-tetheredtrust-tethered-trust -t streamable-http -u 'https://tetheredtrust.com/mcp'
```

### Other

```json
{
  "mcpServers": {
    "com-tetheredtrust-tethered-trust": {
      "type": "http",
      "url": "https://tetheredtrust.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-10-22 (score 74, +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.

### 2026-10-20 (score 73, +1)

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

### 2026-10-17 (score 72, +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-10-16 (score 71, 0)

- [functional improvement] Stability: unverified → 0.03
- [functional] Server version: 0.13.2 → 0.16.0

### 2026-10-15 (score 71)

First indexed and scored.

## MCP tools (18)

### `how_it_works` (~31 tokens)

How Tethered Trust works

What Tethered Trust is, what it covers, where its data comes from, pricing and terms.

### `list_coverage` (~323 tokens)

List coverage

Which product categories and models are in the compatibility graph, with counts. Pass a category to list its models. Covers anything that has to fit, plug in, mount, run on or charge with something someone owns. Verified catalog (specs checked against cited manufacturer sources): computers & consoles (RAM, M.2 SSDs, USB-C chargers), phones/tablets/watches (USB-C PD, MagSafe, Qi2, watch bands), cameras (lens mounts, adapters, batteries, memory cards), cordless power tools (battery platforms), printers (ink, toner, drums), appliances (refrigerator water and air filters, installation fit), vacuums (bags, filters, batteries, robot-vacuum parts), air quality (purifier filters, HVAC media, humidifier pads), e-bikes (batteries and chargers by drive system), smart home (Matter, Thread, Zigbee, hubs, bulb bases), PC building (CPU sockets, cooler mounts, memory, clearances, power), cars & EV charging (tire sizes by trim, NACS/J1772/CCS1 and approved adapters, home chargers; a starter set of models) and TVs, consoles & streaming (VESA mounts, weight and screen size, console generations, app platforms). Products outside the catalog in any category are read by AI in terms of the same standards and returned as unverified.

Input parameters:

- `category` (string): Optional: one category id from a previous list_coverage call (e.g. 'cameras') to list every model in it.

Output parameters:

- `categories` (array)
- `models` (array)
- `totals` (object)

### `check_cart_before_checkout` (~249 tokens)

Check a cart before checkout

Checks a cart at checkout. Takes the checkout session exactly as a commerce protocol returns it (a UCP checkout or an ACP CheckoutSession) or plain line items, plus what the customer already owns. Returns a decision per line item, safe_to_checkout, an action (proceed, resolve_conditions, do_not_checkout, ask_customer), questions, substitutions, a signed receipt, and a com.tetheredtrust.shopping.compatibility extension object to attach to the checkout.

Input parameters:

- `checkout` (object): The checkout session as your commerce protocol returns it: a UCP checkout (line_items[].item.title) or an ACP CheckoutSession (line_items[].item.id). Or send line_items directly.
- `line_items` (array): Generic cart: [{id, title | url | gtin | sku | text, quantity}]. Used when checkout isn't sent.
- `owned` (array): What the customer already owns that these items must work with (model numbers, URLs or descriptions; objects may carry config like memory_modules).
- `products` (object): ACP only: map of item id → {title | url | gtin} from your product feed, because ACP line items carry only ids.

### `enrich_catalog` (~114 tokens)

Enrich a product catalog

For retailers and marketplaces (API key required): up to 50 products per call (SKU with title, URL or GTIN) in; each product's compatibility attributes out (standards it takes and provides, numeric limits, evidence level, freshness), ready to add to a product feed or UCP catalog so agents can match it to what shoppers own.

Input parameters:

- `items` (array, required)
- `research` (boolean): Default true: research up to 10 items per call that aren't in our catalog (from the manufacturer's page).

### `identify_product` (~225 tokens)

Identify any product

Identify a product from a URL, model number, SKU, ASIN, UPC/EAN or description, and get its compatibility profile: the standards it takes and provides (mounts, sockets, connectors, platforms, part numbers, sizes), numeric limits (OS version, watts, weight, screen size), evidence and freshness. Products not in our reviewed catalog are researched on demand from the manufacturer's page and returned with status read_from_manufacturer_page (unreviewed) or unconfirmed (not enough to decide on). Use first when the product could be anything.

Input parameters:

- `product` (string, required): Anything that identifies the product: a manufacturer or retailer URL, a model number, SKU, ASIN, UPC/EAN, a vehicle VIN, or a listing title / description.
- `research` (boolean): Default true. Set false to look only in the reviewed catalog (no on-demand research).
- `role` (string): Optional: is this something the person already owns, or something being considered? Helps when a product is both (a phone owns cases; a car mount holds phones).

### `list_standards` (~51 tokens)

List the standards vocabulary

Every compatibility standard family (with reviewed values), the open formats used for new values, and the numeric limit keys. How Tethered Trust represents physical connections, dimensional fit, vehicles, software and services.

### `resolve_product` (~85 tokens)

Look up a product

Look up one product in the Tethered Trust graph by name or model number and get its structured specs, what it accepts (mounts, battery platforms, cartridges, protocols) and what it fits. If the text could mean several models, returns them all as candidates (ambiguous: true) with ambiguous: true.

Input parameters:

- `query` (string, required): Product name or model number.

Output parameters:

- `ambiguous` (boolean)
- `candidates` (array)
- `found` (boolean)
- `message` (string)
- `product` (object)
- `read_from_text`

### `validate_purchase_plan` (~446 tokens)

Validate a purchase plan

Check a whole purchase before recommending or ordering it: the setup the person owns (with current configuration) plus everything in the cart. Returns one decision (supported / conditional / incompatible / insufficient_evidence), a result per part, configuration limits across the plan (memory slots and capacity, M.2 slots), adapters or hubs still needed, substitutions for parts that won't work, the exact questions blocking a decision, evidence, and a signed receipt. Covers anything that has to fit, plug in, mount, run on or charge with something someone owns. Verified catalog (specs checked against cited manufacturer sources): computers & consoles (RAM, M.2 SSDs, USB-C chargers), phones/tablets/watches (USB-C PD, MagSafe, Qi2, watch bands), cameras (lens mounts, adapters, batteries, memory cards), cordless power tools (battery platforms), printers (ink, toner, drums), appliances (refrigerator water and air filters, installation fit), vacuums (bags, filters, batteries, robot-vacuum parts), air quality (purifier filters, HVAC media, humidifier pads), e-bikes (batteries and chargers by drive system), smart home (Matter, Thread, Zigbee, hubs, bulb bases), PC building (CPU sockets, cooler mounts, memory, clearances, power), cars & EV charging (tire sizes by trim, NACS/J1772/CCS1 and approved adapters, home chargers; a starter set of models) and TVs, consoles & streaming (VESA mounts, weight and screen size, console generations, app platforms). Products outside the catalog in any category are read by AI in terms of the same standards and returned as unverified.

Input parameters:

- `goal` (string): Optional: what the person is trying to do, e.g. 'upgrade this laptop to 32 GB'. Echoed back; requirements are derived from the devices.
- `purchase` (array, required): Everything being considered for purchase: parts, accessories or new devices, with quantities.
- `setup` (array): What the person already owns (devices, appliances, tools, hubs) with exact model numbers, plus current configuration.

Output parameters:

- `confidence` (number)
- `decision` (string)
- `evidence` (array)
- `items` (array)
- `next_step` (string)
- `plan_id` (string)
- `questions` (array)
- `receipt` (object|null)
- `required_accessories` (array)
- `requirements` (array)
- `results` (array)
- `substitutions` (array)
- `summary` (string)
- `system_checks` (array)
- `valid_until` (string)

### `fix_purchase_plan` (~167 tokens)

Fix a purchase plan

When a plan comes back incompatible or conditional: the smallest set of changes that makes it work (swap a part for a verified one that fits everything else, add a missing cooler, hub or adapter, trim quantities that exceed slots), re-validated, with the reason for each change. Fewest changes and verified products first; no prices.

Input parameters:

- `goal` (string): Optional: what the person is trying to do, e.g. 'upgrade this laptop to 32 GB'. Echoed back; requirements are derived from the devices.
- `purchase` (array, required): Everything being considered for purchase: parts, accessories or new devices, with quantities.
- `setup` (array): What the person already owns (devices, appliances, tools, hubs) with exact model numbers, plus current configuration.

### `plan_upgrade` (~136 tokens)

Plan an upgrade

What can be upgraded on this device and with what: memory (type, slots, maximum), storage (M.2 slots, lengths, PCIe generation), power, CPU and cooling for motherboards, graphics card and cooler clearance for PC cases, plus the parts in our graph that fit (verified first) and the manufacturer's notes.

Input parameters:

- `goal` (string): Optional: what the person wants, e.g. 'more memory for video editing'.
- `id` (string): Or its product id.
- `model` (string): The device's exact model number or name (laptop, motherboard, case, camera, tool...).

### `identify_from_photo` (~100 tokens)

Read a model number from a photo

Read the brand, model and part numbers from a photo of a label or nameplate and match them to products. Matches are returned as candidates, with what was read. The photo isn't stored.

Input parameters:

- `hint` (string): Optional context, e.g. 'refrigerator label inside the door'.
- `image` (string, required): A photo of the label or nameplate as a data URL (data:image/jpeg;base64,...), under 4 MB.

### `recheck_plan` (~54 tokens)

Recheck a saved plan

Re-run a saved purchase plan against today's data before ordering, and see what changed since it was issued: decisions, product records, or receipt status.

Input parameters:

- `plan_id` (string, required): The plan_id from validate_purchase_plan.

### `check_batch` (~47 tokens)

Check many pairs

Up to 25 independent compatibility checks in one call (e.g. ranking candidate products for one device). Each result has its own decision, evidence and receipt.

Input parameters:

- `checks` (array, required)

### `check_compatibility` (~553 tokens)

Check compatibility

Will this exact part or accessory work with that exact device? Use before recommending or buying. Covers anything that has to fit, plug in, mount, run on or charge with something someone owns. Verified catalog (specs checked against cited manufacturer sources): computers & consoles (RAM, M.2 SSDs, USB-C chargers), phones/tablets/watches (USB-C PD, MagSafe, Qi2, watch bands), cameras (lens mounts, adapters, batteries, memory cards), cordless power tools (battery platforms), printers (ink, toner, drums), appliances (refrigerator water and air filters, installation fit), vacuums (bags, filters, batteries, robot-vacuum parts), air quality (purifier filters, HVAC media, humidifier pads), e-bikes (batteries and chargers by drive system), smart home (Matter, Thread, Zigbee, hubs, bulb bases), PC building (CPU sockets, cooler mounts, memory, clearances, power), cars & EV charging (tire sizes by trim, NACS/J1772/CCS1 and approved adapters, home chargers; a starter set of models) and TVs, consoles & streaming (VESA mounts, weight and screen size, console generations, app platforms). Products outside the catalog in any category are read by AI in terms of the same standards and returned as unverified. Returns a decision (supported / conditional / incompatible / insufficient_evidence), the rules checked, caveats, required accessories, the questions to ask when it can't decide, evidence links and a signed receipt. When the text matches several models it returns each candidate's answer.

Input parameters:

- `candidate` (string, required): What they want to buy: a model/part number or key specs, e.g. 'Crucial CT16G4SFRA32A', '1TB M.2 2230 NVMe', 'DCB205', 'HP 962XL', 'Canon RF 24-105mm f/4L', 'Eve Energy'.
- `candidate_id` (string): Optional: an exact product id instead of candidate text.
- `detail` (string): Optional extra identifiers: machine type, revision, year, region, serial range.
- `existing` (string, required): What the person already has, ideally with the exact model number, e.g. 'Lenovo ThinkPad T480', 'Sony A7 IV', 'DeWalt DCD800', 'HP OfficeJet Pro 9015e', 'iPhone 16 Pro', 'HomePod mini'.
- `existing_id` (string): Optional: an exact product id (from resolve_product, suggestions or a candidates list) instead of existing text.

Output parameters:

- `candidates` (object): Present when the text matched several models: each option with its own verdict.
- `caveats` (array)
- `check_id` (string)
- `checks` (array)
- `conditions` (array): What must be true for a conditional answer (accessory, dependency).
- `confidence` (number): Evidence score from fixed rules (source tier, rule strength). Not a calibrated probability: act on decision, conditions and questions.
- `constraints` (array)
- `decision` (string): supported | conditional | incompatible | insufficient_evidence. Act on this, not on confidence alone.
- `decision_help` (string)
- `evidence` (array)
- `fit` (boolean|null)
- `missing` (array)
- `next_step` (string)
- `notice` (string)
- `questions` (array): Exactly what to ask, measure or look up next. blocking=true means no decision until answered.
- `receipt` (object|null): Signed receipt (EdDSA JWS) proving Tethered Trust issued this verdict unaltered. Not a guarantee the verdict is correct.
- `required_accessories` (array)
- `requirements` (object)
- `summary` (string)
- `terms` (string)
- `valid_until` (string): When this answer should be re-checked (based on how fresh its sources are).
- `verdict` (string)
- `verified` (boolean): True only when every spec came from a manufacturer source with a recorded check date.

### `find_parts` (~167 tokens)

Find parts that fit

Which parts and accessories fit this model? OEM parts first, then verified alternatives: e.g. a refrigerator's water filter, a printer's cartridges, a camera's lenses and batteries, a tool's batteries, or the RAM, SSDs and chargers that fit a computer.

Input parameters:

- `model` (string, required): Model number of the device, tool, camera, printer or appliance, e.g. 'GFE28GYNFS', 'ThinkPad T480', 'Canon EOS R6 Mark II', 'Milwaukee 2904-20', 'Brother HL-L2350DW'.
- `part_type` (string): Optional filter, e.g. 'water filter', 'memory', 'ssd', 'charger', 'battery', 'lens', 'ink', 'toner', 'band'.

Output parameters:

- `check_id` (string)
- `found` (boolean)
- `message` (string)
- `model`
- `notice` (string)
- `parts` (array)
- `terms` (string)
- `total` (number)

### `check_fit` (~171 tokens)

Check physical fit

Will this appliance physically fit this space? Compares dimensions plus typical installation clearances and required connections (power, water, gas).

Input parameters:

- `category` (string)
- `has` (string): Connections available at the location.
- `needs` (string): Connections the product needs, e.g. '120V, water line' or '240V'.
- `opening` (object, required): Width, height and depth of the space it goes into. Any subset is accepted; missing axes come back as 'missing'.
- `product` (string): What's being installed, e.g. '36-inch French-door refrigerator'. Used to pick typical clearances.
- `product_dimensions` (object): Width, height and depth of the product (from its spec sheet). Any subset is accepted; missing axes come back as 'missing'.

Output parameters:

- `candidates` (object): Present when the text matched several models: each option with its own verdict.
- `caveats` (array)
- `check_id` (string)
- `checks` (array)
- `conditions` (array): What must be true for a conditional answer (accessory, dependency).
- `confidence` (number): Evidence score from fixed rules (source tier, rule strength). Not a calibrated probability: act on decision, conditions and questions.
- `constraints` (array)
- `decision` (string): supported | conditional | incompatible | insufficient_evidence. Act on this, not on confidence alone.
- `decision_help` (string)
- `evidence` (array)
- `fit` (boolean|null)
- `missing` (array)
- `next_step` (string)
- `notice` (string)
- `questions` (array): Exactly what to ask, measure or look up next. blocking=true means no decision until answered.
- `receipt` (object|null): Signed receipt (EdDSA JWS) proving Tethered Trust issued this verdict unaltered. Not a guarantee the verdict is correct.
- `required_accessories` (array)
- `requirements` (object)
- `summary` (string)
- `terms` (string)
- `valid_until` (string): When this answer should be re-checked (based on how fresh its sources are).
- `verdict` (string)
- `verified` (boolean): True only when every spec came from a manufacturer source with a recorded check date.

### `verify_receipt` (~96 tokens)

Verify a receipt

Check a Tethered Trust receipt: is the signature ours, is it still within valid_until, and have the records behind it changed since? A valid receipt proves what we said and when; it doesn't guarantee the verdict was right.

Input parameters:

- `jws` (string): Or the full signed receipt string, if someone handed it to you.
- `receipt_id` (string): The receipt id (rcpt_...) from a check.

Output parameters:

- `changed_subjects` (array)
- `claim` (object)
- `disclaimer` (string)
- `explain` (string)
- `issued_at` (string)
- `issued_by_tethered_trust` (boolean)
- `receipt_id` (string)
- `signature_valid` (boolean)
- `status` (string)
- `valid_until` (string)

### `report_outcome` (~160 tokens)

Report what happened

After a purchase, report whether it actually fit. Free, safe to call, and only the first report per check counts. Reports are weighted by level: self_reported (website), agent_reported (anonymous API/MCP), partner_reported (API key holders) and order_confirmed (order evidence we've confirmed). Only the last two can raise future confidence.

Input parameters:

- `check_id` (string, required): The check_id returned by check_compatibility, find_parts or check_fit.
- `evidence` (object): Optional order details we can confirm later (raises the report to 'order_confirmed' once reviewed). Order references only; payment and personal details aren't accepted.
- `note` (string): What happened, briefly.
- `outcome` (string, required)

Output parameters:

- `evidence_received` (boolean)
- `level` (string|null)
- `message` (string)
- `recorded` (boolean)

## Diagnostics

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

## Score history

- 2026-10-23: 74
- 2026-10-22: 74
- 2026-10-21: 73
- 2026-10-20: 73
- 2026-10-19: 72
- 2026-10-18: 72
- 2026-10-17: 72
- 2026-10-16: 71
- 2026-10-15: 71

## Common questions

### What is the Tethered Trust MCP server?

Tethered Trust is an MCP server listed in the public MCP registry as com.tetheredtrust/tethered-trust. Compatibility checks for AI agents before they buy or install: verdicts, evidence, receipts. This page covers its hosted endpoint (https://tetheredtrust.com/mcp).

### Is the Tethered Trust MCP server safe to use?

Tethered Trust scores 74 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Tethered Trust MCP server expose?

Tethered Trust exposes 18 tools: how_it_works, list_coverage, check_cart_before_checkout, enrich_catalog, identify_product, and 13 more. Their descriptions and schemas cost roughly 3,175 tokens of context every time the server is loaded.

### Does the Tethered Trust MCP server require authentication?

No. We connected to Tethered Trust without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the Tethered Trust MCP server still maintained?

Tethered Trust is still listed as active in the MCP registry. We last reached this channel on 23 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://tetheredtrust.com/mcp
- Website: https://tetheredtrust.com/
- Changelog RSS feed: https://verifymcp.io/servers/com-tetheredtrust-tethered-trust/tetheredtrust.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-tetheredtrust-tethered-trust/tetheredtrust.json
- HTML version of this page: https://verifymcp.io/servers/com-tetheredtrust-tethered-trust/tetheredtrust
