DigiKey MCP Server
Enables searching and retrieving product information from DigiKey's API, including part lookup, keyword search, product details, and pricing.
README
DigiKey MCP Server
A Model Context Protocol (MCP) server for DigiKey's Product Search API using FastMCP.
Requirements
- Python 3.10+
- uv package manager
- DigiKey API credentials (CLIENT_ID and CLIENT_SECRET)
Setup & Credentials
1. Obtain DigiKey API credentials
To use this server, you need a Client ID and Client Secret from the DigiKey API Developer Portal.
- Go to the DigiKey API Developer Portal and sign in with your My DigiKey account. If you don't have one, create a free account first.
- Navigate to Apps in the top menu.
- Choose one of the following:
- For testing: Click Create Sandbox App. This gives you access to the sandbox API with mock data at no cost.
- For production: Set up an Organization first (under your account settings), then create a Production App within that organization.
- Fill out the required application details (app name, description, and select the Product Information API).
- Once created, click on your app name to view its properties.
- Copy the Client ID and Client Secret shown on the app properties page.
2. Install dependencies
uv sync
3. Configure environment variables
Create a .env file in the project root:
CLIENT_ID=your_client_id_here
CLIENT_SECRET=your_client_secret_here
USE_SANDBOX=true
| Variable | Description |
|---|---|
CLIENT_ID |
Your DigiKey app Client ID |
CLIENT_SECRET |
Your DigiKey app Client Secret |
USE_SANDBOX |
Set to true for the sandbox API (recommended for testing), or false for production |
Note: The
.envfile is listed in.gitignoreand will not be committed to version control. Never share your Client Secret publicly.
4. Add the MCP server to Claude Desktop
Open your Claude Desktop config file in a text editor:
| Platform | Config file location |
|---|---|
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
Add the "digikey" entry to the "mcpServers" object. Replace the paths below with the full path to your local copy of this repository and your uv executable.
Finding your
uvpath: Runwhere uv(Windows) orwhich uv(macOS/Linux) in a terminal to get the full path.
Windows example:
{
"mcpServers": {
"digikey": {
"command": "C:\\Users\\YourName\\AppData\\Local\\Programs\\Python\\Python312\\Scripts\\uv.exe",
"args": ["run", "--project", "C:\\Users\\YourName\\projects\\digikey-mcp", "python", "C:\\Users\\YourName\\projects\\digikey-mcp\\digikey_mcp_server.py"]
}
}
}
macOS / Linux example:
{
"mcpServers": {
"digikey": {
"command": "/usr/local/bin/uv",
"args": ["run", "--project", "/Users/yourname/projects/digikey-mcp", "python", "/Users/yourname/projects/digikey-mcp/digikey_mcp_server.py"]
}
}
}
Note: Full paths are used for both the
uvcommand and the script because Claude Desktop does not reliably resolvecwdorPATHon all platforms. If you already have other MCP servers in your config, merge the"digikey"entry into your existing"mcpServers"object — do not replace the entire file.
5. Restart Claude Desktop
Close and reopen Claude Desktop. The DigiKey tools will now appear in your available tools. You can verify by asking Claude to look up a part number:
"Look up part number LM358N on DigiKey"
Running standalone (without Claude Desktop):
uv run python digikey_mcp_server.py
Available Tools
Quick Part Lookup
part_lookup(part_number, requested_quantity=1, customer_id="0")- Look up any DigiKey or manufacturer part number and get availability, pricing, and pricing tiers in a single call
Search Methods
keyword_search(keywords, limit=5, manufacturer_id=None, category_id=None, search_options=None, sort_field=None, sort_order="Ascending")- Search DigiKey products by keyword with sorting and filteringsearch_manufacturers()- Get all product manufacturerssearch_categories()- Get all product categoriessearch_product_substitutions(product_number, limit=10, search_options=None, exclude_marketplace=False)- Find substitute products
Product Details
product_details(product_number, manufacturer_id=None, customer_id="0")- Get detailed product informationget_category_by_id(category_id)- Get specific category detailsget_product_media(product_number)- Get product images, documents, and videosget_product_pricing(product_number, customer_id="0", requested_quantity=1)- Get detailed pricing informationget_digi_reel_pricing(product_number, requested_quantity, customer_id="0")- Get DigiReel pricing
Sort Options for keyword_search
Available sort fields:
Packaging- Sort by packaging typeProductStatus- Sort by product statusDigiKeyProductNumber- Sort by DigiKey part numberManufacturerProductNumber- Sort by manufacturer part numberManufacturer- Sort by manufacturer nameMinimumQuantity- Sort by minimum order quantityQuantityAvailable- Sort by available quantityPrice- Sort by priceSupplier- Sort by supplierPriceManufacturerStandardPackage- Sort by manufacturer standard package price
Sort orders: Ascending or Descending
Search Options
Available filters for search methods:
LeadFree- Lead-free products onlyRoHSCompliant- RoHS compliant products onlyInStock- In-stock products onlyHasDatasheet- Products with datasheetsHasProductPhoto- Products with photosHas3DModel- Products with 3D modelsNewProduct- New products only
Example Usage
The server exposes MCP tools that can be used by MCP clients like Claude Desktop, or programmatically via FastMCP clients.
Part Lookup (most common use case)
# Look up a part by DigiKey or manufacturer number — returns availability, pricing, and price tiers
part_lookup("296-8875-1-ND")
# Look up with a specific quantity for accurate tier pricing
part_lookup("LM358N", requested_quantity=100)
Search Examples
# Basic keyword search
keyword_search("resistor", limit=10)
# Search with sorting by price (lowest first)
keyword_search("capacitor", limit=5, sort_field="Price", sort_order="Ascending")
# Search with filters
keyword_search("LED", limit=10, search_options="InStock,RoHSCompliant")
Detailed Queries
# Get full product details
product_details("296-8875-1-ND")
# Get pricing separately
get_product_pricing("296-8875-1-ND", requested_quantity=100)
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.