electronic-mcp-server
Provides GPIO pin reference and troubleshooting for Arduino UNO R3, including pin information, PWM/ADC/I2C/SPI pin discovery, conflict checking, and ASCII pin diagrams.
Click on "Deploy 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., "@electronic-mcp-server Decode resistor bands brown black red gold"
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.
Electronics MCP Servers
A comprehensive Model Context Protocol (MCP) server providing 14 electronics engineering tools across 3 domains.
Installation
pip install electronics-mcp-serversRelated MCP server: PCB Parts MCP Server
Testing & Verification
After installation, verify the package is working:
Test with uvx (recommended for MCP clients)
# Alternative: Test individual servers
uvx --from electronics-mcp-servers resistor-decoder
uvx --from electronics-mcp-servers capacitor-calc
uvx --from electronics-mcp-servers gpio-referenceTest with pip install
# After pip install, test the CLI
electronics-mcp-servers --version
# Or test individual tools
resistor-decoder --help
capacitor-calc --help
gpio-reference --helpNaming 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:
# 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-serversIf 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):
{
"mcpServers": {
"electronics": {
"command": "python",
"args": ["-m", "servers"]
}
}
}Or with uvx:
{
"mcpServers": {
"electronics": {
"command": "uvx",
"args": ["electronics-mcp-servers"]
}
}
}Direct Python Usage
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 capabilitiesRequirements
Python 3.10+
FastMCP (
mcp[cli]>=1.1.0)
License
MIT License - Copyright (c) 2026 Samuel F.
Links
Available Tools
14 toolscalculate_capacitive_reactanceA
Calculate capacitive reactance (Xc) at a given frequency.
Formula: Xc = 1 / (2π × f × C)
Capacitive reactance represents the opposition to AC current flow through a capacitor. It decreases as frequency increases (capacitors pass high frequencies more easily).
Examples: 1µF at 1kHz → Xc ≈ 159Ω 100nF at 10kHz → Xc ≈ 159Ω
Inputs: frequency_hz (required), capacitance_farads (required). Returns: result
calculate_rc_time_constantA
Calculate RC circuit time constant (τ = R × C).
The time constant Ï„ represents:
Time to charge to ~63.2% of final voltage
Time to discharge to ~36.8% of initial voltage
5τ ≈ 99.3% of final value (considered "fully" charged/discharged)
Examples: 10kΩ + 100µF → τ = 1 second 1kΩ + 1µF → τ = 1 millisecond
Inputs: resistance_ohms (required), capacitance_farads (required). Returns: result
calculate_resonant_frequencyA
Calculate LC resonant frequency.
Formula: f = 1 / (2π√(LC))
At resonance:
Inductive reactance (XL) equals capacitive reactance (Xc)
Impedance is at minimum (series) or maximum (parallel)
Used in tuned circuits, filters, oscillators
Examples: 1mH + 1nF → f ≈ 159kHz 100µH + 100pF → f ≈ 1.59MHz
Inputs: capacitance_farads (required), inductance_henries (required). Returns: result
check_pin_conflictA
Check if multiple pins have conflicting functions or usage restrictions.
Detects conflicts such as:
Using ADC2 pins with WiFi on ESP32
Using UART pins during serial debugging
Strapping pins that affect boot behavior
Shared peripheral buses (SPI, I2C)
Args: board_type: Development board type pin_list: List of pin numbers you plan to use
Returns: Conflict analysis with warnings and recommendations
Inputs: pin_list (required), board_type (required). Returns: result
decode_resistor_color_bandsA
Decode resistor color bands to get resistance value and tolerance.
Supports both 4-band and 5-band resistors:
4-band: digit, digit, multiplier, tolerance (common resistors)
5-band: digit, digit, digit, multiplier, tolerance (precision resistors)
Examples: 4-band: Brown, Black, Red, Gold → 1kΩ ±5% 5-band: Brown, Black, Black, Brown, Brown → 1kΩ ±1%
Inputs: band1 (required), band2 (required), band3 (required), band4, +1 more. Returns: result
encode_resistor_valueA
Encode a resistance value into color bands.
Converts a resistance value (in ohms) to the corresponding color band sequence.
Examples: 4700Ω, 5% → Yellow, Violet, Red, Gold 1000Ω, 1% → Brown, Black, Black, Brown, Brown (5-band)
Inputs: resistance_ohms (required), bands, tolerance_percent. Returns: result
find_adc_pinsA
List all pins that support ADC (Analog-to-Digital Conversion) input.
ADC pins are used for reading:
Sensors (temperature, light, pressure)
Potentiometers and analog controls
Battery voltage monitoring
Analog signals
Args: board_type: Development board type
Returns: List of ADC-capable pins with channel information and notes
Inputs: board_type (required). Returns: result
find_i2c_pinsA
List all pins that support I2C (Inter-Integrated Circuit) communication.
I2C is used for:
Sensor modules (IMU, temperature, pressure)
OLED/LCD displays
EEPROM chips
RTC modules
Args: board_type: Development board type
Returns: I2C pin pairs (SDA/SCL) with notes
Inputs: board_type (required). Returns: result
find_pwm_pinsA
List all pins that support PWM (Pulse Width Modulation) output.
PWM pins are essential for:
LED dimming
Motor speed control
Servo control
Analog-like output generation
Args: board_type: Development board type
Returns: List of PWM-capable pins with timer information
Inputs: board_type (required). Returns: result
find_spi_pinsA
List all pins that support SPI (Serial Peripheral Interface) communication.
SPI is used for:
SD cards
Display modules (TFT, ePaper)
Flash memory chips
High-speed sensor communication
Args: board_type: Development board type
Returns: SPI pin assignments (MOSI, MISO, SCK, SS/NSS)
Inputs: board_type (required). Returns: result
find_standard_resistorA
Find the nearest standard resistor value from E-series.
Standard resistor series:
E12: 12 values per decade (±10% tolerance)
E24: 24 values per decade (±5% tolerance)
E96: 96 values per decade (±1% tolerance)
Returns the closest standard value and nearby alternatives.
Inputs: target_ohms (required), series. Returns: result
generate_pin_diagram_asciiA
Generate an ASCII art pinout diagram for the development board.
Shows physical pin layout with pin numbers, names, and key functions in an easy-to-read text format.
Args: board_type: Development board type
Returns: ASCII art pinout diagram
Inputs: board_type (required). Returns: result
get_pin_infoA
Get detailed information about a specific GPIO pin.
Returns pin name, alternative functions, capabilities (PWM, ADC, etc.), and important notes about usage restrictions or recommendations.
Args: board_type: Development board type (ESP32, Arduino UNO, or STM32) pin_number: Physical pin number
Returns: Formatted pin information including functions and notes
Inputs: board_type (required), pin_number (required). Returns: result
suggest_capacitor_for_filterA
Recommend capacitor value for an RC filter design.
For a given cutoff frequency and resistance, calculates the required capacitance and suggests the nearest standard E12 series value.
Formula: C = 1 / (2π × f × R)
Examples: 1kHz cutoff with 10kΩ → C ≈ 15.9nF (use 15nF or 18nF) 100Hz cutoff with 1kΩ → C ≈ 1.59µF (use 1.5µF or 2.2µF)
Inputs: resistance_ohms (required), cutoff_frequency_hz (required), filter_type. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
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.
Maintenance
Related MCP Connectors
AI electronics blueprint generator — BOM, wiring, firmware, renders for Arduino/ESP32/RPi.
Electronics prototyping: real parts and pinouts, wiring checks, and shareable circuit designs.
Build, check and open Arduino, ESP32 and Pico circuits with code in the Mokxi simulator.
Electronic component datasheets for AI agents: pinouts, specs, package info and design checks.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables searching for electronic components, comparing prices across distributors, checking availability, and retrieving datasheets through the Nexar/Octopart API with specialized tools for resistors, capacitors, inductors, semiconductors, crystals, and connectors.12-
- AlicenseAqualityAmaintenanceEnables searching and filtering over 1.5 million electronic components across JLCPCB, Mouser, and DigiKey using parametric queries and smart parsing. It supports finding alternative parts, accessing pinout data, and downloading KiCad footprints directly through AI coding assistants.15146MIT
- AlicenseAqualityBmaintenanceProvides AI agents with instant, structured access to electronic component datasheets, pinouts, and electrical specifications without requiring PDF uploads. It enables seamless part searching, design validation, and side-by-side component comparisons across major hardware providers.1495 npm12MIT
- AlicenseNot gradedqualityDmaintenanceThis MCP server enables AI models to interact with ESP32 devices, providing built-in tools for web search, note management, calculator, and custom tools like todo lists and timers.MIT