name: digikey
description: Search DigiKey for components, pricing, stock, and part numbers. Use when the user asks to find components on DigiKey, check DigiKey pricing, look up a DigiKey part number, search for in-stock parts, get price breaks, compare alternatives, or find a datasheet or product page for a specific part.

DigiKey Component Search

Search DigiKey's catalog of millions of electronic components from thousands of manufacturers. Real-time pricing, stock, lead times, and product links.

Architecture

The DigiKey search runs as a shared remote service on a dedicated container. User containers access it via the adom-digikey MCP server, which proxies requests to the shared service over HTTP.

Dedicated Service Container (john/service-digikey)
  DigiKey Products API v4 proxy (port 8777, OAuth 2.0, 10-min LRU cache)
    ↓ (proxied via Coder)
  HTTP API: https://coder.john-service-digikey-5fe3ed11d045380c.containers.adom.inc/proxy/8777
  MCP:      https://coder.john-service-digikey-5fe3ed11d045380c.containers.adom.inc/proxy/8778/mcp

User Containers (any Gallia-enabled container)
  MCP Tools (adom-digikey) ──→ HTTP fetch to shared service URL
    ↓
  pushToViewer() ──→ Viewer API (port 8771) ──→ WebSocket ──→ Gallia Viewer

The service URL is hardcoded in digikey/mcp/tools.js — no DIGIKEY_CLIENT_ID / DIGIKEY_CLIENT_SECRET env vars needed on user containers. OAuth credentials live only on the service container.

Service Container Details

  • Container: john/service-digikey on Adom (john-service-digikey-5fe3ed11d045380c)
  • Hydrogen: https://hydrogen.adom.inc/john/service-digikey/edit
  • Port 8777: HTTP API — GET /health, GET /search?keyword=..., GET /part?partNumber=..., or POST / with JSON body
  • Port 8778: Streamable HTTP MCP endpoint at /mcp — add to .mcp.json as { "type": "streamable-http", "url": "...proxy/8778/mcp" }
  • Bootstrap: bash <(curl -fsSL https://coder.john-gallia-f280e93ffec7e79d.containers.adom.inc/proxy/9999/bootstrap.sh) --service digikey
  • Update: cd ~/gallia && git pull && pkill -f 'node.*services/digikey/server.js'; bash services/digikey/start-digikey.sh

Available MCP Tools

digikey_search — Keyword / Part Number Search

Search by keyword, description, manufacturer part number (MPN), or DigiKey part number.

Parameters:

Parameter Type Default Description
keyword string required Part number, keyword, description, or category + specs
limit number 10 Max results (1–50)
inStockOnly boolean false Only return parts currently in stock

Example uses:

  • keyword: "STM32F103RBT6" — find by MPN
  • keyword: "497-STM32F103RBT6-ND" — find by DigiKey PN
  • keyword: "ESP32 WiFi Bluetooth" — keyword search
  • keyword: "LDO 3.3V 500mA SOT-23" — parametric-style search
  • keyword: "STM32F4 microcontroller", inStockOnly: true — in-stock only

digikey_part — Exact Part Lookup

Get full details for a specific part by DigiKey PN or MPN. Returns complete price break table, packaging options, RoHS status, lifecycle, datasheet URL, and product page.

Parameters:

Parameter Type Description
partNumber string DigiKey PN (e.g. 497-STM32F103RBT6-ND) or MPN (e.g. STM32F103RBT6)

Use digikey_search first to discover parts, then digikey_part to get full details.

digikey_health — Health Check

Verify the API credentials are set and DigiKey API is reachable. No parameters.

What's in a Result

Each part includes:

  • DigiKey part number — use this for BOM ordering
  • Manufacturer part number (MPN) — use this in schematics/footprints
  • Manufacturer name
  • Description and category
  • Stock — in-stock quantity at DigiKey (live)
  • Lead time — estimated delivery in weeks if ordering from factory
  • Price breaks — quantity pricing tiers (1+, 10+, 25+, 100+, etc.)
  • Min order qty
  • RoHS status — compliance flag
  • Lifecycle status — e.g. Active, Last Time Buy, Obsolete
  • Product page URL — direct link to DigiKey product listing
  • Datasheet URL — direct PDF link if available

Workflow

Finding a part from scratch

  1. Use digikey_search with a keyword or description
  2. Scan results for the right part (check stock, price, lifecycle)
  3. Use digikey_part to get full pricing and product details
  4. Copy the DigiKey PN for BOM and the MPN for schematic/footprint use

Checking price for a known MPN

Use digikey_search with the MPN as the keyword — typically returns exact or near-exact matches as the first results.

Checking in-stock alternatives

Use digikey_search with inStockOnly: true and a descriptive keyword (e.g. "32-bit ARM Cortex-M3 flash 128KB LQFP-48").

Files

File Purpose
services/digikey/server.js HTTP API server (port 8777), DigiKey OAuth 2.0 proxy, landing page
services/digikey/start-digikey.sh Idempotent start script (used by container boot)
services/digikey/test.js 14-test integration suite with GV output
digikey/mcp/server.js MCP stdio transport entry point
digikey/mcp/tools.js 3 MCP tools + fire-and-forget push to Gallia Viewer (hardcoded service URL)
digikey/mcp/remote.js MCP streamable-http transport (port 8778)

Notes

  • Results are sorted by DigiKey's internal relevance algorithm (not necessarily by stock)
  • DigiKey prices are in USD and do not include shipping
  • Stock levels are live at time of query (10-minute cache on the service)
  • OAuth credentials live only on the service container — user containers don't need them
  • Authentication uses OAuth 2.0 client_credentials flow (tokens cached with 80% TTL safety margin)