Skip to main content
Glama
electronic-mcp-server

electronic-mcp-server

Electronics MCP Servers

A comprehensive Model Context Protocol (MCP) server providing 14 electronics engineering tools across 3 domains.

PyPI version License: MIT Python 3.10+

Installation

pip install electronics-mcp-servers

Related MCP server: PCB Parts MCP Server

Testing & Verification

After installation, verify the package is working:

# 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

# 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:

# 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):

{
  "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 capabilities

Requirements

  • Python 3.10+

  • FastMCP (mcp[cli]>=1.1.0)

License

MIT License - Copyright (c) 2026 Samuel F.

Available Tools

14 tools
calculate_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

    A4.1/5.0

    Scored across 14 tools

    Disambiguation5/5

    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.

    Naming Consistency4/5

    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.

    Tool Count5/5

    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.

    Completeness4/5

    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

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables 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
      -
    • A
      license
      A
      quality
      A
      maintenance
      Enables 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.
      15
      146
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Provides 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.
      14
      95 npm
      12
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      This 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