Mouser Electronics MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Mouser Electronics MCP Serversearch for 10k ohm resistor"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Mouser Electronics MCP Server
A Model Context Protocol (MCP) server for the Mouser Electronics API. Search for electronic components, manage shopping carts, and track orders directly through Claude or other MCP clients.
Features
Part Search: Find components by keyword or exact part number
Component Details: Access specifications, pricing, availability, and datasheets
Cart Management: Add items to cart and update quantities
Order Tracking: View order details and history
Pricing Information: Get quantity-based pricing with up to 4 price breaks
Real-time Availability: Check stock levels and lead times
Related MCP server: codebeamer-mcp
Quick Start
Prerequisites
Python 3.10 or higher
uv package manager (recommended)
Mouser Electronics API keys (free at mouser.com/api-hub)
Installation
Clone this repository:
git clone <this-repo> mouser-mcp
cd mouser-mcpInstall dependencies:
uv syncCreate your environment file:
cp .env.example .env
# Edit .env with your Mouser API keysYou'll need two separate API keys from Mouser:
Part Search API Key: For searching components
Order/Cart API Key: For cart and order operations
Get both keys at: https://www.mouser.com/api-hub/
Run the server:
uv run mouser-mcpProject Structure
mouser-mcp/
├── src/mouser_mcp/
│ ├── __init__.py # Package initialization
│ ├── server.py # Main MCP server entry point
│ ├── client.py # Mouser API client
│ ├── types.py # TypedDict definitions
│ ├── api/ # API modules
│ │ ├── search.py # Search operations
│ │ ├── cart.py # Cart management
│ │ ├── order.py # Order operations
│ │ └── order_history.py # Order history
│ └── utils/ # Utility modules
├── tests/ # Test suite
├── .env.example # Environment template
└── README.md # This fileAvailable Tools
Tool | Description |
| Search parts by keyword (e.g., "resistor 10k", "STM32F4") |
| Search by exact part number (e.g., "595-TPS54360DDAR") |
| Retrieve cart contents by cart key |
| Add item to shopping cart |
| Update item quantity in cart |
| Get shipping/payment options for a cart |
| Retrieve order details by order number |
| View past orders (default: last 30 days) |
| Check server status and API configuration |
Environment Variables
Variable | Description | Default |
| API key for part search | (required) |
| API key for cart/orders | (required) |
| Base URL for Mouser API |
|
| Request timeout in seconds |
|
| Enable debug logging |
|
Claude Desktop Integration
Add to your Claude Desktop configuration (claude_desktop_config.json):
{
"mcpServers": {
"mouser": {
"command": "uv",
"args": ["--directory", "/path/to/mouser-mcp", "run", "mouser-mcp"]
}
}
}Or with Docker:
{
"mcpServers": {
"mouser": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--env-file",
"/path/to/mouser-mcp/.env",
"mouser-mcp:latest"
]
}
}
}Development
Running Tests
# Run all tests (unit tests only, no API keys needed)
uv run python -m pytest -v
# Run integration tests (requires real Mouser API keys)
uv run python -m pytest tests/test_search_integration.py -v -s
# Run specific test
uv run python -m pytest tests/test_search_integration.py::test_search_arduino_boards_integration -v -sLinting
uv run ruff check src/ tests/
uv run ruff format src/ tests/Building
uv buildTroubleshooting
"Invalid unique identifier" Error
Problem: When searching for parts, you get:
{
"Errors": [{
"Code": "Invalid",
"Message": "Invalid unique identifier.",
"PropertyName": "API Key"
}]
}Solution: The API keys in your .env file are placeholders. You need to:
Get real API keys from Mouser API Hub
Update your
.envfile with the actual keys
See API_KEY_SETUP.md for detailed instructions.
Rate Limit Errors
If you see rate limit errors, wait at least 1 minute before retrying. Consider implementing:
Request throttling in your application
Caching of search results
Batch operations where possible
Empty Search Results
If searches return no results:
Verify the part exists on mouser.com
Try broader search terms
Check for typos in part numbers
For more troubleshooting help, see INVESTIGATION_SUMMARY.md
Docker Deployment
Build and run with Docker Compose:
docker compose up --buildFor development with VS Code Dev Containers:
Open the project in VS Code
Install the "Dev Containers" extension
Click "Reopen in Container" when prompted
API Rate Limits
Mouser API has the following limits:
50 results maximum per search request
30 requests per minute
1000 requests per day
The server will raise errors if you exceed these limits.
Example Usage
Once integrated with Claude Desktop, you can ask:
"Search for STM32F407 microcontrollers on Mouser"
"Find 10k ohm resistors with 1% tolerance"
"What's the price and availability for part number 595-TPS54360DDAR?"
"Show me my recent Mouser orders"
License
MIT License - See LICENSE file for details.
Contributing
Fork the repository
Create a feature branch
Make your changes
Run tests and linting
Submit a pull request
Resources
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/nickweedon/mouser-mcp-docker'
If you have feedback or need assistance with the MCP directory API, please join our Discord server