keyword_search(keywords, limit=5, manufacturer_id=None, category_id=None, search_options=None, sort_field=None, sort_order="Ascending")LABSCO SUMMARY
Part selection without a browser full of tabs.
The filters are where the time goes. "In stock, RoHS compliant, has a datasheet, sorted by price at quantity 100" is one call here — and when the part turns out to be gone, the substitutions tool answers the next question straight away.
What it is
An MCP server over DigiKey's Product Search API, built with FastMCP. It covers the search side — keyword, manufacturer, category — and the part side: details, media, pricing and substitutions.
What you get
- Keyword search with sorting, filtering and a result limit you set
- Filters for InStock, RoHSCompliant, LeadFree, HasDatasheet, HasProductPhoto and NewProduct
- Sorting by price, quantity available, minimum quantity, product status and manufacturer part number
- Full detail on a part by part number
- Substitute parts for a part number, with marketplace listings excludable
- Images, documents and videos for a part, plus standard and DigiReel pricing at a requested quantity
Requirements
Python 3.10 or newer, the uv package manager, and DigiKey API credentials — a client id and a client secret — in a .env file. A switch in the same file runs it against DigiKey's sandbox instead of production.
Setup effort
Build from source — get the source, then follow the project's own run instructions
USE CASES
Finding a part that is actually in stock
Search by keyword with the InStock filter and sort by quantity available.
Replacing a part that went end-of-life
Look up substitutes for the part number you can no longer get.
Costing a build at volume
Get pricing for the part at the quantity you plan to order, DigiReel included.
Checking a candidate part properly
Pull its full details, then its datasheet and photos.
Narrowing a search that returns too much
List categories and manufacturers, then filter the keyword search by them.
Sourcing only compliant parts
Apply the RoHSCompliant and LeadFree filters to the search.
9 tools
Listed in project docs. Your client may show a different list.
search_manufacturers()search_categories()search_product_substitutions(product_number, limit=10, search_options=None, exclude_marketplace=False)product_details(product_number, manufacturer_id=None, customer_id="0")get_category_by_id(category_id)get_product_media(product_number)get_product_pricing(product_number, customer_id="0", requested_quantity=1)get_digi_reel_pricing(product_number, requested_quantity, customer_id="0")BEFORE YOU INSTALL
What to know first
Tools you get
9 tools named in the project's documentation.
Requires
- uv on PATH
- Python 3.10+
- CLIENT_ID in your environment
- CLIENT_SECRET in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
uv run python digikey_mcp_server.pyMCP Clients
Claude Desktop
{
"mcpServers": {
"digikey": {
"command": "uv",
"args": [
"run",
"python",
"digikey_mcp_server.py"
],
"cwd": "<YOUR_PATH_TO_PROJECT>"
}
}
}The configuration on this page does not set CLIENT_ID and CLIENT_SECRET; the project's instructions put them in a .env file. Check which folder the server reads that file from before you rely on it.