Skip to main content

boot-doctor-mcp

PyPI License: MIT

A real MCP server for PC no-boot / no-display / no-POST troubleshooting. No LLM guessing at hardware causes — a plain, deterministic rule engine plus real, sourced BIOS beep-code tables.

Why deterministic, not an LLM

Nobody wants a language model hallucinating "your GPU is dead" when it isn't. Hardware advice where being wrong costs real money and real time deserves a fixed, auditable rule set, not a plausible-sounding guess. Every answer this tool gives traces back to a real source or a fixed, testable rule — never an invented explanation.

Tools

diagnose_symptoms(powers_on, fans_spin=None, fans_stay_running=None, display_output=False, tried_cmos_reset=False, tried_minimal_config=False, tried_different_cable_or_monitor=False)

Real, ranked next troubleshooting steps, given what's already been tried — the same power-stage → CMOS reset → minimal-config-test → swap-test sequence a real technician runs, ordered by what's cheapest to rule out first. Not a diagnosis of the exact broken part; a real repair often still needs a swap test against known-good parts, and this tool says so explicitly rather than pretending symptom-matching alone can replace it.

lookup_beep_code(bios_type, pattern)

Looks up a beep pattern (e.g. "10 short", "1 long, 2 short", "continuous") against real, sourced BIOS beep-code tables.

bios_type is one of:

  • ami_legacy — classic AMIBIOS
  • ami_aptio — modern AMI Aptio (UEFI), kept separate on purpose: legacy AMIBIOS and Aptio use genuinely different codes for the same beep counts, a mistake common in beginner troubleshooting guides that merge them into one table
  • award_phoenix — Award/Phoenix BIOS

Returns real information, not a fabricated guess, when the exact pattern isn't in the table — modern boards increasingly have no speaker at all and use debug LEDs instead, so "no match" is itself a real, honest result.

Sources

Beep-code data fetched and cross-referenced live (not from training-data memory) from IONOS and Thomas-Krenn. Real, stated limitation: OEMs (HP, Dell, ASUS, etc.) sometimes customize or extend these codes, and modern boards increasingly skip the speaker entirely in favor of debug LEDs — a documented pattern not matching here doesn't necessarily mean nothing is wrong.

Install

pip install boot-doctor-mcp

Add to your MCP client config (e.g. Claude Code):

claude mcp add boot-doctor-mcp -- boot-doctor-mcp

Or run directly for local testing:

python -m boot_doctor_mcp.server

Skill

A SKILL.md ships inside this same package — not a separate download — and teaches Claude when and how to use these tools correctly (e.g. never guessing a BIOS type, never stating a broken component as fact from symptoms alone). Install it into your project:

boot-doctor-mcp-install-skill

Run it from the project root you want the skill active in — it writes to .claude/skills/boot-doctor-mcp/SKILL.md relative to your current directory.

Development

pip install -e ".[dev]"
pytest

Metadata

Release files for boot-doctor-mcp 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for boot-doctor-mcp 0.1.1
File Size Uploaded
boot_doctor_mcp-0.1.1.tar.gz 12.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for boot-doctor-mcp 0.1.1
File Interpreter ABI Platform
boot_doctor_mcp-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 26.6 kB

Release files / boot_doctor_mcp-0.1.1.tar.gz

Download URL boot_doctor_mcp-0.1.1.tar.gz
Size 12.5 kB
Tags Source
SHA-256 checksum
How to use checksums
e5a620fef0411e533d1a7864d266a49fb8cea281672774b2765630c74a988974
BLAKE2b-256 checksum
How to use checksums
eaa803da34e2e3a20a12b9359152e96cb1c39afdbf866ee083d0e4149726e4b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.9

Release files / boot_doctor_mcp-0.1.1-py3-none-any.whl

Download URL boot_doctor_mcp-0.1.1-py3-none-any.whl
Size 14.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
74c38e85de3be57c1f5f9aa63fe7a4cdada1322d04dbe8fd218e2b89d7053a9f
BLAKE2b-256 checksum
How to use checksums
04a2a3b8e1bed7bb5f573f5a9e7981948d7ea7a046b02cca418695766ccff2f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.9

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page