boot-doctor-mcp
boot-doctor-mcp
Un servidor MCP real para solucionar problemas de PC que no arranca / sin imagen / sin POST. Nada de LLM adivinando causas de hardware — un motor de reglas determinista y sencillo, más tablas reales de códigos de pitido del BIOS con fuentes.
Por qué determinista y no un LLM
Nadie quiere que un modelo de lenguaje alucine «tu GPU está muerta» cuando no es así. El asesoramiento sobre hardware donde equivocarse cuesta dinero y tiempo reales merece un conjunto de reglas fijo y auditable, no una suposición que suene plausible. Cada respuesta que da esta herramienta se remonta a una fuente real o a una regla fija y comprobable — nunca a una explicación inventada.
Related MCP server: Talk to Your PC MCP Server
Herramientas
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)
Pasos reales y ordenados de solución de problemas, teniendo en cuenta lo que ya se ha probado — la misma secuencia de etapa de alimentación → reinicio de CMOS → prueba de configuración mínima → prueba de intercambio que ejecuta un técnico real, ordenada por lo que es más barato descartar primero. No es un diagnóstico de la pieza exacta averiada; una reparación real a menudo sigue necesitando una prueba de intercambio con piezas que se sabe que funcionan, y esta herramienta lo dice explícitamente en lugar de fingir que el simple emparejamiento de síntomas puede sustituirlo.
lookup_beep_code(bios_type, pattern)
Busca un patrón de pitidos (p. ej. "10 short", "1 long, 2 short", "continuous") en tablas reales de códigos de pitido del BIOS con fuentes.
bios_type es uno de:
ami_legacy— AMIBIOS clásicoami_aptio— AMI Aptio moderno (UEFI), mantenido separado a propósito: el AMIBIOS heredado y Aptio usan códigos genuinamente diferentes para los mismos conteos de pitidos, un error común en guías de solución de problemas para principiantes que los fusionan en una sola tablaaward_phoenix— BIOS Award/Phoenix
Devuelve información real, no una suposición fabricada, cuando el patrón exacto no está en la tabla — las placas modernas cada vez más no tienen altavoz en absoluto y usan LED de depuración en su lugar, por lo que «sin coincidencia» es en sí mismo un resultado real y honesto.
Fuentes
Datos de códigos de pitido obtenidos y contrastados en vivo (no de la memoria de datos de entrenamiento) de IONOS y Thomas-Krenn. Limitación real y declarada: los OEM (HP, Dell, ASUS, etc.) a veces personalizan o amplían estos códigos, y las placas modernas omiten cada vez más el altavoz en favor de los LED de depuración — que un patrón documentado no coincida aquí no significa necesariamente que no haya nada malo.
Instalación
pip install boot-doctor-mcpAñádelo a la configuración de tu cliente MCP (p. ej. Claude Code):
claude mcp add boot-doctor-mcp -- boot-doctor-mcpO ejecútalo directamente para pruebas locales:
python -m boot_doctor_mcp.serverDesarrollo
pip install -e ".[dev]"
pytestAvailable Tools
2 toolsdiagnose_symptomsA
Real, ranked next troubleshooting steps for a PC that won't boot or show any display, given what's already been tried. Not a diagnosis of the exact broken part — a real technician's standard sequence, ordered by what's cheapest/fastest to rule out first.
powers_on: does ANYTHING happen when you press the power button (any light, any fan movement, any sound) — false means dead/no-power, a completely different problem class than a POST failure. fans_spin: do the fans spin at all when powered on. fans_stay_running: do they keep spinning, or spin briefly then stop (the latter is a real, specific PSU/motherboard protection signal). display_output: is there ANY video signal reaching the monitor. tried_cmos_reset: already removed the CMOS battery / used the CLR_CMOS jumper. tried_minimal_config: already stripped to CPU + 1 RAM stick + no discrete GPU (or GPU alone) to isolate the cause. tried_different_cable_or_monitor: already confirmed the monitor and cable work on a different, known-good computer.
| Name | Required | Description | Default |
|---|---|---|---|
| fans_spin | No | ||
| powers_on | Yes | ||
| display_output | No | ||
| tried_cmos_reset | No | ||
| fans_stay_running | No | ||
| tried_minimal_config | No | ||
| tried_different_cable_or_monitor | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool outputs a ranked sequence based on cost/speed, not a definitive diagnosis. It also explains the semantic difference between 'fans spin briefly then stop' as a PSU/motherboard signal, adding useful behavioral context. It does not mention side effects, but the tool is likely read-only and non-destructive, which is not stated but also not contradicted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the main purpose in the first sentence, then provides parameter details in a readable, line-separated format. It is longer than ideal, but the length is justified by the need to explain 7 parameters. No redundant sentences; each piece adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema (not shown) so it needn't describe return values. Given the complexity (7 params, 1 required), the description covers the input semantics and the overall behavior (ranked steps by cost). It lacks an explicit note about when to use the sibling beep-code tool, but that is a minor gap. Overall, the description is sufficient for an agent to effectively invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must fully explain parameters. It does exactly that: each of the 7 parameters (powers_on, fans_spin, fans_stay_running, display_output, tried_cmos_reset, tried_minimal_config, tried_different_cable_or_monitor) is given a clear, meaningful explanation that goes beyond the schema titles. For example, it explains the difference between fans spinning and staying running, and what 'tried minimal config' means. This is exemplary compensation for missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: providing 'ranked next troubleshooting steps' for a PC that won't boot. It distinguishes itself from a diagnosis and from the sibling tool (lookup_beep_code) by focusing on a general sequence rather than beep codes. The verb 'diagnose' is accurate, and the resource (PC boot/display issues) is explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it: when a PC won't boot or show display, and what input is needed (what's been tried). It notes it's not a diagnosis, setting expectations, but does not explicitly state when to use the sibling tool (e.g., when beep codes are present). The context is clear enough for an agent to infer the appropriate scenario.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_beep_codeA
Looks up a beep pattern against real, sourced BIOS beep-code tables. bios_type must be one of: ami_legacy, ami_aptio, award_phoenix — ami_legacy and ami_aptio are genuinely different tables (legacy AMIBIOS vs. modern AMI Aptio/UEFI use different codes for the same beep counts), pick the wrong one and you'll get the wrong answer, so check which BIOS the actual board uses before trusting the result.
pattern: free text describing what you heard, e.g. "10 short", "1 long, 2 short", "continuous", "3 short, 3 long, 3 short".
Returns None-equivalent text (not a fabricated guess) when the exact pattern isn't in the real table this tool has data for — modern boards increasingly have no speaker at all and use debug LEDs instead, so no match is real information, not a tool failure.
| Name | Required | Description | Default |
|---|---|---|---|
| pattern | Yes | ||
| bios_type | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that it returns None when no match is found, explains the difference between BIOS types, and notes that modern boards may not have a speaker. Since no annotations are provided, the description carries the transparency burden and does so effectively.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is detailed yet efficient, with a clear structure: purpose, parameter constraints, pattern examples, and return behavior. It avoids unnecessary fluff while covering all essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists (though not shown), the description does not need to detail return values, but it still mentions the None case, which is useful. It also covers edge cases like modern boards without speakers, making the context complete enough for correct usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% coverage for parameter descriptions, but the description fully explains both parameters: pattern is free text with examples, and bios_type is constrained to three valid values. This fully compensates for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool looks up beep patterns against real BIOS beep-code tables. It specifies the resource (beep-code tables) and the action (lookup), and distinguishes itself from the sibling tool diagnose_symptoms by focusing on beep-code lookup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance on required inputs (bios_type must be one of the listed values, pattern format with examples) and warns about potential pitfalls (different tables for different BIOS types). It does not explicitly contrast with the sibling tool, but the usage is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
v0.1.0- First observed
diagnose_symptoms - First observed
lookup_beep_code
TDQS
Scored across 2 tools
The two tools serve completely different purposes: diagnose_symptoms walks through a troubleshooting decision tree, while lookup_beep_code is a reference lookup. There's zero overlap or ambiguity about which to call in any scenario.
Both tools follow the identical imperative verb_noun snake_case convention (diagnose_symptoms, lookup_beep_code). Perfect consistency, even if the sample size is small.
Two tools is on the thin side for a general-purpose troubleshooting server, but the scope here is deliberately narrow (diagnosis guidance + beep-code reference). It works, but feels minimal.
The core workflows (symptom-based guidance and beep-code lookup) are covered, but natural additions like a debug-LED/literal code reference, or a POST-code table, would round out the domain. Notable but not critical gaps.
Maintenance
Related MCP Connectors
Lints + auto-fixes how AI coding agents discover any new product. 24 rules, 6 tools, score 0-100.
Deterministic reasoning stack for AI agents: simulate, decide & compute, plus cross-domain tools.
Finds why Google and AI cannot read your site, gives the exact fix, applies it once you approve.
1Deterministic decision layer for autonomous agents: reproducible PROCEED/REVIEW/SKIP verdicts.
Related MCP Servers
- AlicenseAqualityNot gradedmaintenanceProvides comprehensive system diagnostics and hardware analysis through 10 specialized tools for troubleshooting and environment monitoring. Offers targeted information gathering for CPU, memory, network, storage, processes, and security analysis across Windows, macOS, and Linux platforms.10MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to diagnose, troubleshoot, and manage PC settings on Windows, macOS, and Linux through natural language commands.GPL 3.0
- FlicenseAqualityDmaintenanceEnables LLM-driven agents to autonomously detect, diagnose, repair, verify, and prevent software and hardware failures on local and remote systems. Includes built-in safety checks and automatic rollbacks.15-

Yamaru Hardware Probeofficial
AlicenseAqualityDmaintenanceExpert system hardware probe and performance diagnostic engine for AI, Gaming, and High-Performance workflows. Provides deep system insights such as real-time monitoring, thermal diagnostics, and LLM optimization.1131 npm7Apache 2.0