
SheetsData
Gives Claude structured access to electronic component datasheets without touching PDFs. You can search parts, pull pinouts and electrical specs on demand, validate design parameters against abs max ratings, compare alternatives, and even upload private datasheets for extraction. The compare_parts and check_design_fit tools are especially useful during component selection when you need to verify operating conditions or find drop-in replacements. Ships with prompts for common workflows like BOM review and thermal analysis. Supports OAuth and API key auth, works over stdio or HTTP. Built for hardware engineers who want agents to reason about real component data instead of hallucinating specs or choking on 200-page PDFs.
- GitHub stars
- 12
- tools
- 14
- auth
- Secret needed
- transport
- STDIO, HTTP
- env var
- 1
- last updated
- Oct 16, 2026
Install
From registry metadata$ npx add-mcp https://mcp.sheetsdata.com/mcp --name sheetsdata-mcpRun in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.
Review the command, arguments and environment values before installing. MCP servers run with your local permissions.
Other ways
Claude Code
$ claude mcp add --transport http sheetsdata-mcp https://mcp.sheetsdata.com/mcpRun in your terminal. Add --scope user to make it available in every project.
Tools
Verified live · 14 toolsVerified live against the running server on Nov 6, 2026.
find_partsFree. Find candidates by function and numeric specs with units, package or stock. Example: query='buck converter', constraints=[{parameter:'vin_max',op:'>=',value:'24 V'}, {parameter:'iout',op:'>=',value:'2 A'}]. Also accepts vds, rds_on, canonical parameter names and text con...6 params
Free. Find candidates by function and numeric specs with units, package or stock. Example: query='buck converter', constraints=[{parameter:'vin_max',op:'>=',value:'24 V'}, {parameter:'iout',op:'>=',value:'2 A'}]. Also accepts vds, rds_on, canonical parameter names and text con...
constraintsarrayin_stockbooleanlimitintegerpackagestringquery*stringverbosebooleancheck_bomCosts 2¢ per call. Check up to 50 BOM lines for lifecycle, stock against quantity, observed single-distributor sourcing, datasheet status and stale/missing prices. Accepts MPNs or LCSC numbers; duplicate MPN quantities are aggregated. Uses exact identities, catalogue snapshots...2 params
Costs 2¢ per call. Check up to 50 BOM lines for lifecycle, stock against quantity, observed single-distributor sourcing, datasheet status and stale/missing prices. Accepts MPNs or LCSC numbers; duplicate MPN quantities are aggregated. Uses exact identities, catalogue snapshots...
lines*arrayverbosebooleansearch_partsFree. Start here. Searches components by part number or keyword (e.g. 'STM32F103', 'buck converter 3A') across JLCPCB, Mouser and DigiKey in parallel. Results are merged by MPN with indicative price and stock per source and a datasheet_status. For an MPN query, eval boards and...3 params
Free. Start here. Searches components by part number or keyword (e.g. 'STM32F103', 'buck converter 3A') across JLCPCB, Mouser and DigiKey in parallel. Results are merged by MPN with indicative price and stock per source and a datasheet_status. For an MPN query, eval boards and...
limitintegerprovidersstringall · jlcpcb · mouser · digikeydefault: allquery*stringsearch_datasheetsCosts 2¢ per call. Semantic search across every datasheet already extracted (not every part that exists), for spec-based discovery such as 'low-noise LDO with PSRR above 70dB'. Returns matching chunks with part_number and a 0-100 relevance_score. To find a specific part by num...3 params
Costs 2¢ per call. Semantic search across every datasheet already extracted (not every part that exists), for spec-based discovery such as 'low-noise LDO with PSRR above 70dB'. Returns matching chunks with part_number and a 0-100 relevance_score. To find a specific part by num...
limitintegerquery*stringsection_typestringall · electrical_characteristics · features · description · pin_configuration · absolute_maximum_ratingsdefault: allprefetch_datasheetsFree. Starts background extraction for up to 20 parts at once, e.g. a BOM, so they are ready before you read them. Returns immediately with each part's status. A new datasheet takes about 2.5 minutes at the median and 6.5 minutes at the 90th percentile; a cold GPU start can ta...1 params
Free. Starts background extraction for up to 20 parts at once, e.g. a BOM, so they are ready before you read them. Returns immediately with each part's status. A new datasheet takes about 2.5 minutes at the median and 6.5 minutes at the 90th percentile; a cold GPU start can ta...
part_numbers*arraycheck_extraction_statusFree. Extraction status of 1-20 parts. A part being read reports current_step, elapsed_seconds, estimated_remaining_seconds with a range, and poll_after_seconds; a failed one reports its error; a part that isn't ready may list related_ready part numbers whose datasheet is read...1 params
Free. Extraction status of 1-20 parts. A part being read reports current_step, elapsed_seconds, estimated_remaining_seconds with a range, and poll_after_seconds; a failed one reports its error; a part that isn't ready may list related_ready part numbers whose datasheet is read...
part_numbers*arrayget_part_detailsFree. Full details for one part: provider specs, price, stock and lifecycle, the per-MPN structured values (specialized_specs), the cached datasheet summary, and datasheet_status with available_sections when ready. Known lifecycle risks carry lifecycle_warning. Discovered in-d...5 params
Free. Full details for one part: provider specs, price, stock and lifecycle, the per-MPN structured values (specialized_specs), the cached datasheet summary, and datasheet_status with available_sections when ready. Known lifecycle risks carry lifecycle_warning. Discovered in-d...
compactbooleanpart_number*stringprefetch_datasheetbooleanproviderstringall · jlcpcb · mouser · digikeydefault: allverbosebooleanread_datasheetCosts 2¢ per call. Reads a part's datasheet. Section mode (default): start with section='summary' for an overview and available_sections, then ask for any section by name; names come from the datasheet's own headings (e.g. 'register_map', 'i2c_interface'); an unknown name retu...8 params
Costs 2¢ per call. Reads a part's datasheet. Section mode (default): start with section='summary' for an overview and available_sections, then ask for any section by name; names come from the datasheet's own headings (e.g. 'register_map', 'i2c_interface'); an unknown name retu...
formatstringmarkdown · jsondefault: markdownlimitintegermax_charsintegermodestringsection · searchdefault: sectionoffsetintegerpart_number*stringquerystringsectionstringcompare_partsCosts 2¢ per call. Compares 2-5 parts you already know side by side in one call (find candidates with search_parts or find_alternative first). Returns each part's details (per-provider specs, price breaks and links, the cached datasheet summary), a comparison table of paramete...3 params
Costs 2¢ per call. Compares 2-5 parts you already know side by side in one call (find candidates with search_parts or find_alternative first). Returns each part's details (per-provider specs, price breaks and links, the cached datasheet summary), a comparison table of paramete...
compactbooleaninclude_summariesbooleanpart_numbers*arraycheck_design_fitCosts 5¢ per call. Checks your operating conditions against the part's absolute maximum ratings and recommended operating conditions; returns PASS / WARNING / FAIL / INSUFFICIENT_DATA per condition and overall. Conditions by part type: converters and LDOs take input_voltage, o...10 params
Costs 5¢ per call. Checks your operating conditions against the part's absolute maximum ratings and recommended operating conditions; returns PASS / WARNING / FAIL / INSUFFICIENT_DATA per condition and overall. Conditions by part type: converters and LDOs take input_voltage, o...
ambient_tempnumberderating_pctnumberefficiencynumberinput_voltagenumberoutput_currentnumberoutput_voltagenumberpart_number*stringpower_dissipationnumbersupply_voltagenumberswitching_frequencynumberanalyze_imageCosts 5¢ per call. Reads a datasheet image with vision AI: a graph, package drawing, pin diagram or schematic that read_datasheet returned. Pass the image_key from that response (the storage path in the image URL), optionally with a question. For exact electrical values prefer...3 params
Costs 5¢ per call. Reads a datasheet image with vision AI: a graph, package drawing, pin diagram or schematic that read_datasheet returned. Pass the image_key from that response (the storage path in the image URL), optionally with a question. For exact electrical values prefer...
image_key*stringpart_number*stringquestionstringfind_alternativeCosts 2¢ per call. Finds alternative and second-source parts for an MPN that is out of stock, end of life or too expensive, ranked by match_score with match_notes. Candidates come from provider search and from parts with the same function in our own datasheet index; they must...5 params
Costs 2¢ per call. Finds alternative and second-source parts for an MPN that is out of stock, end of life or too expensive, ranked by match_score with match_notes. Candidates come from provider search and from parts with the same function in our own datasheet index; they must...
compactbooleanconstraintsarrayinclude_original_summarybooleanlimitintegerpart_number*stringrequest_datasheet_uploadFree. The upload fee is charged by confirm_datasheet_upload, after the file is checked. Gives a signed URL to upload a datasheet PDF we don't have: use it when datasheet_status is 'no_source' (once the search has finished: not while it is 'resolving') or 'unsupported'. Three s...4 params
Free. The upload fee is charged by confirm_datasheet_upload, after the file is checked. Gives a signed URL to upload a datasheet PDF we don't have: use it when datasheet_status is 'no_source' (once the search has finished: not while it is 'resolving') or 'unsupported'. Three s...
expected_sha256*stringmanufacturerstringpart_number*stringsize_bytes*integerconfirm_datasheet_uploadCosts 10¢ per call. That is the upload fee, charged only when the file passes its checks. Confirms an upload started with request_datasheet_upload: pass its upload_token. The server re-hashes the uploaded bytes, checks it is a PDF with the MPN on the first page, adds it to you...1 params
Costs 10¢ per call. That is the upload fee, charged only when the file passes its checks. Confirms an upload started with request_datasheet_upload: pass its upload_token. The server re-hashes the uploaded bytes, checks it is a PDF with the MPN on the first page, adds it to you...
upload_token*stringSponsors
Configuration
SHEETSDATA_API_KEYsecretOptional. Leave unset to sign in with OAuth in your browser, or set an API key from https://sheetsdata.com/dashboard/keys
Readme
SheetsData MCP
Electronic component datasheets for AI agents — pinouts, specs, package info and design checks from manufacturer PDFs.
SheetsData is a hosted MCP server. Your agent finds parts across JLCPCB, Mouser and DigiKey, reads any section of a part's datasheet as text and tables, compares parts, checks a BOM, and checks your operating conditions against the datasheet's ratings. The agent never sees a PDF, and you don't have to find or paste one.
Server URL: https://mcp.sheetsdata.com/mcp (Streamable HTTP)
Sign-in: MCP OAuth (browser), or an API key as "Authorization: Bearer <key>"
Details
- Repository
- github.com/octoco-ltd/sheetsdata-mcp
- Website
- sheetsdata.com
- Category
- Design & Creative
- Package
@sheetsdata/mcp- Transport
- STDIO, HTTP
- Auth
- Required
- Registry
- MCP registry, active
- Resources
- 3
- Prompts
- 8
- Tools verified
- Nov 6, 2026