octoco-ltd avatar

SheetsData

octoco-ltd/sheetsdata-mcp

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-mcp

Run 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/mcp

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 14 tools

Verified 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...

Parameters* required
constraintsarray
in_stockboolean
Require positive stock observed within 24h; refresh at most six candidates.default: false
limitinteger
default: 5
packagestring
query*string
Function, e.g. buck converter, N-channel MOSFET, 6-axis IMU
verboseboolean
default: false
check_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...

Parameters* required
lines*array
verboseboolean
default: false
search_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...

Parameters* required
limitinteger
Max results per provider (default 20). With providers='all' the total can be up to 3× this.default: 20
providersstring
Which providers to query (default 'all').one of all · jlcpcb · mouser · digikeydefault: all
query*string
Search query (part number or keyword)
search_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...

Parameters* required
limitinteger
Max results (default 3)default: 3
query*string
Natural language search query
section_typestring
Optional: limit search to a specific section typeone of all · electrical_characteristics · features · description · pin_configuration · absolute_maximum_ratingsdefault: all
prefetch_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...

Parameters* required
part_numbers*array
1-20 parts. Specific manufacturer part number (MPN) or LCSC number (e.g. 'TPS54302DDCR', 'C2837938'). Not a value ('100nF'), description or reference designator ('R1').
check_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...

Parameters* required
part_numbers*array
1-20 parts. Specific manufacturer part number (MPN) or LCSC number (e.g. 'TPS54302DDCR', 'C2837938'). Not a value ('100nF'), description or reference designator ('R1').
get_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...

Parameters* required
compactboolean
Return the shorter answer: prose written for another part comes back as family_summary instead of a labelled datasheet_summary. Default false: the full answer.default: false
part_number*string
Specific manufacturer part number (MPN) or LCSC number (e.g. 'TPS54302DDCR', 'C2837938'). Not a value ('100nF'), description or reference designator ('R1').
prefetch_datasheetboolean
Start background datasheet extraction (no extra charge).default: false
providerstring
Which provider's sources to show (default 'all').one of all · jlcpcb · mouser · digikeydefault: all
verboseboolean
Return every available_sections entry. By default the first 50 are returned, plus a '_truncated' entry saying how many more exist.default: false
read_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...

