---
name: partsplan-datasheets
description: Read electronic-component datasheets through the PartsPlan MCP server — find the manufacturer's document for a part number, go straight to the page that holds the answer, and read the printed source (text, table images, graph values). Use for ratings, pinouts, package drawings, graphs, register maps, comparison rubrics and BOM checks.
---

# PartsPlan datasheet MCP

PartsPlan holds archived electronic-component datasheets and shows your AI where each section, table and figure sits in a document. It returns locations and the printed source; the AI reads the page and does the engineering judgement.

## Connect
- Server: `https://worker.partsplanai.com/mcp` (Streamable HTTP)
- Header: `Authorization: Bearer <key>` — create a free key at https://partsplanai.com (sign in → My MCP keys)
- Client setup examples (Claude Code, Claude Desktop, Cursor, Windsurf, VS Code): https://partsplanai.com/en/developers

## The basic path (one part, one question)
1. `find_datasheet(mpn, brand)` — the document of the manufacturer you asked for comes first (`requested_maker_document`); other manufacturers' documents for the same part number are listed separately and describe other parts.
2. `get_datasheet_map(doc_sha256, kind=...)` — jump to the section: `abs_max`, `elec_char`, `rec_op`, `thermal`, `pinmap`, `package`, `land_pattern`, `figure`, `app_circuit`, `ordering` …
3. Read the page:
   - text: `get_page_blocks(doc_sha256, page)`
   - **tables: the page image is the reference** — every table block comes with a `table_image_requests` entry for `get_page_image`; merged cells in extracted text can shift values
   - graphs: `get_figure_data` (numbers only when they can be read with certainty) or `get_page_image` with the figure region
4. Cite `doc_sha256` + page for every number you use.

`search_datasheet(doc_sha256, q=[...], mode="context")` finds terms, conditions and footnotes inside one document when the map is not enough.

## Other paths
- **Comparing candidates:** `compare_points(source, candidates, device)` returns an adjustable default rubric — hard lines, weighted items summing to 100 and checks — with the datasheet pages to read for each item and part. The candidates are the ones the user or conversation chose (up to three); `scenario`, `purpose`, `exclude_groups`, `exclude_items`, `relax_items` and `weights` adjust the rubric and `applied` records each change. It gives no scores, rankings or compatibility verdicts, and a located page does not establish which variant or package a table applies to — open the pages (`get_page_image`) and compare the originals.
- **Browse by device type or manufacturer:** `search_parts(category, brand)` with `category` = `mosfet` | `sensor_hall` | `sensor_temperature` lists parts whose manufacturer-identified datasheet prints that device type as its main device on page 1 (`evidence.quote` + `doc_sha256` + page 1) and whose part number or series appears in that document (`evidence.mpn_check`). `view="manufacturers"` lists makers with their confirmed counts, `view="categories"` the counts per type; continue with `cursor` = `next_cursor`. A browse call takes no `q`, `query_mode` or `page` (that returns `invalid_query` with a `browse_retry_request`). Only the device type is confirmed — not ratings, package or suitability — and a part missing from the list is unconfirmed, not a different device. `manufacturer_status` tells whether the company printed in the document is the identified maker (`printed_same`), a predecessor or acquired company (`printed_predecessor`), or could not be confirmed (`printed_unconfirmed`).
- **Is it really that type?** Plain `search_parts(q)` results labeled MOSFET or temperature sensor carry `catalog_label_check` against the device name printed on page 1.
- **BOM:** `check_bom` reports per line whether we hold that manufacturer's datasheet (read only); `request_datasheet_collection` queues the missing lines when the user wants them collected.
- **Pinout of an ordered package:** `find_datasheet(mpn, brand)` gives `key_pages` (pinmap, package, land_pattern) and `package_drawings`; read the pin table with `get_page_blocks` and the drawings with `get_page_image`, and match the package named in each caption to the ordering code.
- **Something wrong in an answer:** `report_problem` with the document, page and block.

## What the answers mean
- A value always comes with the document and page it was read from. Values without evidence are not returned.
- Absence (`no_document`, `no_candidates`) covers our archive only. A web search or the manufacturer site can still answer — say which parts of an answer came from outside PartsPlan.
- `text_source=ocr` text is a reading of an image; confirm numbers on the page image.

## Limits
- Free: 300 calls a month, up to 100 a day (60 a minute). The Personal plan raises the daily limit: https://partsplanai.com/en/pricing
- When the account's monthly, daily or hourly limit is reached, the tool returns an error result saying which limit was reached and when calls are available again — pass that on to the user. Per-minute and concurrency limits answer HTTP 429 with a `Retry-After` header: wait that long, then continue. Read the map first, then only the pages you need.

## Example questions
- "Does a TPS563200 12 V→5 V buck still deliver 2 A at 85 °C ambient?" → the current-vs-ambient curve on page 11.
- "Can an ESP32 drive a 5 V 74HC04 directly?" → DC characteristics tables of both datasheets.
- "How long may a CSD18540Q5B hot-swap fault timer run on a 30 A short?" → the SOA curve on page 6.
- "I picked RT9080-33GJ5 and XC6220B331MR-G as candidates for AP2112K-3.3TRG1 — what should I compare for a 3.3 V battery circuit?" → `compare_points`, then open the listed pages.
- "Which manufacturers in the archive make Hall-effect sensors?" → `search_parts(view="manufacturers", category="sensor_hall")`, following `next_cursor`.
