← The evidence ledger
Evidence row 779631
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 49066952-7197-486b-a374-748077699a6c
- Recorded
- Previous row
- #732522
- Body SHA-256
- 712f4c95409a5996ef138063cd9f4530be708d3c3c31316771de9a3570ac29ed
- Leaf
- 0x9d901a3971198fd8228a79310ea831520d8928f38fcc336705757e46b70ce83f
What was observed
{
"count": 24,
"tools": [
{
"description": "Extract a datasheet with DatasheetVend Fast Extraction and return its Unified Component Model (UCM) digital twin in one call. Fast Extraction runs once for every requested module, and the modules' facts combine into one twin, filed where they belong: pins, whole_part (temperatures, absolute limits, package, ordering code), interfaces_rails, registers and checks — every fact with a check ('passed', 'needs_review', 'disagrees', 'failed_sanity_check') and, where recorded, its datasheet page. Returns the same ucm_twin_v1 view as datasheetvend_get_component_twin, with every section unless you ask for sections, one pin or a search, plus an `extraction` block: the engine, `rescued_features` (modules Fast Extraction could not complete at turbo speed that the standard deep engine extracted instead, slower for just those modules -- still billed and still in the twin), the modules NEITHER engine could extract (no credits charged for those), the credits charged and stored=false. Treat facts that did not pass as unverified and cite their page. The twin is NOT saved to your account: datasheetvend_get_component_twin and the dashboard will not find it, and calling again extracts and bills again. Needs a DatasheetVend API key. Costs the requested modules' credits: pinout (1 credit), absolute_max (2 credits), pin_cautions (2 credits), logic_levels (2 credits), thermal (2 credits), timing (2 credits), register_map (3 credits), peripheral_matrix (2 credits), power_battery (1 credit), part_decoder (2 credits), cad_normalized (1 credit, extracted as footprint); all of them 20 credits.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"documentPath": {
"description": "https:// URL to the datasheet PDF. The remote /api/mcp endpoint accepts ONLY https:// URLs (it downloads them).",
"minLength": 1,
"type": "string"
},
"max_facts": {
"description": "Cap on facts returned across the pin and sections (default 200). `truncated` says when it was reached.",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"modules": {
"description": "Twin modules to extract and combine: pinout, absolute_max, pin_cautions, logic_levels, thermal, timing, register_map, peripheral_matrix, power_battery, part_decoder, cad_normalized. Omit for all of them. Each costs its module credits.",
"items": {
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"maxItems": 20,
"minItems": 1,
"type": "array"
},
"only_passed": {
"description": "Only facts that passed every check. Default false: every fact comes with its check.",
"type": "boolean"
},
"partName": {
"description": "Optional part number / MPN to target in a datasheet that covers several parts.",
"type": [
"string",
"null"
]
},
"pin": {
"description": "One pin by number, name or alternate function (for example '27', 'PC4' or 'SDA'): every fact that reaches it — its own and those of its rails and interfaces.",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"search": {
"description": "Only facts whose parameter, symbol, statement or node contains this text, case-insensitive (for example 'storage temperature' or 'TWCR'). With no sections given, searches pins, whole_part, interfaces_rails and registers.",
"maxLength": 80,
"minLength": 1,
"type": "string"
},
"sections": {
"description": "Parts of the twin to include besides the summary: pins, whole_part, interfaces_rails, registers, checks. Omit, with no pin or search, for every section — this twin is not stored, so there is no second read.",
"items": {
"enum": [
"pins",
"whole_part",
"interfaces_rails",
"registers",
"checks"
],
"type": "string"
},
"maxItems": 5,
"type": "array"
}
},
"required": [
"documentPath"
],
"type": "object"
},
"name": "datasheetvend_build_component_twin"
},
{
"description": "Decode the ordering nomenclature: per-position suffix meanings (temp grade, package, speed, packaging) and, where the datasheet's ordering information supports it, the enumerated orderable_part_numbers list — the direct answer to 'which/how many orderable part numbers'. Codes the document's ordering legend lists that the decode lacks come back as deterministic_harvest_only_rules, each with its source page: text-layer evidence to check, not decoded rules. Runs DatasheetVend Fast Extraction: a page scout routes targeted model reads and the module's own deterministic readers, then the same normalization and completion checks as a dashboard job finish the result, usually in seconds; `engine` names the engine on every result. If Fast Extraction cannot complete the module, the slower deep engine re-runs that module alone (engine.runtime is then `monolith_rescue`; the result says so, and it is billed as delivered). A rescue can take several minutes, so set a client timeout of 10 minutes. Only if the deep engine also cannot deliver does the module return status FAILED with the reason.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"documentPath": {
"description": "https:// URL to the datasheet PDF. The remote /api/mcp endpoint accepts ONLY https:// URLs (it downloads them); a local filesystem path works solely in local stdio mode (npm run mcp:serve).",
"minLength": 1,
"type": "string"
},
"partName": {
"description": "Optional part number / MPN to disambiguate a multi-part datasheet.",
"type": [
"string",
"null"
]
}
},
"required": [
"documentPath"
],
"type": "object"
},
"name": "datasheetvend_decode_part_number"
},
{
"description": "Extract the Absolute Maximum Ratings: never-exceed supply/pin voltages, max currents, and storage temperatures. Use extract_logic_levels for the OPERATING supply range, not these stress limits. Runs DatasheetVend Fast Extraction: a page scout routes targeted model reads and the module's own deterministic readers, then the same normalization and completion checks as a dashboard job finish the result, usually in seconds; `engine` names the engine on every result. If Fast Extraction cannot complete the module, the slower deep engine re-runs that module alone (engine.runtime is then `monolith_rescue`; the result says so, and it is billed as delivered). A rescue can take several minutes, so set a client timeout of 10 minutes. Only if the deep engine also cannot deliver does the module return status FAILED with the reason.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"documentPath": {
"description": "https:// URL to the datasheet PDF. The remote /api/mcp endpoint accepts ONLY https:// URLs (it downloads them); a local filesystem path works solely in local stdio mode (npm run mcp:serve).",
"minLength": 1,
"type": "string"
},
"partName": {
"description": "Optional part number / MPN to disambiguate a multi-part datasheet.",
"type": [
"string",
"null"
]
}
},
"required": [
"documentPath"
],
"type": "object"
},
"name": "datasheetvend_extract_absolute_max"
},
{
"description": "Parse an Altium Designer ASCII footprint export (a text file — NOT a binary .PcbLib/.SchLib) and extract the footprint name, per-pad copper geometry (designator, name, coordinates, size, shape), layer map, and this module's own review/audit verdict. This reads an EXISTING Altium file; it does not build one from a datasheet PDF (for that, see the Altium Assist output pack on a completed extraction job). No model call — deterministic parsing only.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"documentPath": {
"description": "https:// URL to an Altium ASCII footprint export (a text file, not a binary .PcbLib/.SchLib). The remote /api/mcp endpoint accepts ONLY https:// URLs (it downloads them); a local filesystem path works solely in local stdio mode (npm run mcp:serve)..",
"minLength": 1,
"type": "string"
},
"partName": {
"description": "Optional component name / MPN.",
"type": [
"string",
"null"
]
}
},
"required": [
"documentPath"
],
"type": "object"
},
"name": "datasheetvend_extract_altium_bundle"
},
{
"description": "Extract analog conversion and signal-conditioning specs: ADC/DAC resolution, sampling rates (MSPS/kSPS), channel counts, input-voltage ranges, static non-linearity (INL/DNL), dynamic specs (ENOB, SINAD, SNR, SFDR, THD), operational amplifiers (GBW, slew rate, rail-to-rail, CMRR/PSRR), internal voltage references (nominal voltage, tempco ppm/°C), and operating supply/temp envelopes, plus comparator propagation delay and hysteresis. Runs DatasheetVend Fast Extraction: a page scout routes targeted model reads and the module's own deterministic readers, then the same normalization and completion checks as a dashboard job finish the result, usually in seconds; `engine` names the engine on every result. If Fast Extraction cannot complete the module, the slower deep engine re-runs that module alone (engine.runtime is then `monolith_rescue`; the result says so, and it is billed as delivered). A rescue can take several minutes, so set a client timeout of 10 minutes. Only if the deep engine also cannot deliver does the module return status FAILED with the reason.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"documentPath": {
"description": "https:// URL to the datasheet PDF. The remote /api/mcp endpoint accepts ONLY https:// URLs (it downloads them); a local filesystem path works solely in local stdio mode (npm run mcp:serve).",
"minLength": 1,
"type": "string"
},
"partName": {
"description": "Optional part number / MPN to disambiguate a multi-part datasheet.",
"type": [
"string",
"null"
]
}
},
"required": [
"documentPath"
],
"type": "object"
},
"name": "datasheetvend_extract_analog_specs"
},
{
"description": "Build the Document Map of a datasheet PDF: a deterministic, machine-readable index of WHERE the topics live (pinout, package, mechanical, electrical, timing, thermal, absolute_max, registers, cautions …) and WHAT each page physically looks like (table / prose / vector_drawing / raster_image / blank / honest unknown), including a per-page geometry census (vector paths, ruling lines, raster coverage). No LLM is involved — the same document yields the same map, cached by SHA-256, so repeat calls are served from the cache. USE IT FIRST, before reading any page of a datasheet: read the candidate pages it recommends and pick your tool per page from anatomy.dominant_form. The result is wrapped as { contractVersion, documentRef, review, map }; inside `map` it names `map.document.total_pages` (the physical page count) and, per topic, `map.module_targets[].primary_pages` — so it answers 'how many pages' and points to the pages likely to hold the absolute-max ratings / pinout / package drawing (a primary page can miss, so read the candidates and check the warnings). Do NOT use it to get pin names, dimensions, or ratings — it contains no extracted values (use datasheetvend_extract_pinout for pins). Page numbers are physical 1-based PDF pages, not printed labels. Check review.required and the warnings before trusting a degraded map.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"documentPath": {
"description": "https:// URL to the datasheet PDF. The remote /api/mcp endpoint accepts ONLY https:// URLs (it downloads them); a local filesystem path works solely in local stdio mode (npm run mcp:serve)..",
"minLength": 1,
"type": "string"
}
},
"required": [
"documentPath"
],
"type": "object"
},
"name": "datasheetvend_extract_document_map"
},
{
"description": "Generate a KiCad footprint (.kicad_mod) and schematic symbol (.kicad_sym) from a datasheet in one call. Both files are loaded with kicad-cli where it is installed (a file-format check, not a DRC/ERC) and passed through the same deterministic copper, courtyard, pin-1 and pad-placement checks the dashboard uses. bundle_status \"completed\" means both files were independently proven against this document; \"needs_review\" means a file was produced (possibly from the KiCad library or JEDEC/IPC-7351B math instead of this document — see footprint_provenance/symbol_provenance) without that proof; \"cannot_extract\" means nothing usable was produced, and the credits for this call are refunded automatically (status FAILED).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"documentPath": {
"description": "https:// URL to the datasheet PDF. The remote /api/mcp endpoint accepts ONLY https:// URLs (it downloads them); a local filesystem path works solely in local stdio mode (npm run mcp:serve)..",
"minLength": 1,
"type": "string"
},
"packageSelection": {
"description": "Optional package/variant (e.g. 'LQFP48', 'SOIC8', 'QFN32').",
"type": [
"string",
"null"
]
},
"partName": {
"description": "Optional part number / MPN to disambiguate package variants.",
"type": [
"string",
"null"
]
}
},
"required": [
"documentPath"
],
"type": "object"
},
"name": "datasheetvend_extract_kicad_bundle"
},
{
"description": "Write a KiCad PCB footprint (.kicad_mod) from a datasheet's package mechanical drawing: pad geometry, pitch, thermal tabs and courtyard, using the datasheet's own recommended land pattern when it prints one, otherwise simplified IPC-7351B fillet math. Emitted files are loaded with kicad-cli (sym/fp upgrade) where it is installed, which is a file-format check, not a DRC or ERC. Only bundle_status \"completed\" (with final_readiness.physical_truth_approved true) means the placement was independently proven against this document; \"needs_review\" covers everything else that still produced a file, including one built from the KiCad library or JEDEC/IPC-7351B math instead of this document (see footprint_provenance).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"documentPath": {
"description": "https:// URL to the datasheet PDF. The remote /api/mcp endpoint accepts ONLY https:// URLs (it downloads them); a local filesystem path works solely in local stdio mode (npm run mcp:serve)..",
"minLength": 1,
"type": "string"
},
"packageSelection": {
"description": "Optional package/variant (e.g. 'LQFP48', 'SOIC8', 'QFN32').",
"type": [
"string",
"null"
]
},
"partName": {
"description": "Optional part number / MPN to disambiguate package variants.",
"type": [
"string",
"null"
]
}
},
"required": [
"documentPath"
],
"type": "object"
},
"name": "datasheetvend_extract_kicad_footprint"
},
{
"description": "Write a KiCad schematic symbol library (.kicad_sym) with logical pin groupings (Power, Ground, Reset, Clocks, GPIO, Analog, Bus interfaces) from a datasheet's pinout. Symbol layout is generated from the pin functions the pinout module resolved; there is no IEEE/IEC symbol-drawing standard applied. The emitted file is loaded with kicad-cli (sym upgrade) where it is installed, a file-format check, not a DRC or ERC.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"documentPath": {
"description": "https:// URL to the datasheet PDF. The remote /api/mcp endpoint accepts ONLY https:// URLs (it downloads them); a local filesystem path works solely in local stdio mode (npm run mcp:serve)..",
"minLength": 1,
"type": "string"
},
"packageSelection": {
"description": "Optional package/variant (e.g. 'LQFP48', 'SOIC8', 'QFN32').",
"type": [
"string",
"null"
]
},
"partName": {
"description": "Optional part number / MPN to disambiguate package variants.",
"type": [
"string",
"null"
]
}
},
"required": [
"documentPath"
],
"type": "object"
},
"name": "datasheetvend_extract_kicad_symbol"
},
{
"description": "Extract DC electrical characteristics: VIH/VIL/VOH/VOL thresholds, Schmitt hysteresis, AND the VCC/VDD operating supply voltage range. Use this for supply-range questions; extract_absolute_max gives never-exceed limits. Runs DatasheetVend Fast Extraction: a page scout routes targeted model reads and the module's own deterministic readers, then the same normalization and completion checks as a dashboard job finish the result, usually in seconds; `engine` names the engine on every result. If Fast Extraction cannot complete the module, the slower deep engine re-runs that module alone (engine.runtime is then `monolith_rescue`; the result says so, and it is billed as delivered). A rescue can take several minutes, so set a client timeout of 10 minutes. Only if the deep engine also cannot deliver does the module return status FAILED with the reason.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"documentPath": {
"description": "https:// URL to the datasheet PDF. The remote /api/mcp endpoint accepts ONLY https:// URLs (it downloads them); a local filesystem path works solely in local stdio mode (npm run mcp:serve).",
"minLength": 1,
"type": "string"
},
"partName": {
"description": "Optional part number / MPN to disambiguate a multi-part datasheet.",
"type": [
"string",
"null"
]
}
},
"required": [
"documentPath"
],
"type": "object"
},
"name": "datasheetvend_extract_logic_levels"
},
{
"description": "Extract mechanical package outline dimensions (D, E, A, A1, e, L, b) and a nominal land geometry estimate in the spirit of IPC-7351B (review-level, not a manufacturer land pattern). For the package variant/pin count from the pin table, prefer extract_pinout. Runs DatasheetVend Fast Extraction: a page scout routes targeted model reads and the module's own deterministic readers, then the same normalization and completion checks as a dashboard job finish the result, usually in seconds; `engine` names the engine on every result. If Fast Extraction cannot complete the module, the slower deep engine re-runs that module alone (engine.runtime is then `monolith_rescue`; the result says so, and it is billed as delivered). A rescue can take several minutes, so set a client timeout of 10 minutes. Only if the deep engine also cannot deliver does the module return status FAILED with the reason.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"documentPath": {
"description": "https:// URL to the datasheet PDF. The remote /api/mcp endpoint accepts ONLY https:// URLs (it downloads them); a local filesystem path works solely in local stdio mode (npm run mcp:serve).",
"minLength": 1,
"type": "string"
},
"partName": {
"description": "Optional part number / MPN to disambiguate a multi-part datasheet.",
"type": [
"string",
"null"
]
}
},
"required": [
"documentPath"
],
"type": "object"
},
"name": "datasheetvend_extract_package_dimensions"
},
{
"description": "Extract the recommended passive support components: decoupling/bypass capacitors, crystal load caps, and pull-up/down resistors, with their values and the pins they connect to. Runs DatasheetVend Fast Extraction: a page scout routes targeted model reads and the module's own deterministic readers, then the same normalization and completion checks as a dashboard job finish the result, usually in seconds; `engine` names the engine on every result. If Fast Extraction cannot complete the module, the slower deep engine re-runs that module alone (engine.runtime is then `monolith_rescue`; the result says so, and it is billed as delivered). A rescue can take several minutes, so set a client timeout of 10 minutes. Only if the deep engine also cannot deliver does the module return status FAILED with the reason.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"documentPath": {
"description": "https:// URL to the datasheet PDF. The remote /api/mcp endpoint accepts ONLY https:// URLs (it downloads them); a local filesystem path works solely in local stdio mode (npm run mcp:serve).",
"minLength": 1,
"type": "string"
},
"partName": {
"description": "Optional part number / MPN to disambiguate a multi-part datasheet.",
"type": [
"string",
"null"
]
}
},
"required": [
"documentPath"
],
"type": "object"
},
"name": "datasheetvend_extract_passive_bom"
},
{
"description": "Extract the on-chip peripheral inventory, one row per instance, in 13 classes: serial/communication (UART/USART, SPI, I2C, CAN, USB, Ethernet, SDIO, I2S/SAI), analog blocks (ADC, DAC, comparator, op-amp, voltage reference, temperature sensor), timers and watchdogs, DMA, security/math accelerators (crypto, RNG, CRC), external memory interfaces (FMC/FSMC/EMC, memory-mapped QSPI), display/camera/touch, interrupt controllers, GPIO, clock/reset, low-power modes, debug/trace and device identity. Each row carries the datasheet page it was read from, where one was recorded. For ADC/DAC/comparator electrical specs (resolution, sampling rate, INL/DNL, propagation delay) use datasheetvend_extract_analog_specs. For per-mode current draw, wakeup timing, and reset/brown-out threshold voltages use datasheetvend_extract_power_domains. Runs DatasheetVend Fast Extraction: a page scout routes targeted model reads and the module's own deterministic readers, then the same normalization and completion checks as a dashboard job finish the result, usually in seconds; `engine` names the engine on every result. If Fast Extraction cannot complete the module, the slower deep engine re-runs that module alone (engine.runtime is then `monolith_rescue`; the result says so, and it is billed as delivered). A rescue can take several minutes, so set a client timeout of 10 minutes. Only if the deep engine also cannot deliver does the module return status FAILED with the reason.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"documentPath": {
"description": "https:// URL to the datasheet PDF. The remote /api/mcp endpoint accepts ONLY https:// URLs (it downloads them); a local filesystem path works solely in local stdio mode (npm run mcp:serve).",
"minLength": 1,
"type": "string"
},
"partName": {
"description": "Optional part number / MPN to disambiguate a multi-part datasheet.",
"type": [
"string",
"null"
]
}
},
"required": [
"documentPath"
],
"type": "object"
},
"name": "datasheetvend_extract_peripheral_matrix"
},
{
"description": "Extract hardware design cautions: bootstrap/mode-strapping requirements, 5V-tolerant vs 3.3V-only pin boundaries, reset/debug pin precautions (NRST filtering, SWD pull-ups), oscillator/crystal PCB guardrails, analog/power-domain isolation (VDDA/VBAT), and unconnected/reserved-pin handling. Each caution row includes source_page, source_text_snippet, and verified source_evidence bounding box coordinates ([x0, y0, x1, y1] in PDF points and normalized 0..1000 space) for visual inspector auditability. Runs DatasheetVend Fast Extraction: a page scout routes targeted model reads and the module's own deterministic readers, then the same normalization and completion checks as a dashboard job finish the result, usually in seconds; `engine` names the engine on every result. If Fast Extraction cannot complete the module, the slower deep engine re-runs that module alone (engine.runtime is then `monolith_rescue`; the result says so, and it is billed as delivered). A rescue can take several minutes, so set a client timeout of 10 minutes. Only if the deep engine also cannot deliver does the module return status FAILED with the reason.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"documentPath": {
"description": "https:// URL to the datasheet PDF. The remote /api/mcp endpoint accepts ONLY https:// URLs (it downloads them); a local filesystem path works solely in local stdio mode (npm run mcp:serve).",
"minLength": 1,
"type": "string"
},
"partName": {
"description": "Optional part number / MPN to disambiguate a multi-part datasheet.",
"type": [
"string",
"null"
]
}
},
"required": [
"documentPath"
],
"type": "object"
},
"name": "datasheetvend_extract_pin_cautions"
},
{
"description": "Extract a component's pin/pad table from a datasheet PDF as verifiable, provenance-tracked evidence — not raw PDF text to re-interpret. Returns a PinoutEvidence document (contract pinout_evidence_v1): the canonical pins and special pads with names/types/functions. It also RESOLVES THE PACKAGE from the terminals — `package.family`, `package.variant` (e.g. SOT-223, TQFP-32) and `package.pin_count` — so use this tool to answer package-variant and pin-count questions, not extract_package_dimensions (mechanical geometry) or decode_part_number (ordering codes). A review-state flags when the result must be human-checked (e.g. no pins recovered, or the module raised warnings). Prefer this over reading the PDF yourself; trust `review.required` before acting. Runs DatasheetVend Fast Extraction: a page scout routes targeted reads of the pin tables, cross-checked against the package drawing where the document prints one, usually in seconds; `engine` names the engine on every result. If Fast Extraction cannot extract the pinout, the slower deep engine re-runs pinout alone (engine.runtime is then `monolith_rescue`; a rescue can take several minutes, so set a client timeout of 10 minutes). Only if that also fails does it come back as an error with the reason.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"documentPath": {
"description": "https:// URL to the datasheet PDF. The remote /api/mcp endpoint accepts ONLY https:// URLs (it downloads them); a local filesystem path works solely in local stdio mode (npm run mcp:serve).",
"minLength": 1,
"type": "string"
},
"packageSelection": {
"description": "Optional package/variant (e.g. 'LQFP48') when the datasheet lists more than one; Fast Extraction reads that package's pin column.",
"type": [
"string",
"null"
]
},
"partName": {
"description": "Optional part number / MPN to disambiguate a datasheet that covers several parts.",
"type": [
"string",
"null"
]
}
},
"required": [
"documentPath"
],
"type": "object"
},
"name": "datasheetvend_extract_pinout"
},
{
"description": "Extract power supply domains (VDD/VDDA/VBAT), low-power/sleep modes and their consumption, and battery-backup configuration. Runs DatasheetVend Fast Extraction: a page scout routes targeted model reads and the module's own deterministic readers, then the same normalization and completion checks as a dashboard job finish the result, usually in seconds; `engine` names the engine on every result. If Fast Extraction cannot complete the module, the slower deep engine re-runs that module alone (engine.runtime is then `monolith_rescue`; the result says so, and it is billed as delivered). A rescue can take several minutes, so set a client timeout of 10 minutes. Only if the deep engine also cannot deliver does the module return status FAILED with the reason.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"documentPath": {
"description": "https:// URL to the datasheet PDF. The remote /api/mcp endpoint accepts ONLY https:// URLs (it downloads them); a local filesystem path works solely in local stdio mode (npm run mcp:serve).",
"minLength": 1,
"type": "string"
},
"partName": {
"description": "Optional part number / MPN to disambiguate a multi-part datasheet.",
"type": [
"string",
"null"
]
}
},
"required": [
"documentPath"
],
"type": "object"
},
"name": "datasheetvend_extract_power_domains"
},
{
"description": "Extract the register map: memory addresses, reset values, access permissions (RO/RW/W1C), and per-bit field definitions. Runs DatasheetVend Fast Extraction: a page scout routes targeted model reads and the module's own deterministic readers, then the same normalization and completion checks as a dashboard job finish the result, usually in seconds; `engine` names the engine on every result. If Fast Extraction cannot complete the module, the slower deep engine re-runs that module alone (engine.runtime is then `monolith_rescue`; the result says so, and it is billed as delivered). A rescue can take several minutes, so set a client timeout of 10 minutes. Only if the deep engine also cannot deliver does the module return status FAILED with the reason.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"documentPath": {
"description": "https:// URL to the datasheet PDF. The remote /api/mcp endpoint accepts ONLY https:// URLs (it downloads them); a local filesystem path works solely in local stdio mode (npm run mcp:serve).",
"minLength": 1,
"type": "string"
},
"partName": {
"description": "Optional part number / MPN to disambiguate a multi-part datasheet.",
"type": [
"string",
"null"
]
}
},
"required": [
"documentPath"
],
"type": "object"
},
"name": "datasheetvend_extract_register_map"
},
{
"description": "Extract thermal characteristics: junction-to-ambient (θJA) and junction-to-case (θJC) thermal resistance, power dissipation limits, and operating/junction/storage temperature ranges — with the datasheet page where one was recorded. Runs DatasheetVend Fast Extraction: a page scout routes targeted model reads and the module's own deterministic readers, then the same normalization and completion checks as a dashboard job finish the result, usually in seconds; `engine` names the engine on every result. If Fast Extraction cannot complete the module, the slower deep engine re-runs that module alone (engine.runtime is then `monolith_rescue`; the result says so, and it is billed as delivered). A rescue can take several minutes, so set a client timeout of 10 minutes. Only if the deep engine also cannot deliver does the module return status FAILED with the reason.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"documentPath": {
"description": "https:// URL to the datasheet PDF. The remote /api/mcp endpoint accepts ONLY https:// URLs (it downloads them); a local filesystem path works solely in local stdio mode (npm run mcp:serve).",
"minLength": 1,
"type": "string"
},
"partName": {
"description": "Optional part number / MPN to disambiguate a multi-part datasheet.",
"type": [
"string",
"null"
]
}
},
"required": [
"documentPath"
],
"type": "object"
},
"name": "datasheetvend_extract_thermal_limits"
},
{
"description": "Extract AC timing: setup/hold (tSU, tH), propagation delays, maximum clock frequencies (fMAX), rise/fall times, and bus timing. Runs DatasheetVend Fast Extraction: a page scout routes targeted model reads and the module's own deterministic readers, then the same normalization and completion checks as a dashboard job finish the result, usually in seconds; `engine` names the engine on every result. If Fast Extraction cannot complete the module, the slower deep engine re-runs that module alone (engine.runtime is then `monolith_rescue`; the result says so, and it is billed as delivered). A rescue can take several minutes, so set a client timeout of 10 minutes. Only if the deep engine also cannot deliver does the module return status FAILED with the reason.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"documentPath": {
"description": "https:// URL to the datasheet PDF. The remote /api/mcp endpoint accepts ONLY https:// URLs (it downloads them); a local filesystem path works solely in local stdio mode (npm run mcp:serve).",
"minLength": 1,
"type": "string"
},
"partName": {
"description": "Optional part number / MPN to disambiguate a multi-part datasheet.",
"type": [
"string",
"null"
]
}
},
"required": [
"documentPath"
],
"type": "object"
},
"name": "datasheetvend_extract_timing_characteristics"
},
{
"description": "Read the Unified Component Model (UCM) digital twin of one datasheet already extracted with DatasheetVend. Every fact comes with a check ('passed', 'needs_review', 'disagrees', 'failed_sanity_check') and, where the extraction recorded one, its datasheet page, filed where it belongs: pins, whole_part (temperatures, absolute limits, package, ordering code), interfaces_rails (I2C/SPI/clock/ADC requirements and supply-rail values), registers (the register map) and checks. Call it first with no options for the summary, then ask for `sections`, one `pin` (by number, name or alternate function) or a `search` term so the answer stays small. Treat facts that did not pass as unverified and cite their page. Reads stored results only: never extracts, never bills. Needs a DatasheetVend API key; find datasheet names with datasheetvend_list_component_twins. To twin a datasheet the account has not extracted, use datasheetvend_build_component_twin.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"datasheet": {
"description": "The datasheet name exactly as datasheetvend_list_component_twins returns it. A unique part of the name also works.",
"maxLength": 260,
"minLength": 1,
"type": "string"
},
"max_facts": {
"description": "Cap on facts returned across the pin and sections (default 200). `truncated` says when it was reached.",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"only_passed": {
"description": "Only facts that passed every check. Default false: every fact comes with its check.",
"type": "boolean"
},
"pin": {
"description": "One pin by number, name or alternate function (for example '27', 'PC4' or 'SDA'): every fact that reaches it — its own and those of its rails and interfaces.",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"search": {
"description": "Only facts whose parameter, symbol, statement or node contains this text, case-insensitive (for example 'storage temperature' or 'TWCR'). With no sections given, searches pins, whole_part, interfaces_rails and registers.",
"maxLength": 80,
"minLength": 1,
"type": "string"
},
"sections": {
"description": "Parts of the twin to include besides the summary: pins (each pin's own facts), whole_part, interfaces_rails, registers, checks (disagreements, failed sanity checks, facts to review, facts that name no pin). Omit for the summary only.",
"items": {
"enum": [
"pins",
"whole_part",
"interfaces_rails",
"registers",
"checks"
],
"type": "string"
},
"maxItems": 5,
"type": "array"
}
},
"required": [
"datasheet"
],
"type": "object"
},
"name": "datasheetvend_get_component_twin"
},
{
"description": "Tier-2 detail for ONE page of an already-mapped datasheet: the full measured anatomy (text metrics, MuPDF geometry census, structural geometry signals), the page's own headings and first lines, and which modules claim the page. Use it AFTER datasheetvend_extract_document_map, when the Tier-1 index says a page matters and its one-line summary is not enough. Pass the document.sha256 from the map (served free from cache). Set include_physical=true ONLY when you truly need the raw positioned tokens/vector paths — that payload can weigh hundreds of KB for one dense page. Read-only; never rebuilds, never bills.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"documentRef": {
"description": "The document.sha256 from a prior datasheetvend_extract_document_map result (preferred), or the same document path/URL.",
"minLength": 1,
"type": "string"
},
"include_physical": {
"description": "Include the raw MuPDF physical reconstruction (positioned tokens, vector paths). Heavy — default false.",
"type": "boolean"
},
"page": {
"description": "Physical 1-based PDF page number to inspect.",
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
}
},
"required": [
"documentRef",
"page"
],
"type": "object"
},
"name": "datasheetvend_inspect_document_page"
},
{
"description": "List the datasheets in your DatasheetVend account that have a Unified Component Model (UCM) digital twin: the facts DatasheetVend already extracted from each datasheet — pins, supply rails, interfaces, registers and whole-part limits — combined across the extraction runs stored for it. Returns each datasheet's exact name, the modules its twin draws on, how many runs it has and when it was last run. Reads stored results only: never extracts, never bills. Needs a DatasheetVend API key. Pass a returned name to datasheetvend_get_component_twin. To twin a datasheet the account has not extracted, use datasheetvend_build_component_twin.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"description": "How many datasheets to return, newest run first. Default 20.",
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"search": {
"description": "Part of the datasheet's file name to filter by, case-insensitive (for example 'ATmega328P').",
"maxLength": 120,
"minLength": 1,
"type": "string"
}
},
"type": "object"
},
"name": "datasheetvend_list_component_twins"
},
{
"description": "List all available hardware extraction modules supported by DatasheetVend (KiCad footprints/symbols, Universal Pinout, Thermal Limits, Absolute Maximum Ratings, Timing Characteristics, Logic Levels, Register Maps, Decoupling Passive BOM, Part Number Decoders, etc.).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "datasheetvend_list_hardware_modules"
},
{
"description": "Return the versioned usage instructions for Document Map consumers: the binding rule (SHA-256 + physical pages), field semantics, the dominant_form action table, and the measured routing discipline. Call once per session before working with maps from datasheetvend_extract_document_map; do not call repeatedly — the text is static per contract version.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "datasheetvend_read_document_map_instructions"
}
]
}What the leaf hashes
{"body":"712f4c95409a5996ef138063cd9f4530be708d3c3c31316771de9a3570ac29ed","id":779631,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793201610427008,"prev":732522,"subject":"49066952-7197-486b-a374-748077699a6c","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (231336 rows).
- 0x9d903e76aef7b80fdb07e6ee24e2ca45409d4ebb8b59638176c11f36c1e78b59
- 0x190eb38e1f032db96bcf0498ad8e78bcf3f1216d52c05b06cacecffe03e3b5ee
- 0x5ef0f64ea73a478dc4db7ec18f1a95f884ddaa58764e23cab139f8962f9c97aa
- 0x33c9421bdd0a50b6e0e0823c2333ea60184cd0f1d33db7eaf9a90ee52070df5d
- 0x96e53ce1853a52d0d4e90cca480f5fc7b708a0ea62cb64c21cc1499069bb85d7
- 0xc31fe8f25444e2c86a1797a61fe62c3b345647fa437b9df961ebb37e29f9b23f
- 0x666c7862a84cb9c5a4da858bb4c968ad1b772321d6ed77a1f8a92a22b4ffdaee
- 0xd1c41bbb31bc59de33e0688127fd1ea54bbd4d9ef0d1093e9e74328205b77139
- 0x0dcdcb085bf2aa15df2f9b37e2a104162daea39f6946fc35b7f9ea46ef01262e
- 0x945a690caf7a3c2dabc85e9e747d713c371fca9b6a438afe8c63c8ee222d35bf
- 0xe85cc0b7bcf65b811f3a7d178d5aa42f3c308327b074bc614e37ae914c94d551
- 0xb682046570ccabf017a1bb0ff5726903b5056c5f449d7236720bb21935081fbb
- 0x068bcde0287d4d3b4a6224e2d75094cc4817509ab476c25a343303034a0ce40e
- 0xc4674b97eec0bfb92cf9c2ffb4427d455d9f902b5fe3ea0be83ee462202d7416
- 0xcf313ac43fef601c9e46f82a687b6a3c655f47c31675c1791c49de20295be63d
- 0x0f8977bd16865247451d1ee836b084081d3d0cd17d6a07353fad0c70393c7403
- 0xe08e8bd91858a8a10c46ecde9c29a6288b960987303173c5e882afb46ce91fa0
- 0xe6cfe00ae4e02bc12327e45b5f3334ea5850ba3bcc8e3101d30a8189856a95af
- Day root
- 0x2c19037464cc4c493624565f01775d6446fc78eaa118fc6865bfe2bfca9ff78e
- Chained
- 0xd1d7dee8322ceff8f4c8d83aa1fe4a4466825c2af1c97dbde3d35db61234f7be
- Published
- On Arc Testnet, block 69584042: 0x8bae2b1d097834c8b458513862d70d29ee807e98dc2e863b27250131c15b35ae