Parameters* required
formatstring
For a named section, json returns tables as columns and rows plus remaining text, preserving source cells (useful for register_map). Paging and page citations still apply.one of markdown · jsondefault: markdown
limitinteger
Max search results in search mode (default 3). Each result includes adjacent context chunks.default: 3
max_charsinteger
Text budget; a whole sentence or table row may exceed it.
modestring
'section' (default) returns a named section, 'search' does semantic searchone of section · searchdefault: section
offsetinteger
Continue a section using next_offset from the previous read.default: 0
part_number*string
Specific manufacturer part number (MPN) or LCSC number (e.g. 'TPS54302DDCR', 'C2837938'). Not a value ('100nF'), description or reference designator ('R1').
querystring
Search query; required when mode='search', ignored otherwise. Example: 'charge voltage register', 'I2C address'.
sectionstring
Section name for section mode. Start with 'summary' to discover available sections. Common: summary, pinout, electrical, abs_max, register_map, timing, package. Any heading in the datasheet works (...default: summary
compare_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...

Parameters* required
compactboolean
Return the shorter answer: per-part flags and the comparison table, without per-provider detail or summaries. Default false: the full answer.default: false
include_summariesboolean
With compact=true, also return each part's cached datasheet summary (about 2-4k characters each). The full answer always has them.default: false
part_numbers*array
2-5 parts. Specific manufacturer part number (MPN) or LCSC number (e.g. 'TPS54302DDCR', 'C2837938'). Not a value ('100nF'), description or reference designator ('R1').
check_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...

Parameters* required
ambient_tempnumber
Ambient temperature TA (°C).
derating_pctnumber
Percent below a rating a PASS must stay, for input_voltage, supply_voltage and output_current. Default 20 (run at no more than 80% of the rating). 0 turns optional derating off; no current headroom...
efficiencynumber
Converter efficiency at this operating point, as a fraction (0.92) or a percentage (92). Lets the tool estimate a switching converter's junction temperature.
input_voltagenumber
Input voltage / VIN (V). For converters.
output_currentnumber
Output current / IOUT (A). For MOSFETs, this is drain current ID.
output_voltagenumber
Output voltage / VOUT (V). For converters/LDOs.
part_number*string
Specific manufacturer part number (MPN) or LCSC number (e.g. 'TPS54302DDCR', 'C2837938'). Not a value ('100nF'), description or reference designator ('R1').
power_dissipationnumber
The part's own power dissipation (W), if you have worked it out (e.g. ID² × RDS(on) for a MOSFET). Used for the junction-temperature estimate.
supply_voltagenumber
Supply voltage / VCC / VDD (V). For MOSFETs, VDS; compared against VDS(max) only.
switching_frequencynumber
Switching frequency FSW (kHz). For converters.
analyze_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...

Parameters* required
image_key*string
Image storage path from read_datasheet output (e.g. 'images/abc123.png')
part_number*string
MPN of the component
questionstring
Optional question about the image (e.g. 'What are the package dimensions?')
find_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...

Parameters* required
compactboolean
Return the shorter answer: one short row per candidate (identity, lifecycle, stock, cheapest price, providers, match notes) and no reference-part summary. Default false: the full answer.default: false
constraintsarray
Optional filters. 'in_stock' = known non-zero stock at some provider. 'same_package' = same footprint (fuzzy). 'jlcpcb' = orderable at JLCPCB (also limits the provider search to JLCPCB).
include_original_summaryboolean
With compact=true, also return the reference part's cached datasheet summary (about 2-3k characters). The full answer always has it.default: false
limitinteger
Max alternatives to return (default 5, max 20).default: 5
part_number*string
Specific manufacturer part number (MPN) or LCSC number (e.g. 'TPS54302DDCR', 'C2837938'). Not a value ('100nF'), description or reference designator ('R1').
request_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...

Parameters* required
expected_sha256*string
Lowercase hex SHA-256 of the PDF bytes (64 chars), e.g. from `shasum -a 256 file.pdf`.
manufacturerstring
Optional manufacturer name (e.g. 'Texas Instruments') when the MPN alone is ambiguous.
part_number*string
MPN the PDF belongs to. Not a value or description.
size_bytes*integer
Size of the PDF in bytes (1,024 to 50,000,000).
confirm_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...

Parameters* required
upload_token*string
Opaque token returned by request_datasheet_upload.

Sponsors

Configuration

SHEETSDATA_API_KEYsecret

Optional. Leave unset to sign in with OAuth in your browser, or set an API key from https://sheetsdata.com/dashboard/keys

Readme

SheetsData MCP

npm MCP Badge sheetsdata-mcp MCP server

sheetsdata-mcp MCP server

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>"

View the full README on GitHub

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

Related Design & Creative MCP servers

View all
1meltflexdevs avatarMeltFlex AImeltflexdevs/skillsAI interior design — restyle rooms, place furniture, and virtually stage spaces from a photo.0stars
2rhinocap avatarRavenrhinocap/raven-mcpDesign intelligence for coding agents: audits, design systems, and a taste profile agents consult.8stars
3sarg338 avatarSteam (read-only)sarg338/steam-mcpRead-only Steam: friends, games, achievements, sales, plus game recommendations and co-op nights.8stars
4aryanbv avatarPdf Toolkit Mcparyanbv/pdf-toolkit-mcpWrite-capable PDF toolkit MCP: 22 tools to read, create, render, encrypt, merge & fill PDFs.7stars
5pangolinfo avatarAmazon Mcppangolinfo/pangolinfo-mcpAmazon data MCP: products, reviews, niches, WIPO design/IP + US litigation, AI search & trends.6stars
6copperline-labs avatarRendex: Rendering API for Images, PDFs & Content Extractioncopperline-labs/rendex-mcpRender HTML, Markdown, or URLs to images, PDF, or branded artifacts; extract and watch pages.6stars