electronic-mcp-server
# Electronics MCP Servers
<!-- mcp-name: io.github.wedsamuel1230/electronic-mcp-server -->
A comprehensive Model Context Protocol (MCP) server providing 14 electronics engineering tools across 3 domains.
[](https://pypi.org/project/electronics-mcp-servers/)
[](https://opensource.org/licenses/MIT)
[](https://www.python.org/downloads/)
## Installation
```bash
pip install electronics-mcp-servers
```
## Testing & Verification
After installation, verify the package is working:
### Test with uvx (recommended for MCP clients)
```bash
# Alternative: Test individual servers
uvx --from electronics-mcp-servers resistor-decoder
uvx --from electronics-mcp-servers capacitor-calc
uvx --from electronics-mcp-servers gpio-reference
```
### Test with pip install
```bash
# After pip install, test the CLI
electronics-mcp-servers --version
# Or test individual tools
resistor-decoder --help
capacitor-calc --help
gpio-reference --help
```
### Naming Clarification
This project uses different naming conventions in different contexts:
- **MCP Registry ID:** `io.github.wedsamuel1230/electronic-mcp-server` (singular)
- **PyPI Package:** `electronics-mcp-servers` (plural)
- **CLI Executables:** `electronics-mcp-servers`, `resistor-decoder`, `capacitor-calc`, `gpio-reference`
When using `uvx`, always use the **PyPI package name** (`electronics-mcp-servers`).
### Troubleshooting
**Problem:** `uvx electronics-mcp-servers` shows "executable not provided" error
**Solution:** The main `electronics-mcp-servers` executable was added in version **1.0.2**. Make sure you have the latest version:
```bash
# Force uvx to fetch the latest version
uvx --refresh electronics-mcp-servers
# Or specify the version explicitly
uvx --from electronics-mcp-servers==1.0.2 electronics-mcp-servers
# Check installed version
pip index versions electronics-mcp-servers
```
If the error persists, PyPI may still be serving version 1.0.1. Wait a few minutes and try again.
## Features
### 🎨 Resistor Decoder (3 tools)
- **decode_resistor_color_bands**: Convert color bands to resistance value
- **encode_resistor_value**: Convert resistance to color bands
- **find_standard_resistor**: Find nearest E12/E24/E96 series value
### âš¡ Capacitor Calculator (4 tools)
- **calculate_capacitive_reactance**: Frequency-dependent impedance
- **calculate_rc_time_constant**: RC circuit time calculations
- **calculate_resonant_frequency**: LC tank resonance
- **suggest_capacitor_for_filter**: Filter design recommendations
### 📌 GPIO Pin Reference (7 tools)
- **get_pin_info**: Detailed pin specifications (ESP32/Arduino/STM32)
- **find_pwm_pins**: PWM-capable pin discovery
- **find_adc_pins**: ADC channel mapping
- **find_i2c_pins**: I2C bus pins
- **find_spi_pins**: SPI bus pins
- **check_pin_conflict**: Multi-pin conflict detection
- **generate_pin_diagram_ascii**: Visual pinout diagrams
## Supported Boards
- **ESP32 DevKitC**
- **Arduino UNO R3**
- **STM32F103C8T6** (Blue Pill)
## Usage
### As an MCP Server
Add to your MCP client configuration (e.g., Claude Desktop):
```json
{
"mcpServers": {
"electronics": {
"command": "python",
"args": ["-m", "servers"]
}
}
}
```
Or with uvx:
```json
{
"mcpServers": {
"electronics": {
"command": "uvx",
"args": ["electronics-mcp-servers"]
}
}
}
```
### Direct Python Usage
```python
from servers.resistor_decoder import decode_color_bands
from servers.capacitor_calculator import calculate_rc_time_constant
from servers.gpio_reference import get_pin_info
# Decode a resistor
result = decode_color_bands(["brown", "black", "red", "gold"])
# Returns: {"resistance": 1000, "tolerance": 5, "formatted": "1kΩ ±5%"}
# Calculate RC time constant
tau = calculate_rc_time_constant(10000, 100e-6)
# Returns: {"tau": 1.0, "time_63pct": 1.0, "time_full": 5.0}
# Get ESP32 pin info
pin = get_pin_info("ESP32", 32)
# Returns detailed pin capabilities
```
## Requirements
- Python 3.10+
- FastMCP (`mcp[cli]>=1.1.0`)
## License
MIT License - Copyright (c) 2026 Samuel F.
## Links
- [GitHub Repository](https://github.com/wedsamuel1230/electronic-mcp-server)
- [PyPI Package](https://pypi.org/project/electronics-mcp-servers/)
- [MCP Registry](https://registry.modelcontextprotocol.io/servers/io.github.wedsamuel1230/electronic-mcp-server)
TDQS
Scored across 14 tools
Each tool has a clearly distinct purpose: calculations, resistor color code, resistor standard values, and board-specific pin information. No two tools overlap in functionality, making it easy for an agent to select the correct one.
All tool names use lowercase snake_case and follow an action_object pattern, but the verb prefixes vary (calculate_, decode_, encode_, find_, check_, get_, generate_, suggest_). While still clear and readable, the mix reduces consistency slightly.
With 14 tools, the server is well-scoped for its purpose, covering calculations, resistor color codes, standard values, and board pin mapping. The number is appropriate for an electronics prototyping assistant.
The tool set covers key electronics calculations (RC, LC, capacitor filters), resistor color code handling, standard resistor values, and comprehensive board pin information for several board types. Minor gaps exist (e.g., inductor calculations beyond resonance), but the overall coverage is solid.