Token导航 LogoToken导航TokenDH.com
DigiKey MCP Server logo
AI代理stdio官方级别未说明来源级核验

DigiKey MCP Server

MCP Server

基于FastMCP构建的DigiKey产品搜索API服务,提供组件搜索、定价、订购和订单状态查询功能,支持Docker MCP工具包集成。

工具数

13

提示词数

0

GitHub Stars

0

资源数

0
订单管理PythonClaudeAPI集成Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

simon-77

提供方

simon-77

最后核验

2026/5/17 20:20

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run --rm -i \

详细介绍

DigiKey MCP服务器

最初灵感来自 bengineer19/digike_mcp.

先决条件

  • DigiKey API证书 --注册地址: developer.digikey.com,创建一个应用程序 client_credentials 授权类型
  • DigiKey客户编号 --订购工具所需。在你的 DigiKey帐户设置.
  • 码头工人 (推荐)或Python 3.10+
  • Docker MCP工具包 --包含在 (需要MCP工具包支持)

项目结构

digikey-mcp/
├── mcp_app.py               # Shared FastMCP instance
├── digikey_mcp_server.py     # Main server — authenticated tools (OAuth2)
├── digikey_noauth_tools.py   # No-auth tools (cart URL, MyList link)
├── Dockerfile                # Docker image with embedded metadata
├── server.yaml               # Registry entry for docker/mcp-registry
└── tests/                    # Unit tests

快速入门——Docker MCP工具包

运行此服务器的推荐方式。Docker MCP网关管理容器生命周期,注入机密,并向MCP客户端(如Claude Code或Claude Desktop)公开工具。

1.构建Docker镜像

git clone https://github.com/simon-77/digikey-mcp.git
cd digikey-mcp
docker build -t digikey-mcp:latest .

2.创建自定义目录

网关通过目录文件发现服务器。创建一个 ~/.docker/mcp/catalogs/custom.yaml:

version: 3
name: custom
displayName: Custom MCP Servers
registry:
  digikey:
    description: DigiKey component search, pricing, ordering, and order status
    title: DigiKey
    type: server
    image: digikey-mcp:latest
    secrets:
      - name: digikey.CLIENT_ID
        env: CLIENT_ID
      - name: digikey.CLIENT_SECRET
        env: CLIENT_SECRET
      - name: digikey.DIGIKEY_ACCOUNT_ID
        env: DIGIKEY_ACCOUNT_ID
    env:
      - name: USE_SANDBOX
        value: "false"
      - name: DIGIKEY_LOCALE_SITE
        value: "US"
      - name: DIGIKEY_LOCALE_LANGUAGE
        value: "en"
      - name: DIGIKEY_LOCALE_CURRENCY
        value: "USD"
    tools:
      - name: keyword_search
      - name: product_details
      - name: search_manufacturers
      - name: search_categories
      - name: get_category_by_id
      - name: search_product_substitutions
      - name: get_product_media
      - name: get_product_pricing
      - name: get_digi_reel_pricing
      - name: generate_cart_url
      - name: create_mylist_link
      - name: list_orders
      - name: get_order_status
    prompts: 0
    resources: {}

更改 env 值以匹配您的区域设置(例如。, AT/en/EUR 奥地利)。

注:tools 列表必须与服务器中定义的工具匹配。网关使用此列表向MCP客户端注册工具。 prompts: 0resources: {} 表示服务器不公开MCP提示或资源。

3.注册目录并启用服务器

docker mcp catalog import ~/.docker/mcp/catalogs/custom.yaml
docker mcp server enable digikey

重新运行 catalog import 无论何时修改 custom.yaml.

4.设定秘密

docker mcp secret set digikey.CLIENT_ID
docker mcp secret set digikey.CLIENT_SECRET
docker mcp secret set digikey.DIGIKEY_ACCOUNT_ID

系统将提示您输入每个值。秘密姓名 必须 以服务器名称作为前缀(digikey.).

帐户ID是您的DigiKey客户编号,订购工具需要此编号(list_orders, get_order_status).

5.连接MCP客户端

docker mcp client connect claude-code

这将为您的项目添加网关 .mcp.json:

{
  "mcpServers": {
    "MCP_DOCKER": {
      "command": "docker",
      "args": ["mcp", "gateway", "run"],
      "type": "stdio"
    }
  }
}

当MCP客户端启动时,网关启动 digikey-mcp:latest 容器,将机密作为环境变量注入,并代理工具调用。

变更后重建

docker build -t digikey-mcp:latest .
# Restart your MCP client to pick up the new image

无需重新导入目录或重新设置机密,只需重建并重新启动即可。

替代方案:Docker独立版

不使用MCP工具包直接运行容器。你自己管理秘密和生命周期。

docker build -t digikey-mcp .

docker run --rm -i \
  -e CLIENT_ID=your_client_id \
  -e CLIENT_SECRET=your_client_secret \
  -e DIGIKEY_ACCOUNT_ID=your_customer_number \
  -e USE_SANDBOX=false \
  -e DIGIKEY_LOCALE_SITE=US \
  -e DIGIKEY_LOCALE_LANGUAGE=en \
  -e DIGIKEY_LOCALE_CURRENCY=USD \
  digikey-mcp

