# The Cable Code (remote · thecablecode.com)

Decode cables in 69 coding systems; design, rate, check, find equivalents; drums, laying, fire.

- Trust score: 79/100 (medium)
- Change this week: +7
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `thecablecode.com`: 79/100 (this document), [markdown](https://verifymcp.io/servers/exquad-thecablecode/thecablecode.md), [page](https://verifymcp.io/servers/exquad-thecablecode/thecablecode)

## Channel facts

- Endpoint: `https://thecablecode.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.47.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-11-05.

- **Endpoint Security**: 74/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.
  - 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**: 69/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 13098 tokens (~327/item across 40 items; 23 tools + 17 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 63/100
  - Stability observed for 19 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 99/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 97% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 23 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 25 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 The Cable Code MCP server?

The Cable Code is a hosted endpoint at https://thecablecode.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 exquad-thecablecode 'https://thecablecode.com/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "exquad-thecablecode": {
      "url": "https://thecablecode.com/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "exquad-thecablecode": {
      "type": "http",
      "url": "https://thecablecode.com/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.exquad-thecablecode]
url = "https://thecablecode.com/mcp"
```

### opencode

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

### OpenClaw

```bash
openclaw mcp add exquad-thecablecode --url 'https://thecablecode.com/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  exquad-thecablecode:
    url: "https://thecablecode.com/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "exquad-thecablecode": {
      "Transport": "http",
      "Url": "https://thecablecode.com/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add exquad-thecablecode -t streamable-http -u 'https://thecablecode.com/mcp'
```

### Other

```json
{
  "mcpServers": {
    "exquad-thecablecode": {
      "type": "http",
      "url": "https://thecablecode.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-11-05 (score 79, +1)

- [security] The server rewrote its instructions, which are the text every model session reads
- [functional] Server version: 1.47.0 → 1.49.0
- [functional] New tool “read_tender”

### 2026-11-04 (score 78, 0)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “cable_prep” rewrote its description, which is the text the model reads
- [security] Tool “drum_fit” rewrote its description, which is the text the model reads
- [security] Tool “decode_cable_code” rewrote its description, which is the text the model reads
- [security] Tool “design_cable” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 289 → 324
- [functional] Server version: 1.43.0 → 1.47.0
- [functional] Server version: 1.40.0 → 1.43.0
- [functional] New tool “equivalence_report”
- [functional] New tool “iec60287_rating”
- [cosmetic] “cable_prep” reworded the description of “input”
- [cosmetic] “check_cable” reworded the description of “construction”
- [cosmetic] “check_cable” reworded the description of “designation”
- [cosmetic] “design_cable” reworded the description of “cpc”
- [cosmetic] “design_cable” reworded the description of “fault”
- [cosmetic] “design_cable” reworded the description of “installation”
- [cosmetic] “design_cable” reworded the description of “lang”
- [cosmetic] “design_cable” reworded the description of “sentence”
- [cosmetic] “design_cable” reworded the description of “spec”
- [cosmetic] “drum_fit” reworded the description of “layers”
- [cosmetic] “find_equivalents” reworded the description of “country”
- [cosmetic] “find_equivalents” reworded the description of “standard”

### 2026-11-03 (score 78, +1)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “cable_prep” rewrote its description, which is the text the model reads
- [functional] Server version: 1.25.0 → 1.40.0
- [cosmetic] “check_cable” reworded the description of “standard”
- [cosmetic] “design_cable” reworded the description of “spec”
- [cosmetic] “drum_fit” reworded the description of “lagging”
- [cosmetic] “find_equivalents” reworded the description of “standard”
- [cosmetic] Tool “cable_prep” changed its title: Cable end preparation for an MV or HV design → Cable end preparation for an LV, MV or HV design

### 2026-11-02 (score 77, 0)

- [security] Tool “commissioning_sheet” rewrote its description, which is the text the model reads
- [security] Tool “drum_loading” rewrote its description, which is the text the model reads
- [functional] Server version: 1.13.0 → 1.25.0
- [cosmetic] “check_cable” reworded the description of “standard”
- [cosmetic] “commissioning_sheet” reworded the description of “input”
- [cosmetic] “design_cable” reworded the description of “load”
- [cosmetic] “design_cable” reworded the description of “test_variant”
- [cosmetic] “drum_loading” reworded the description of “input”
- [cosmetic] “find_equivalents” reworded the description of “country”
- [cosmetic] “find_equivalents” reworded the description of “standard”

### 2026-11-01 (score 77, 0)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “cable_prep” rewrote its description, which is the text the model reads
- [security] Tool “decode_cable_code” rewrote its description, which is the text the model reads
- [functional] New resource “marine”
- [functional] Server version: 1.7.0 → 1.13.0
- [cosmetic] “cable_prep” reworded the description of “input”
- [cosmetic] “check_cable” reworded the description of “standard”
- [cosmetic] “design_cable” reworded the description of “cpc”

### 2026-10-31 (score 77, +1)

- [security] The server rewrote its instructions, which are the text every model session reads
- [functional regression] Schema quality: 237 → 301
- [functional improvement] Tool coverage: 90% → 97%
- [functional] Server version: 1.4.0 → 1.7.0
- [functional] New tool “pull_cable”
- [functional] New tool “cable_prep”
- [functional] New tool “cold_weather_check”
- [functional] New tool “commissioning_sheet”
- [functional] New tool “conduit_fill”
- [functional] New tool “drum_loading”
- [functional] New tool “economic_size”
- [functional] New tool “mv_electrical”
- [functional] New tool “tray_fill”
- [cosmetic] “design_cable” added an optional parameter “cpc”
- [cosmetic] “design_cable” added an optional parameter “fault”
- [cosmetic] “design_cable” added an optional parameter “load”
- [cosmetic] “design_cable” added an optional parameter “nec”
- [cosmetic] “design_cable” added an optional parameter “test_variant”
- [cosmetic] “drum_fit” added an optional parameter “handling”
- [cosmetic] “drum_fit” added an optional parameter “lagging”
- [cosmetic] “drum_fit” added an optional parameter “lang”
- [cosmetic] “drum_fit” added an optional parameter “material”
- [cosmetic] “decode_cable_code” reworded the description of “lang”
- [cosmetic] “design_cable” reworded the description of “installation”
- [cosmetic] “design_cable” reworded the description of “lang”

### 2026-10-30 (score 76, +4)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “check_cable” rewrote its description, which is the text the model reads
- [security] Tool “decode_cable_code” rewrote its description, which is the text the model reads
- [security] Tool “drum_fit” rewrote its description, which is the text the model reads
- [functional improvement] Schema quality: 566 → 237
- [functional] The server now declares the “resources” capability
- [functional] First check of Schema quality: 100
- [functional] New resource “aerial-bundled”
- [functional] New resource “changelog”
- [functional] New resource “control”
- [functional] New resource “fibre”
- [functional] New resource “flexible”
- [functional] New resource “glossary”
- [functional] New resource “hv”
- [functional] New resource “lan”
- [functional] New resource “laying-guide”
- [functional] New resource “lv-armoured”
- [functional] New resource “lv-pvc”
- [functional] New resource “lv-xlpe”
- [functional] New resource “mv”
- [functional] New resource “north-america”
- [functional] New resource “outdoor-telecom”
- [functional] New resource “pv”
- [functional] Server version: 1.0.0 → 1.4.0
- [functional] New tool “awg_metric”
- [functional] New tool “burial_depth”
- [functional] New tool “fire_class”
- [cosmetic] “drum_fit” added an optional parameter “layers”
- [cosmetic] “drum_fit” added an optional parameter “reeling”
- [cosmetic] “check_cable” reworded the description of “standard”
- [cosmetic] “drum_fit” reworded the description of “system”

### 2026-10-29 (score 72, +1)

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

## MCP tools (23)

### `decode_cable_code` (~156 tokens)

Decode a cable designation

Decode a cable type designation (DIN VDE, HAR, BS/IEC, NEC, TS, UTE, CEI-UNEL and 62 more of its 69 coding systems, plus LAN and fibre) into its layers: conductor, insulation, screen, armour, sheath, with the source behind each symbol. Deterministic, no LLM.

Input parameters:

- `code` (string, required): A cable type designation as printed or listed, e.g. "NYY-J 3x1,5", "N2XSEYRY", "12/2 NM-B", "H07RN-F 3G2,5".
- `lang` (string): Any of the site's 15 languages; default en.

### `design_cable` (~1415 tokens)

Design and size a power cable

Design and size a cable (power, control, LAN, coaxial, fibre) from a sentence (any site language, e.g. "3-core collective screen 12/20 kV 3x95/25 Al, longitudinally watertight") or a spec: every layer's thickness with its source (IEC 60502, HD 603 / 620, BS, EN 50525, NEC / UL and more; IEC 60228), the overall diameter, the designation and the decoder's reading of it, and the estimated weight, bending radius, pulling force, IEC 60757 colours and MV field stress with their sources; current, voltage drop and short-circuit ratings; a bare designation works as the sentence; optional XML, DXF, SVG, CSV, GLB, STEP (3D CAD) and a PDF datasheet. Deterministic, no LLM; a nominal calculation, not a datasheet.

Input parameters:

- `cpc` (object): For cpc: {kind armour | core | separate | conduit (a steel conduit or trunking) | bare (a bare conductor) (default the armour where the design has one), basis iec | bs, column tp70 | tp90 | ts90, sec…
- `design` (object): Instead of a sentence: the design field of an earlier answer, changed.
- `fault` (object): For cpc: {ka (the fault current), seconds (default fault_s)}: the adiabatic check of the armour or protective conductor (IEC 60364-5-54:2011 Annex A, BS 7671 Tables 54.2 to 54.6) up to 1 kV.
- `fault_s` (number): Fault duration for ratings.short_circuit, s (default 1).
- `formats` (array): Files to include: xml, dxf, svg, csv, glb (base64), step (STEP AP214 text), pdf (datasheet, base64).
- `installation` (object): For ratings.current: how the cable is installed; the designer's defaults for what is not given (buried 0.8 m, 20 °C ground, 1.5 K·m/W, trefoil, alone). At 0.6/1 kV group, arrangement, clearance, tray…
- `lang` (string): Any of the site's 15 languages for the answer's words (the sentence itself is read in any of them).
- `load` (object): For voltage_drop and sizing: {length_m (required), amps or kw (default the design's own rating), phases 1 | 3, volts, pf (0.85), temp_c (the insulation's normal temperature), hz, limit_pct (a Table G…
- `nec` (object): North American wires: {ocpd_a (the overcurrent device; default from the ampacity), phase_min (250.122(B): the size before upsizing), install raceway | air, ambient_c, carrying, termination_c 60 | 75…
- `sentence` (string): The cable in words, any of the 15 site languages: voltage, cores, section, conductor metal, screen, sheath, watertightness, armour. What is not said takes a default, and the answer lists which.
- `spec` (object): Instead of a sentence: {voltage: "12/20", cores: 3, section: 95, metal, screen, screenType, screenSection, screenLay (helical | interstices), insulation, sheath, watertight, armour}; add standard (an…
- `test_variant` (string): For after_installation: a national variant of the tests after installation (HD620-10A, HD620-10C, HD620-10J, HD620-10M, HD620-10R, BS6622, IS1255, BS7846, BS5467, HD603-3F, HD603-G); default the one…

### `find_equivalents` (~841 tokens)

Find a cable's equivalents in other countries

Find the equivalents of a power cable in other countries' standards ("the Dutch equivalent of this Swedish cable"): the decoded cable is rebuilt under each target rule set (IEC 60502, HD 603, HD 620 sections J/M/D/C/K, BS 5467/6724/7846/6622, EN 50618, HD 627) with the same conductor, section, cores, voltage, screen, armour and sheath, then compared layer by layer with the source of every value. Verdict per standard: equivalent, close (with the differences) or none (with the reason), and the name in that country's letters where sourced. Deterministic, no LLM. Never a statement of interchangeability: the buyer's specification decides.

Input parameters:

- `code` (string): A power cable designation with its size and voltage, e.g. "AXCLJ-TT 3x95/25 12/20 kV", "NA2XS(F)2Y 1x240/25 12/20 kV", "YMeKrvaslqwd 12/20 kV 3x95 Al rm +as70", "NYY-J 4x16". Or, instead, d: a design…
- `country` (string): Comma separated target countries: NL, SE, DK, NO, DE, GB, INT, EU, ES, IT, FR, PT, IN, CN, JP, AU, ZA, TH, US, CA. Default: all.
- `design` (object): Instead of code: a design (the design field of a design_cable answer), compared with its own layers.
- `lang` (string)
- `standard` (string): Comma separated target standards: HD620-10J, HD620-10M, HD620-10D, HD620-10K, HD620-10C, HD603-3G, HD603-5G, BS5467, BS6724, BS7846, BS6622, IEC, HD620-10E1, HD620-10E2, HD620-10I1, HD620-10I2, HD620…

### `check_cable` (~970 tokens)

Check a power cable against a standard

Check a power cable against a standard's nominal rules: a designation with size and voltage, a designer design, or the construction a maker's datasheet or tender offer states (layers with nominal and minimum thicknesses, screen and armour data). Rule sets: IEC 60502-1 / -2, IEC 60228, HD 603 3-G / 5-G, HD 620 10-J / M / D / C / K, BS 5467, BS 6724, BS 7846, BS 6622, IS 694, IS 1554-1 / -2, IS 7098-1 / -2, IS 8130, or "auto" for the standards the cable claims. Every rule with required, found, pass / fail / not checkable and its source (standard, edition, clause or table, page, how firmly seen). Deterministic, no LLM. A check against nominal rules, not a certificate or a type test.

Input parameters:

- `construction` (object): Instead of a designation: the construction as a datasheet states it: {name, voltage: "12/20", cores, conductor: {metal, section, shape, class, resistance, diameter}, core: [{kind, material, nominal,…
- `design` (object): Instead of a designation: a thecablecode design v1 (the design field of a design_cable answer).
- `designation` (string): A power cable designation with its size and voltage, e.g. "NA2XS(F)2Y 1x240/25 12/20 kV", "AXCLJ-TT 3x95/25 12/20 kV", "NYY-J 4x16", "H07RN-F 3G2.5": a DIN VDE, Nordic or Dutch MV or Indian name, or…
- `standard` (string): "auto" (default: the standards the input claims) or rule sets, comma separated, at most 4: iec-60502-1-2004, iec-60502-2-2014, iec-60228-2004, hd-603-3-g, hd-603-5-g, hd-620-10-j, hd-620-10-m, hd-620…

### `extract_datasheet` (~278 tokens)

Read a cable datasheet into constructions

Read a power cable datasheet (a maker PDF, an https link to one, or pasted datasheet or tender text) into constructions: every cable size it states with voltage, cores, conductor, each layer with its nominal and smallest thickness, screen and armour data, diameters and the claimed standards, each with the page and the row it was read from, the values that could not be read and the ones the reader is unsure of. The reading is done by an LLM (Claude) and shown as read; it decides nothing. Each construction is ready for check_cable / POST /api/v1/check, and with standard set every row is checked by the deterministic rule engine in the same call, each rule with its clause and source. Review the values before relying on a verdict.

Input parameters:

- `hint` (string): A designation or size to look for, e.g. "3x95/25 12/20 kV": only matching rows are returned.
- `standard` (string): Also check every row: "auto" (the standards each row claims, else IEC 60502 by voltage) or rule sets, comma separated.
- `text` (string): Pasted datasheet, catalogue or tender text.
- `url` (string): An https link to a PDF datasheet or a datasheet web page.

### `read_tender` (~377 tokens)

Read a tender document: cables built, requirements, schedule, conflicts and gaps

Read a project or tender document (a purchase or project specification, a tender volume, a GTP / data schedule; a PDF of up to 80 pages and 20 MB, or its text) and answer what it asks for: every cable it lists built as a design by the designer's rules and checked against its rule set, the required / offered schedule beside the document's own required values with their pages, each requirement mapped to a requirement card or listed as having none, the conflicts (one parameter with two values, a printed construction against a requirement, a value against the standard the document names, a voltage outside IEC 60038, a schedule row with no construction) and the missing sections. An LLM (Claude) copies the document's values and pages; it decides nothing: every design, check, conflict and gap is the deterministic rules with their sources. A reading takes up to a few minutes, so the call starts a job and answers a poll link; the reading is held in memory for one hour, then gone, and the file is never stored. Here the document's text; a PDF goes to POST /api/v1/tender. Always paid: $4.00 up to 20 pages, $2.00 for each further 10 pages begun, up to 80 pages.

Input parameters:

- `hint` (string): A cable tag or a voltage to look for first.
- `lang` (string): The language of the schedule's parameter names: any of the site's 15 (en, tr, de, nl, sv, fr, es, da, no, fi, it, ro, pl, cs, ru). Default en.
- `text` (string, required): The document's text (a Word file turned into text); it counts one page per 1,700 characters begun.

### `write_specification` (~614 tokens)

Write a cable specification and its required / offered schedule

Write the cable specification for a tender: one cable, or a project of up to 30 cables, each as design_cable takes it (a sentence, a bare designation, a spec or a design), plus the project's requirements (rodent, termite, UV, cold, oil, watertightness, fire, armour and more, each with the construction chosen to meet it). Returns, per cable, the specification in tender order (scope, standards, construction with each layer's thickness and source, additional requirements with their test methods, tests, marking, drums, documents, deviations) as Markdown and plain text, and the required / offered schedule (GTP) as CSV and as JSON rows: REQUIRED filled from the design with each value's source, OFFERED left for the bidder. The same text a Pro member downloads from the designer, written by the same code. Deterministic, no LLM; a draft to check against the editions in force.

Input parameters:

- `cables` (array): Instead of one cable, a project: 1 to 30 cables, each {sentence | spec | design, installation, fault_s, drum}.
- `design` (object): Instead of a sentence: the design field of a design_cable answer.
- `drum` (string): The drum line for the drums section; absent: the bidder proposes the drum.
- `fault_s` (number): Fault duration for the short-circuit rows, s (default 1).
- `installation` (object): For the current rating row, as design_cable takes it.
- `lang` (string): The language the specification is written in. Default en.
- `requirements` (array): The project's requirements, set on every cable: an id, or {id, option} with the construction chosen to meet it (an option that changes the layers adds them). Ids: rodent, termite, ants-insects, uv-su…
- `sentence` (string): One cable in words, or its designation, as design_cable takes it.
- `spec` (object): Instead of a sentence: a spec as design_cable takes it, {voltage: "12/20", cores: 3, section: 95, ...}.

### `design_presets` (~88 tokens)

List what the cable designer can build

The cable designer's presets (power, MV, HV, North American, building wire, cords, control, LAN, coaxial, fibre), each with the sentence that builds it in design_cable and its designation, and the standards a design_cable spec may name with their voltages, core counts and sections. Free, outside the daily free calls.

Input parameters:

- `lang` (string)

### `drum_fit` (~1084 tokens)

Find the cable drum a length needs

Which cable drum (reel) a length of cable needs, or how much one drum takes: whole layers and whole turns wound nested (each turn in the groove of the layer below, layers rising 0.866 dc) on a wound diameter of 1.05 x OD with a freeboard under the flange rim; cable makers' own capacity tables count aligned layers and print about 11 to 18 % less, and a drum wound loosely may hold less. Drums are KTG, Nordic K, older DIN, Spanish, NEMA, Turkish, Brazilian and Chinese series and makers' own sizes (plastic and plywood reels among them) as their makers print them, and the IS 10418:2024 sizes (India) as the standard's own Table 1 with no tare or load rating, each with its source and seen level; the barrel check uses the KTG minimum barrel table, and the cable's datasheet wins; a load rating is the maker's own, and a drum without one is not load checked (no load_ok). With reeling (and layers for a cylindrical drum), the NFPA 79 (2024) Table 12.7.3 derating of a motor-driven reeling drum. Free, deterministic, no LLM.

Input parameters:

- `D` (number): A drum by its dimensions: flange diameter, mm.
- `W` (number): Winding width between the flanges, mm.
- `allowance` (number): Wound diameter over OD. Default 1.05.
- `d` (number): Barrel diameter, mm, less than D.
- `free_height` (number): With D, d and W: a part-used drum, the height measured from the flange rim down to the top of the cable, mm. Gives the length left on it as a range (the top layer may be part wound).
- `freeboard` (number): Freeboard to the flange rim, mm. Default max(50 mm, one wound diameter).
- `handling`: 1: the handling block with lagging none.
- `kg` (number): Cable mass, kg/km: gives cable and gross (cable + tare) kg per drum and the maker's load check.
- `kind` (string): Cable kind for the smallest barrel (KTG table, x OD): flexible 12, lv-multi 15, lv-single 20, mv-multi 20, mv-single 25, hv 25, telecom 20, paper-lead 30. Default lv-multi.
- `lagging` (string): Adds handling: the drum page's handling and storage block (lagging and its estimated mass, the rules for lifting, transport, storage and payout, HD 620 for MV kinds, return terms, ISPM 15) for the fi…
- `lang` (string): The handling block's words: any of the site's 15 languages.
- `layers` (integer): With reeling: the layers wound, 1 to 5 (a cylindrical drum's factor depends on them, a radial drum's does not; NFPA 79 gives factors for 1 to 4, DIN VDE 0298-4 Table 27 for 1 to 5). Default 1.
- `length` (number): Cable length to wind, m.
- `material` (string): With D, d and W: the drum's material for the handling block (default wood).
- `max` (integer): Most drums of one size the length may be split over. Default 1.
- `od` (number, required): Cable outer diameter, mm (a flat cable: its larger side).
- `pool`: With length: 1 answers with pooled drum sizes (pools[], one row per nominal size and material, its makers' drums inside, each with its own numbers) instead of one row per maker's drum (fits[]). Defau…
- `reeling` (string): A motor-driven reeling drum (crane, mining machine, festoon reel) for a flexible cable: cylindrical (ventilated, wide flanges), radial-vent or radial-closed (spiral). Adds reeling: the NFPA 79 (2024)…
- `system` (string): Drum system: KTG (the KTG rental pool, Europe), nordic-k (Nordic K series), din (older DIN 46391 series as Eland and Romagna Cavi print it), spanish (Spanish makers), EU (every European drum), NEMA (…

### `burial_depth` (~211 tokens)

Minimum burial depth of a cable by country

The minimum burial cover for a power cable by country, voltage and location (open ground, road, pavement; direct or in a raceway for the US and Australia), from the rule the site holds for that country (national rules, HD 603 / HD 620 parts, NEC 2026 Tables 300.7(A) and 305.15(A), IS 1255), with its source and seen level; null with the reason where none was read. Free, deterministic, no LLM.

Input parameters:

- `country` (string, required): ISO country code.
- `method` (string): direct (default) or raceway (duct or conduit); the US and Australian rules tell them apart.
- `place` (string): field (open ground, default), road or pavement.
- `u` (number|string, required): U in kV (1 for 0.6/1 kV, 20 for 12/20 kV) or Uo/U such as "0.6/1".

### `fire_class` (~140 tokens)

Lowest fire class or listing a country asks for

The lowest fire class or listing a country asks for in a kind of building or space (escape route, general area, high-rise, tunnel, hospital, data centre, plenum, riser) for DE, ES, FR, GB, IT, TR and US: the rule lines with their sources and seen levels, makers' declarations marked as such, the US NEC listing ladders (CMP, CMR, CL3P ...), or not found. Free, deterministic, no LLM.

Input parameters:

- `country` (string, required)
- `lang` (string): Any of the site's 15 languages; default en.
- `place` (string, required)

### `awg_metric` (~230 tokens)

AWG or kcmil to mm² and back, by area and by resistance

AWG / kcmil against IEC 60228 mm², both ways, by area and by maximum resistance at 20 °C (4/0 AWG is not 95 mm²), each size with its resistance and source (NEC Chapter 9 Table 8, UL 1581 Table 30.3, IEC 60228:2004 Table 2); with k, the ICEA insulation constant K in MΩ·km and why it cannot be checked against an IEC Ki. Free, deterministic, no LLM.

Input parameters:

- `awg` (string): An AWG or kcmil size: 12, 1/0, 4/0, 500.
- `k` (number): An ICEA insulation constant K, MΩ·1000 ft at 15.6 °C.
- `lang` (string): Any of the site's 15 languages; default en.
- `metal` (string): Cu (default) or Al.
- `mm2` (number): An IEC 60228 class 2 size, mm².

### `conduit_fill` (~246 tokens)

NEC conduit fill: the smallest trade size

NEC Chapter 9 conduit fill: the smallest trade size of a raceway type (EMT, IMC, RMC, PVC, ENT, FMC, LFNC, LFMC, HDPE ...) that holds a list of conductors or cables, their areas from Tables 5, 5A and 8 (or a cable by its diameter) against Table 1's 53 / 31 / 40 % (60 % for a nipple), with the fill and the jam ratio of three conductors; each area with its table, and the rows a table lacks named. Free, deterministic, no LLM.

Input parameters:

- `cables` (array, required): Conductor rows: {type (THHN, XHHW, THW, RHW, RHW*, USE-2, THHN-5A ... bare, bare-solid), size (AWG or kcmil), count}, or a cable by its diameter {type: "od", od_mm, count}.
- `nipple` (boolean): A nipple up to 600 mm (Note 4, 60 %).
- `raceway` (string): Table 4 raceway type; default EMT.

### `pull_cable` (~641 tokens)

Pull a cable through a route: tensions, sidewall pressure, jam ratio

The designer's pull calculation on a route of straights and bends (a conduit or rollers): the tension out of each segment pulled from either end, the sidewall bearing pressure at each bend, the jam ratio, clearance and fill, against the allowable tension and pressure with their sources (makers' and utilities' pulling rules), and the governing limit. Without full and without payment the answer is the verdict a visitor sees on the site, counted against the designs' daily free allowance; full: true (or any paid call) answers in full. pdf: true adds the calculation sheet. input: {route: [{kind: "straight", length (m), slope (deg)} | {kind: "bend", radius (m), angle (deg), plane: "h" | "v"}] (1 to 40), n (cables, 1 to 12), arrangement: auto | triplex | cradled, duct: {kind: "conduit", material: steel | pvc | fibre | asbestos, idMm} | {kind: "conduit", material, raceway: "EMT", metric: 53} | {kind: "rollers"}, head: eye | grip, feedN?, mu?, jacket?, limitN?, swbpNPerM?}. $0.50 per calculation in USDC with x402; the free verdict counts against the designs' 2 free calls per caller per UTC day; a list of up to 50 items at $0.50 per item, one payment.

Input parameters:

- `design` (object): Instead of a sentence: the design field of a design_cable answer.
- `full` (boolean): true: the whole answer, a paid call. Without it the free verdict, counted against the designs' daily free allowance.
- `input` (object): input: {route: [{kind: "straight", length (m), slope (deg)} | {kind: "bend", radius (m), angle (deg), plane: "h" | "v"}] (1 to 40), n (cables, 1 to 12), arrangement: auto | triplex | cradled, duct: {…
- `items` (array): Instead of one: a project's list, 1 to 50 items, each {sentence | spec | design, input}; always in full, paid per item.
- `lang` (string): Any of the site's 15 languages; default en.
- `pdf` (boolean): Full mode: add the calculation sheet as pdf_base64.
- `sentence` (string): The cable in words or its designation, as design_cable takes it.
- `spec` (object): Instead of a sentence: a spec as design_cable takes it.

### `tray_fill` (~434 tokens)

NEC cable tray fill and ampacity

The NEC cable tray fill (392.22, Tables 392.22(A)(1), (A)(5), (A)(6), (B)(1)) and the ampacity of each cable in the tray (392.80), for 2000 V and below and Type MV. Without full and without payment the answer is the verdict a visitor sees on the site, counted against the designs' daily free allowance; full: true (or any paid call) answers in full. pdf: true adds the calculation sheet. input: {tray: ladder | solid | ventChannel | solidChannel, width (mm, a width the table lists), depth?, use: power | control, covered, layout: touching | spaced | triangular, ambientC, mv, kv?, cables: [{kind: multi | single, size (AWG or kcmil), metal, count, od (mm), tempC, carrying}]}. $0.50 per calculation in USDC with x402; the free verdict counts against the designs' 2 free calls per caller per UTC day; a list of up to 50 items at $0.50 per item, one payment.

Input parameters:

- `full` (boolean): true: the whole answer, a paid call. Without it the free verdict, counted against the designs' daily free allowance.
- `input` (object): input: {tray: ladder | solid | ventChannel | solidChannel, width (mm, a width the table lists), depth?, use: power | control, covered, layout: touching | spaced | triangular, ambientC, mv, kv?, cable…
- `items` (array): Instead of one: a project's list, 1 to 50 items, each {input}; always in full, paid per item.
- `lang` (string): Any of the site's 15 languages; default en.
- `pdf` (boolean): Full mode: add the calculation sheet as pdf_base64.

### `drum_loading` (~496 tokens)

Drums on trucks and containers: the loading plan

The drum page's loading planner: how many vehicles of a type (box trailer, curtain-sider, open top, flat rack, containers, platform, rigid truck, or a custom box in full mode) a number of drums needs, by space and by payload, the rows and positions, chocks and bedding, the securing (wedges, blocking along the axis, tipping, wandering lashings, the load's centre of gravity; EN 12195-1 as the EU guidelines quote it) and every vehicle type compared, each vehicle with its sources. Without full and without payment the answer is the verdict a visitor sees on the site, counted against the designs' daily free allowance; full: true (or any paid call) answers in full. input: {vehicle: c20 | c40 | c40hc | ot20 | ot40 | fr20 | fr40 | curtain | mega | flat | lowloader | rigid18 | custom, dt (transport diameter, mm), width (mm), gross (kg per drum), qty, mat?: wood | plywood | steel | plastic | cardboard (the friction factor of the securing; wood when absent), custom?: {L, W, H, payload} (full mode only)}. $0.50 per calculation in USDC with x402; the free verdict counts against the designs' 2 free calls per caller per UTC day; a list of up to 50 items at $0.50 per item, one payment.

Input parameters:

- `full` (boolean): true: the whole answer, a paid call. Without it the free verdict, counted against the designs' daily free allowance.
- `input` (object): input: {vehicle: c20 | c40 | c40hc | ot20 | ot40 | fr20 | fr40 | curtain | mega | flat | lowloader | rigid18 | custom, dt (transport diameter, mm), width (mm), gross (kg per drum), qty, mat?: wood |…
- `items` (array): Instead of one: a project's list, 1 to 50 items, each {input}; always in full, paid per item.
- `lang` (string): Any of the site's 15 languages; default en.

### `cold_weather_check` (~322 tokens)

Cold-weather check: a place and a month against the cable's laying limit

The Pro cold-weather check: the long-term mean daily minimum and mean temperature of a place in a month (NASA POWER monthly data of the place's grid cell, GeoNames places, a stored table: no outside call) against the design's minimum laying temperature with its source, and a verdict: comfortable, marginal, prewarm or unknown. A place by its GeoNames id or by coordinates (its nearest place in the table, with the distance). Always paid: the site shows no free part. input: {place: a GeoNames id (number) or "lat, lon", month: 1 to 12}. $0.50 per calculation in USDC with x402; no free allowance; a list of up to 50 items at $0.50 per item, one payment.

Input parameters:

- `design` (object): Instead of a sentence: the design field of a design_cable answer.
- `input` (object): input: {place: a GeoNames id (number) or "lat, lon", month: 1 to 12}
- `items` (array): Instead of one: a project's list, 1 to 50 items, each {sentence | spec | design, input}; always in full, paid per item.
- `lang` (string): Any of the site's 15 languages; default en.
- `sentence` (string): The cable in words or its designation, as design_cable takes it.
- `spec` (object): Instead of a sentence: a spec as design_cable takes it.

### `mv_electrical` (~316 tokens)

Electrical values of an MV or HV design

The Pro electrical values of a medium or high voltage design: capacitance, charging current, inductive reactance in trefoil and flat, a.c. resistance with the skin and proximity effects (IEC 60287-1-1), dielectric loss and the impulse levels (IEC 60502-2), every value with its source; what no source gives is listed as missing. Always paid: the site shows them to members only. input: {freq: 50 | 60, trefoilMm?, flatMm?} (axis spacing, mm; absent: touching). $0.50 per calculation in USDC with x402; no free allowance; a list of up to 50 items at $0.50 per item, one payment.

Input parameters:

- `design` (object): Instead of a sentence: the design field of a design_cable answer.
- `input` (object): input: {freq: 50 | 60, trefoilMm?, flatMm?} (axis spacing, mm; absent: touching)
- `items` (array): Instead of one: a project's list, 1 to 50 items, each {sentence | spec | design, input}; always in full, paid per item.
- `lang` (string): Any of the site's 15 languages; default en.
- `sentence` (string): The cable in words or its designation, as design_cable takes it.
- `spec` (object): Instead of a sentence: a spec as design_cable takes it.

### `economic_size` (~360 tokens)

Economic size of an MV or HV design

The Pro economic size (the IEC 60287-3-2 method): the energy lost a year in this size and one and two sizes up, its present cost over the years, and the discounted payback of the larger size where its extra cost is given, each step with its formula and source. Always paid: the site shows it to members only. input: {amps (first-year maximum load), hours (a year in service), mu (loss-load factor), price (per kWh), years, interest (%), lengthM, ambientC, freq?, extra?: [one size up, two sizes up] (extra cost per metre)}. $0.50 per calculation in USDC with x402; no free allowance; a list of up to 50 items at $0.50 per item, one payment.

Input parameters:

- `design` (object): Instead of a sentence: the design field of a design_cable answer.
- `input` (object): input: {amps (first-year maximum load), hours (a year in service), mu (loss-load factor), price (per kWh), years, interest (%), lengthM, ambientC, freq?, extra?: [one size up, two sizes up] (extra co…
- `items` (array): Instead of one: a project's list, 1 to 50 items, each {sentence | spec | design, input}; always in full, paid per item.
- `lang` (string): Any of the site's 15 languages; default en.
- `sentence` (string): The cable in words or its designation, as design_cable takes it.
- `spec` (object): Instead of a sentence: a spec as design_cable takes it.

### `commissioning_sheet` (~427 tokens)

Commissioning sheet (PDF) for the tests after installation

The Pro commissioning sheet for a design: the tests after installation of its voltage (the rows of design_cable after_installation, IEC 60502-2 clause 20, IEC 60840, IEC 62067, HD 620, BS, IEEE 400.2), each with its voltage, duration and source, as a PDF with fields to record the results. A separate paid call: its own price, never inside the design price. input: {tests?: [row ids of after_installation] (default every row), variant?: HD620-10A | HD620-10C | HD620-10J | HD620-10M | HD620-10R | BS6622 | IS1255 | BS7846 | BS5467 | HD603-3F | HD603-G, length?: route length (m)}. $0.50 per calculation in USDC with x402; no free allowance; a list of up to 50 items at $0.50 per item, one payment.

Input parameters:

- `design` (object): Instead of a sentence: the design field of a design_cable answer.
- `input` (object): input: {tests?: [row ids of after_installation] (default every row), variant?: HD620-10A | HD620-10C | HD620-10J | HD620-10M | HD620-10R | BS6622 | IS1255 | BS7846 | BS5467 | HD603-3F | HD603-G, leng…
- `items` (array): Instead of one: a project's list, 1 to 50 items, each {sentence | spec | design, input}; always in full, paid per item.
- `lang` (string): Any of the site's 15 languages; default en.
- `sentence` (string): The cable in words or its designation, as design_cable takes it.
- `spec` (object): Instead of a sentence: a spec as design_cable takes it.

### `cable_prep` (~888 tokens)

Cable end preparation for an LV, MV or HV design

The cable end preparation: in full, each step with the design's own cut depths and the diameter left, the makers' cut-back lengths for this voltage and size (anonymous: makers' published instructions, typical; none apply to a low voltage cable), the lug row (lug: the lug family by conductor class and metal, its standards, the strip length rule, the die code once the lug tables are read), for an MV design the kinds of termination and joint kit that fit it (kits: their ranges, length and shed count from the makers' public catalogues, no maker or kit named) and the outdoor termination's minimum creepage per pollution class a to e (creepage: IEC TS 60815-3 reference USCD times Um/√3, with its corrections and sources; the class read at its upper edge on the curve, or one class lower for an HTM insulator, as the panel offers), the fittings (fittings: the gland's sealing and clamping diameters, its IEC 62444 anchorage and pull force and the thread sizes two makers' agreed ranges cover; the EN 50181 separable connector interfaces for the Um and current; for single cores the IEC 61914 cleat force and the standing sheath voltage), and the step sheet (PDF); the free verdict is the common step order every visitor sees, each step with its sources. Without full and without payment the answer is the verdict a visitor sees on the site, counted against the designs' daily free allowance; full: true (or any paid call) answers in full. A separate paid call at its own price. input: {pollution?: a | b | c | d | e (the site pollution severity class of IEC TS 60815-1 for the outdoor termination's minimum creepage; absent: every class, none picked), edge?: true (the class read at its upper edge on the IEC TS 60815-1 curve), htm_lower?: true (an HTM insulator: one class lower), fittings?: {formation: trefoil | flat, spacingMm, currentA, lengthM (single-point bonded section), limitV, ikKa, rx, ipKa, leadM, cleatM, freq: 50 | 60, connectorA} (every field optional)} (the design decides the res…

Input parameters:

- `design` (object): Instead of a sentence: the design field of a design_cable answer.
- `full` (boolean): true: the whole answer, a paid call. Without it the free verdict, counted against the designs' daily free allowance.
- `input` (object): input: {pollution?: a | b | c | d | e (the site pollution severity class of IEC TS 60815-1 for the outdoor termination's minimum creepage; absent: every class, none picked), edge?: true (the class re…
- `items` (array): Instead of one: a project's list, 1 to 50 items, each {sentence | spec | design, input}; always in full, paid per item.
- `lang` (string): Any of the site's 15 languages; default en.
- `pdf` (boolean): Full mode: add the calculation sheet as pdf_base64.
- `sentence` (string): The cable in words or its designation, as design_cable takes it.
- `spec` (object): Instead of a sentence: a spec as design_cable takes it.

### `iec60287_rating` (~692 tokens)

IEC 60287 current rating of one single-core MV or HV circuit at your site

The Enterprise IEC 60287 calculation: the continuous current rating of one circuit of three single cores of a medium or high voltage design, in trefoil or flat, buried direct, in buried ducts (one cable in each) or in free air, bonded at both ends, single-point or cross-bonded, at the site conditions sent (IEC 60287-1-1:2006+A1:2014 and IEC 60287-2-1:2015, read at standard level page by page): every step (the a.c. resistance with ys and yp, the dielectric loss, the screen loss factors, T1, T3, T4, the losses) with its value, unit, clause and page, the notes on what was taken and, where no rating is given, the reasons. Where the site is unknown, the values of IEC 60287-3-1:2017, 4.2, Tables 1 and 2, p. 7 stand (1 m, ground 20 °C, air 25 °C, soil 1.0 K·m/W). Not covered: armour, corrugated sheaths, three-core cables, drying out of the soil, cyclic loads, duct banks, crossings. Always paid, at its own Enterprise-grade price: on the site an Enterprise member's calculation. input: {laying: buried | duct | air, formation: trefoil | flat, bonding: both | single | cross, freq?: 50 | 60, spacingMm? (axis to axis; absent: touching), depthM? (default 1), soil? (K·m/W, default 1), groundC? (default 20), airC? (default 25), duct?: {material: pe | pvc | earthenware, innerMm, outerMm} (laying duct), solar? (W/m², laying air; absent: shaded)}. $5.00 per calculation in USDC with x402; no free allowance; a list of up to 50 items at $5.00 per item, one payment.

Input parameters:

- `design` (object): Instead of a sentence: the design field of a design_cable answer.
- `input` (object): input: {laying: buried | duct | air, formation: trefoil | flat, bonding: both | single | cross, freq?: 50 | 60, spacingMm? (axis to axis; absent: touching), depthM? (default 1), soil? (K·m/W, default…
- `items` (array): Instead of one: a project's list, 1 to 50 items, each {sentence | spec | design, input}; always in full, paid per item.
- `lang` (string): Any of the site's 15 languages; default en.
- `sentence` (string): The cable in words or its designation, as design_cable takes it.
- `spec` (object): Instead of a sentence: a spec as design_cable takes it.

### `equivalence_report` (~477 tokens)

Equivalence report: an IEC cable against its NEC / UL counterpart, for bids

The Pro equivalence report (server/pro/equivalence.ts, as a member downloads it under the equivalents panel): an IEC power cable in mm² against its North American counterpart in the same role (low voltage: XHHW-2 or USE-2 / RHW-2 (UL 44) or THHN / THWN-2 (UL 83) at the smallest AWG / kcmil size whose area is at least the IEC section; medium voltage: UL 1072 MV-105, the conductor compared, the wall not), value by value: conductor size and resistance (IEC 60228:2004, NEC Chapter 9 Table 8), insulation wall, voltage, normal temperature (IEC 60502-1 / -2 Table 3, NEC Table 310.16), the compound limits (IEC 60502-1 Table 15, UL 1581 Tables 50.231 and 50.182) and the flame tests (IEC 60332-1-2 against VW-1, IEC 60332-3-24 against FT4: not equivalent), each with its source and seen level, as lines and as the report file (Markdown or plain text). Never a statement that the two are interchangeable: the buyer's specification decides. Always paid: the site gives it to members only. input: {format?: md | txt (the report file; default md)}. $0.50 per calculation in USDC with x402; no free allowance; a list of up to 50 items at $0.50 per item, one payment.

Input parameters:

- `design` (object): Instead of a sentence: the design field of a design_cable answer.
- `input` (object): input: {format?: md | txt (the report file; default md)}
- `items` (array): Instead of one: a project's list, 1 to 50 items, each {sentence | spec | design, input}; always in full, paid per item.
- `lang` (string): Any of the site's 15 languages; default en.
- `sentence` (string): The cable in words or its designation, as design_cable takes it.
- `spec` (object): Instead of a sentence: a spec as design_cable takes it.

## Diagnostics

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

## Score history

- 2026-11-05: 79
- 2026-11-04: 78
- 2026-11-03: 78
- 2026-11-02: 77
- 2026-11-01: 77
- 2026-10-31: 77
- 2026-10-30: 76
- 2026-10-29: 72
- 2026-10-28: 71
- 2026-10-27: 71
- 2026-10-26: 70
- 2026-10-25: 70
- 2026-10-24: 69
- 2026-10-23: 69
- 2026-10-22: 69
- 2026-10-21: 68
- 2026-10-20: 68
- 2026-10-19: 67
- 2026-10-18: 67
- 2026-10-17: 67

## Common questions

### What is the The Cable Code MCP server?

The Cable Code is an MCP server listed in the public MCP registry as io.github.exquad/thecablecode. Decode cables in 69 coding systems; design, rate, check, find equivalents; drums, laying, fire. This page covers its hosted endpoint (https://thecablecode.com/mcp).

### Is the The Cable Code MCP server safe to use?

The Cable Code scores 79 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 The Cable Code MCP server expose?

The Cable Code exposes 23 tools: decode_cable_code, design_cable, find_equivalents, check_cable, extract_datasheet, and 18 more. Their descriptions and schemas cost roughly 11,703 tokens of context every time the server is loaded.

### Does the The Cable Code MCP server require authentication?

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

### Is the The Cable Code MCP server still maintained?

The Cable Code is still listed as active in the MCP registry. We last reached this channel on 5 November 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://thecablecode.com/mcp
- Website: https://thecablecode.com/developers
- Changelog RSS feed: https://verifymcp.io/servers/exquad-thecablecode/thecablecode.xml
- Changelog JSON feed: https://verifymcp.io/servers/exquad-thecablecode/thecablecode.json
- HTML version of this page: https://verifymcp.io/servers/exquad-thecablecode/thecablecode
