Partuno
Partuno is a local-first MCP server for electronic component research, BOM analysis, and sourcing comparisons across DigiKey and Mouser, with evidence-based recommendations and controlled distributor workflows.
README
Partuno — DigiKey & Mouser MCP Server
<p align="center"> <img src="docs/assets/partuno-logo.png" alt="Partuno logo" width="144"> </p>
<p align="center"> <a href="https://github.com/JPMarhefka/partuno/actions/workflows/ci.yml"><img src="https://github.com/JPMarhefka/partuno/actions/workflows/ci.yml/badge.svg" alt="CI"></a> <a href="LICENSE"><img src="https://img.shields.io/github/license/JPMarhefka/partuno" alt="License"></a> <a href="https://www.python.org/"><img src="https://img.shields.io/badge/python-3.12%2B-3776AB" alt="Python"></a> <a href="https://glama.ai/mcp/servers/JPMarhefka/partuno"><img src="https://glama.ai/mcp/servers/JPMarhefka/partuno/badges/score.svg" alt="partuno MCP server"></a> </p>
<!-- mcp-name: io.github.JPMarhefka/partuno -->
Local-first component intelligence for MCP
Partuno is an open-source, provider-neutral, local-first Model Context Protocol (MCP) server for electronic component research, BOM analysis, sourcing comparison, and safe distributor workflows. Connect an AI assistant to your own DigiKey and Mouser credentials without shared credentials or autonomous ordering, while keeping evidence, normalized attributes, and explicit uncertainty visible.
Partuno was initially developed as a native MCP server. Native MCP is the
recommended connection because it works as an app in ordinary ChatGPT
conversations and exposes richer tool annotations. Existing Custom GPT Action
endpoints remain available for backward compatibility, including
/action-openapi.json.
Partuno does not provide a shared public server or shared distributor credentials. The Render configuration is an optional reference deployment for an operator's own single-user instance.
Start here
Use the published package (recommended)
Partuno is published on PyPI and listed in the official MCP Registry. The recommended local MCP launcher is:
uvx --from partuno partuno-mcp
This downloads the current published release and runs the default local stdio transport. To pin the current release exactly, use:
uvx --from 'partuno==4.0.1' partuno-mcp
MCP clients that accept a local command can use uvx with these arguments:
{
"command": "uvx",
"args": ["--from", "partuno", "partuno-mcp"]
}
Keep your operator-owned DigiKey and Mouser credentials in the MCP client's environment. See the local deployment guide for the supported variables and the native MCP setup guide for operator-owned remote deployments. For a hosted directory listing, see Partuno on Glama.
Install with pip
If uvx is not available, install the published package into an existing
Python environment:
python3 -m pip install partuno
partuno-mcp
<details> <summary><strong>Develop from source</strong></summary>
Use a checkout only when contributing, running unreleased changes, or needing
the repository's .env.example and test suite:
git clone https://github.com/JPMarhefka/partuno.git
cd partuno
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt
cp .env.example .env
set -a
source .env
set +a
python -m partuno
See the local deployment guide for loopback HTTP and source-checkout details.
</details>
Self-host a remote MCP server
If your client requires a reachable HTTPS endpoint, deploy your own instance with your own provider accounts, OAuth application, signing key, rate limits, and hosting budget. Start with the Render reference deployment, or use the Docker and Azure guides. There is no shared Partuno endpoint intended for public use.
Use the existing Action compatibility surface
Custom GPT Actions are retained for existing integrations. The Action/OpenAPI surface is not the primary architecture; use native MCP for new connections. The Action setup details are documented in MCP setup.
What Partuno does
- Searches and inspects electronic components across DigiKey and Mouser.
- Normalizes manufacturer part numbers, units, compliance values, and common distributor-specific attribute names.
- Compares exact component offers at a requested quantity, including price breaks, minimum order quantities, order multiples, availability, and partial provider failures.
- Recommends components against hard requirements while preserving
meets,does_not_meet, andunknownevidence states. - Analyzes BOMs for stock, lifecycle, compliance, pricing, tariffs, lead time, and substitute candidates.
- Supports bounded account and project workflows such as read-only order history, list and quote previews, receiving reconciliation, and carefully confirmed mutations where the provider supports them.
See the capability reference for the current scope and the safety boundary for each workflow.
DigiKey MCP server
Partuno can run as a local-first DigiKey MCP server for component search, product research, current pricing and availability, lifecycle checks, MyLists, quotes, receiving reconciliation, and other bounded account workflows. The DigiKey MCP server guide covers setup, supported workflows, and the provider-specific safety boundaries.
Mouser MCP server
Partuno also provides a Mouser MCP server surface for catalog search, exact offer comparison, read-only order history, and preview-confirmed Cart workflows. The Mouser MCP server guide explains the separate operator-owned Mouser credentials and what the server does and does not execute.
Electronics BOM MCP server
Use Partuno as an electronics BOM MCP server to consolidate duplicate rows, resolve exact products, estimate current merchandise cost, check stock and lifecycle risk, inspect compliance and lead-time signals, and find substitutes or alternate packaging. See the electronics BOM MCP server guide for a complete read-only example and known limitations.
AI component sourcing
Partuno turns a natural-language engineering request into a traceable sourcing
workflow. Recommendations preserve meets, does_not_meet, and unknown
evidence states, so missing or ambiguous attributes are not silently treated as
qualified requirements. The natural-language examples
show the intended interaction style.
DigiKey vs Mouser comparison
For an exact comparison, Partuno matches manufacturer and MPN identity first, then compares requested-quantity pricing, minimum order quantity, order multiples, purchasable quantity, availability, and manufacturer lead time. If a provider fails or returns incomplete evidence, the result remains partial instead of inventing a winner. See the DigiKey vs Mouser comparison guide.
What Partuno does not do
- It does not supply DigiKey or Mouser credentials.
- It does not create a shared multi-tenant credential pool.
- It does not silently turn unknown product data into a pass.
- It does not submit distributor orders.
- It does not bypass provider quotas, terms, authentication, or rate limits.
See it in action
Featured example: choose a component for a 3.3 V design
Once Partuno is connected, a user can simply ask:
I’m choosing a dual op amp for a 3.3 V circuit. Find a few LM358-family
options that can operate at 3.3 V, are RoHS compliant, normally stocked, and
available in a quantity of 10. Show the evidence behind each recommendation
and keep uncertain data clearly marked.
Partuno turns that plain-language request into a provider-aware result with qualified, unverified, and rejected candidates; normalized voltage and compliance evidence; cross-distributor availability; quantity pricing; and a Pareto shortlist. It does not silently treat missing specifications as a pass.
<p align="center"> <img src="docs/assets/demos/featured-recommendation.gif" alt="Partuno turning a plain-language component request into an evidence-backed recommendation" width="900"> </p>
This is a roughly 10-second prompt-to-result capture that shows the request and a smooth response scroll. Prices, stock, and lead times are live provider data and can change.
See more natural-language examples for comparison, product research, BOM review, and safe account-preview workflows.
Documentation
| Topic | Guide |
|---|---|
| Capabilities and safety boundaries | Capability reference |
| Native MCP connection | MCP setup |
| Local stdio or loopback HTTP | Local deployment |
| Docker deployment | Docker deployment |
| Operator-owned Render deployment | Render reference |
| Azure deployment | Azure deployment |
| Security and credential handling | Security guide |
| Offline and live validation | Testing guide and validation notes |
| Natural-language usage examples | Examples |
| DigiKey, Mouser, and BOM entry points | Search-focused guides |
| Contributing | CONTRIBUTING.md |
| Security reports | SECURITY.md |
| Release history | CHANGELOG.md |
Logo assets
The full-resolution Partuno logo is available for project pages, client listings, and integration documentation. A compact plugin icon is also included for client or plugin upload fields with strict PNG size limits.
The compact icon is intentionally optimized for small upload limits. If a host accepts larger assets, use the full-resolution logo instead. The compact icon can also be downloaded directly from the repository's raw asset URL.
When using the logo in a ChatGPT app, MCP client, or other plugin integration, identify the integration as Partuno and do not imply endorsement by DigiKey, Mouser, or another provider. Check the host platform's current dimensions, format, and file-size requirements before uploading.
Deployment and credential model
| Mode | Best for | Credential ownership |
|---|---|---|
| Local stdio | Desktop MCP clients and personal development | Operator's local environment |
| Loopback HTTP | Clients that cannot launch stdio | Operator's local environment |
| Remote HTTPS | A self-hosted ChatGPT/Codex connection | Operator's own deployment and accounts |
Remote mode adds OAuth and HTTPS because a hosted MCP endpoint must authenticate the client and protect upstream access. It is optional; local mode remains the default and does not require Partuno OAuth.
Project status
Partuno 4.0.1 is an active open-source release. The test suite covers offline provider contracts, MCP tool behavior, REST compatibility, credential safety, normalization, and the multi-distributor workflows. Live provider calls are opt-in because they require operator credentials and are subject to provider quotas.
See testing before running live smoke tests.
License and independence
Partuno is released under the Apache License 2.0. See NOTICE for project attribution and independence statements. Partuno is not affiliated with, endorsed by, or sponsored by DigiKey, Mouser, or any manufacturer or distributor named in the project. Their names and marks identify integrations only.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。