.mcp.json 对于MCP客户:

{
  "mcpServers": {
    "digikey": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "-e", "CLIENT_ID=your_client_id",
        "-e", "CLIENT_SECRET=your_client_secret",
        "-e", "DIGIKEY_ACCOUNT_ID=your_customer_number",
        "-e", "USE_SANDBOX=false",
        "-e", "DIGIKEY_LOCALE_SITE=US",
        "-e", "DIGIKEY_LOCALE_LANGUAGE=en",
        "-e", "DIGIKEY_LOCALE_CURRENCY=USD",
        "digikey-mcp"
      ]
    }
  }
}

Locale环境变量是可选的——默认值为 US/en/USD (参见 配置).

替代方案:独立(pip)

不使用Docker运行。需要Python 3.10+。

git clone https://github.com/simon-77/digikey-mcp.git
cd digikey-mcp
pip install .

cat > .env  **支持区域设置的URL:** 这两个工具都使用从中派生的域生成URL `DIGIKEY_LOCALE_SITE` (例如。, `AT` → `www.digikey.at`, `DE` → `www.digikey.de`).这确保了链接在正确的区域DigiKey网站上打开。默认为 `www.digikey.com` (美国)。

### 订单状态

|工具|说明|
|------|-------------|
| `list_orders` |列出日期范围内的订单(默认为最近30天)|
| `get_order_status` |获取特定销售订单的完整详细信息|

> **注:** 订购工具需要 `DIGIKEY_ACCOUNT_ID` (您的DigiKey客户编号)。如果没有它,这些工具将返回400个错误请求。

### 搜索选项

过滤器(逗号分隔) `search_options`): `LeadFree`, `RoHSCompliant`, `InStock`, `HasDatasheet`, `HasProductPhoto`, `Has3DModel`, `NewProduct`

排序字段: `Packaging`, `ProductStatus`, `DigiKeyProductNumber`, `ManufacturerProductNumber`, `Manufacturer`, `MinimumQuantity`, `QuantityAvailable`, `Price`, `Supplier`, `PriceManufacturerStandardPackage`

## 配置

所有设置均通过环境变量进行控制。在Docker MCP Toolkit模式下,这些在目录中设置 `env` 封锁或作为秘密。在独立模式下,使用 `.env` 文件。

|变量|默认值|描述|
|----------|---------|-------------|
| `CLIENT_ID` | *(必填)* |DigiKey API客户ID|
| `CLIENT_SECRET` | *(必填)* |DigiKey API客户机密|
| `DIGIKEY_ACCOUNT_ID` | *(可选)* |DigiKey客户编号。订购工具所需(`list_orders`, `get_order_status`). |
| `USE_SANDBOX` | `true` |使用沙箱API(`true`)或生产(`false`).Dockerfile和目录示例将其重写为 `false`. |
| `DIGIKEY_LOCALE_SITE` | `US` |DigiKey网站(例如。, `AT`, `DE`, `UK`).还为购物车和MyList URL设置网站域(见下文)。 |
| `DIGIKEY_LOCALE_LANGUAGE` | `en` |响应语言|
| `DIGIKEY_LOCALE_CURRENCY` | `USD` |定价货币(例如。, `EUR`) |

## Docker MCP注册表

此回购的结构是为了提交给 The [server.yaml](server.yaml) 文件包含注册表项引用——这是 **不** 与上面的本地目录相同。当服务器发布到注册表时,用户不需要创建自定义目录;他们将直接通过安装 `docker mcp server enable digikey`.

## 故障排除

**Gateway显示0个工具:** 服务器使用惰性OAuth初始化——在第一次工具调用之前,它不会进行身份验证。如果网关仍然没有显示任何工具,请验证 `tools` 目录中的列表与上面的工具名称匹配。

**第一次工具调用时出现OAuth错误:** 使用验证您的凭据 `docker mcp secret list`。机密名称必须加前缀: `digikey.CLIENT_ID`,不 `CLIENT_ID`.

**订购工具返回400错误请求:** 订单端点需要 `DIGIKEY_ACCOUNT_ID`.设置它 `docker mcp secret set digikey.DIGIKEY_ACCOUNT_ID`。该值是您的DigiKey客户号,可以在您的 [账户设置](https://www.digikey.com/account/myaccount/).

**API调用运行一段时间后失败,401:** 服务器在启动时获取一次OAuth令牌,不会刷新它。DigiKey令牌将在约30分钟后过期。重新启动MCP客户端(或容器)以获取新令牌。

**目录更改未生效:** 重新运行 `docker mcp catalog import ~/.docker/mcp/catalogs/custom.yaml` 编辑目录文件后。之后重新启动MCP客户端。

## 许可证

MIT许可证——见 [许可证](LICENSE).

目录标签

目录标签

订单管理PythonClaudeAPI集成电子元件搜索本地部署API服务Docker集成MCP协议

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

运行时(runtime,运行环境)

Docker

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

13

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauthremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP