schematic-mcp
schematic-mcp
Hardware-Schaltplankontext für KI-Agenten über MCP.
schematic-mcp ermöglicht es MCP-kompatiblen Agenten, Hardware-Schaltpläne als strukturierte elektrische Daten zu untersuchen, anstatt sie als Screenshots oder lange Textblöcke zu behandeln.
Status: V0.1 / Alpha. Der erste Adapter zielt auf moderne KiCad-
.kicad_sch-Dateien ab.
Warum es das gibt
Ein KI-Codieragent, der Firmware schreibt, benötigt oft Antworten wie:
Welcher ESP32-Pin ist mit
SENSOR_OUTverbunden?Was ist mit
U4.GPIO12verbunden?Welche Geräte teilen sich dieses I2C-Netz?
Was sind alle Pins und aufgelösten Netze auf dem MCU?
Stimmt die vom Firmware angenommene GPIO-Zuordnung tatsächlich mit dem Schaltplan überein?
Der Server parst die EDA-Datei deterministisch, erstellt ein kanonisches Komponenten-/Pin-/Netzmodell und stellt dieses Modell über MCP-Tools und -Ressourcen bereit.
Das Designprinzip ist konservativ: Wenn die Konnektivität nicht sicher aufgelöst werden kann, wird eine Warnung ausgegeben, anstatt eine elektrische Verbindung zu erfinden.
Designfokus
schematic-mcp ist bewusst eine dateigetriebene Hardware-Kontextschicht, kein Allzweck-EDA-GUI-Automatisierungsserver. Normale KiCad-Lese-/Abfrage-Workflows erfordern keine laufende KiCad-Anwendung. EDA-spezifische Adapter erzeugen einen kanonischen elektrischen Graphen, während der agentenorientierte MCP-Vertrag formatneutral bleibt.
Das macht das Projekt komplementär zur Editor-/IPC-Automatisierung: Editor-Tools sind wertvoll für interaktive Designänderungen, während sich schematic-mcp auf deterministische Hardware-Fakten konzentriert, die Codieragenten, CI-Systeme und zukünftige Cross-EDA-Adapter konsumieren können. Firmware-↔-Schaltplan-Verifikation ist ein erster konkreter Anwendungsfall.
Siehe docs/project-positioning.md für die Projektgrenzen und die Ökosystem-These.
Related MCP server: mcp-kicad-sch-api
V0.1-Funktionen
Moderne KiCad-
.kicad_sch-S-Expressionsdateien parsenKomponenten, Referenzen, Werte und Bibliotheks-IDs lesen
Bibliotheks-Pin-Geometrie in Schaltplan-Koordinaten auflösen
Pins nach der aktiven KiCad-Einheit für Symbole mit mehreren Einheiten auswählen
Konnektivität aus Drähten, Beschriftungen und Verbindungspunkten aufbauen
Benannte und anonyme Netze auflösen
Eine Komponente oder einen Pin untersuchen
Einen Pin zu allen Endpunkten im selben elektrischen Netz verfolgen
Kompakte MCU-Pin-Zuordnungen erzeugen
Firmware-Pin-Erwartungen mit Schaltplan-Netzen nach physischer Pin-Nummer oder symbolischem Pin-Namen vergleichen
Das aktuelle kanonische Modell als MCP-Ressourcen bereitstellen
Dateisystemzugriff mit
SCHEMATIC_MCP_ROOToder--rooteinschränkenLokal über stdio oder Streamable HTTP ausführen
Automatisierte Parser-, Graph- und Dateisystemgrenzen-Tests in GitHub Actions
MCP-Tools
Tool | Zweck |
| Eine |
| Anzahl, Format-Informationen und Parser-Warnungen zurückgeben |
| Komponenten durchsuchen |
| Komponenteneigenschaften und Pins zurückgeben |
| Einen Pin und sein Netz zurückgeben |
| Aufgelöste Netze durchsuchen |
| Beschriftungen und Endpunkte eines Netzes zurückgeben |
| Einen Pin über sein elektrisches Netz verfolgen |
| Eine kompakte Pin-zu-Netz-Zuordnung zurückgeben |
| Firmware-Pin-Erwartungen mit aufgelösten Schaltplan-Netzen vergleichen |
Ressourcen:
schematic://current/summaryschematic://current/model
Installation von GitHub
Python 3.10+ ist erforderlich. Bis zur ersten Paket-Registry-Veröffentlichung kann der aktuelle main-Zweig direkt von GitHub installiert werden:
python -m pip install "git+https://github.com/vonpanda/schematic-mcp.git"
schematic-mcp --helpFür reproduzierbare Produktionsnutzung sollte ein Release-Tag oder Commit gepinnt werden, anstatt einem ungepinnten Entwicklungszweig zu folgen. Die erste verpackte Veröffentlichung wird in Issue #8 verfolgt.
Installation für die Entwicklung
git clone https://github.com/vonpanda/schematic-mcp.git
cd schematic-mcp
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
pytestDas Projekt verwendet die stabile v2-Linie des offiziellen MCP-Python-SDKs.
Ausführen
Lokales stdio
schematic-mcpoder:
python -m schematic_mcpSie können lesbare Dateien einschränken, ohne eine Umgebungsvariable zu setzen:
schematic-mcp --root /absolute/path/to/your/hardware-projectsDas enthaltene Beispiel ausprobieren
Das Repository enthält einen kleinen synthetischen KiCad-Schaltplan, der für Demos und Tests sicher ist:
schematic-mcp --root "$PWD/examples"Dann kann ein MCP-kompatibler Client aufrufen:
open_schematic("minimal.kicad_sch")
schematic_summary()
list_components()
trace_signal("U1", "1")Das Beispiel sollte U1.1 auf SENSOR_OUT auflösen und U2.1 als weiteren Endpunkt zeigen. Siehe examples/README.md.
Firmware-↔-Schaltplan-Validierungsdemo
Ein zweites synthetisches Beispiel demonstriert einen Hardwarefehler, den ein Codieragent allein aus dem Quellcode nicht sicher erkennen kann. Die Firmware vertauscht absichtlich die GPIO-Zuweisungen von SENSOR_INT und LED_STATUS, während der Schaltplan die korrekte elektrische Zuordnung beibehält.
Führen Sie die deterministische lokale Demo aus:
python examples/demo_firmware_validation.pySie extrahiert den einfachen GPIO-Vertrag aus examples/firmware_with_pin_bug.c, parst examples/esp32_firmware_validation.kicad_sch und meldet zwei Übereinstimmungen und zwei Abweichungen.
Über MCP ist derselbe Vergleich:
open_schematic("esp32_firmware_validation.kicad_sch")
validate_pinmap(
"U1",
{
"GPIO8": "I2C_SDA",
"GPIO9": "I2C_SCL",
"GPIO12": "LED_STATUS",
"GPIO13": "SENSOR_INT"
}
)Siehe docs/firmware-validation-demo.md für den vollständigen Agenten-Workflow und das erwartete Ergebnis.
Streamable HTTP
schematic-mcp --transport streamable-http --host 127.0.0.1 --port 8000Der MCP-Endpunkt ist unter http://127.0.0.1:8000/mcp verfügbar. Der Standard-Host ist nur auf Loopback beschränkt; setzen Sie einen nicht authentifizierten Entwicklungsserver nicht direkt dem öffentlichen Internet aus.
Für den MCP Inspector:
mcp dev src/schematic_mcp/server.pyBeispiel-MCP-Clientkonfiguration
{
"mcpServers": {
"schematic": {
"command": "uv",
"args": ["--directory", "/absolute/path/to/schematic-mcp", "run", "schematic-mcp"],
"env": {"SCHEMATIC_MCP_ROOT": "/absolute/path/to/your/hardware-projects"}
}
}
}Dann kann ein Agent aufrufen:
open_schematic("board/main.kicad_sch")
get_component("U4")
get_mcu_pinmap("U4")
trace_signal("U4", "12")Dateisystemsicherheit
Standardmäßig kann ein lokaler Server Pfade öffnen, die für seinen Prozess zugänglich sind. Für Agenten, denen Sie nicht vollständig vertrauen, setzen Sie SCHEMATIC_MCP_ROOT oder übergeben Sie --root an ein erlaubtes Projektverzeichnis. Versuche, Dateien außerhalb davon zu öffnen, werden abgelehnt, einschließlich Pfade, die außerhalb des erlaubten Stammverzeichnisses aufgelöst werden.
Siehe SECURITY.md für Schwachstellenmeldung und Bereitstellungsrichtlinien.
Aktuelle Einschränkungen
V0.1 ist bewusst klein. Hierarchische Unterseiten werden erkannt, aber noch nicht rekursiv zu einem blattübergreifenden Graphen zusammengeführt. Ungewöhnliche Multi-Unit-/Bibliothekskonstrukte und Drittanbieter-KiCad-Exporte benötigen noch breitere Kompatibilitäts-Fixtures. Bus-Semantik wird noch nicht rekonstruiert. PDF, Altium und EasyEDA sind noch nicht implementiert.
trace_signal folgt nur aufgelöster Netz-Konnektivität; es nimmt nicht an, dass separate Pins innerhalb eines ICs elektrisch verbunden sind. validate_pinmap vergleicht eine explizite erwartete Zuordnung; automatische Extraktion aus beliebigen Firmware-Frameworks ist noch nicht Teil des Kernparsers.
Roadmap
V0.2 — Hierarchischer KiCad-Projektgraph und reichere Bus-/Netz-Semantik
V0.3 — PDF-/Vektor-Schaltplanadapter mit Konfidenzmetadaten
V0.4 — Altium- und EasyEDA-Adapter
V0.5 — Datenblatt-Kontext und elektrische Regelbegründung
V0.6 — Framework-spezifische Firmware-Extraktion (ESP-IDF/Arduino/Zephyr) und CI-Pin-Vertragsprüfungen
Später — PCB, BOM, Gerber und Fertigungskontext
Das langfristige Ziel ist ein herstellerneutraler Hardware-Kontextserver für KI-Agenten.
Mitwirken
Hardware-Ingenieure, Embedded-Entwickler und EDA-Nutzer können am meisten helfen, indem sie minimale Kompatibilitäts-Fixtures, Parser-Edge-Cases, Tests und reale Agenten-Workflows beitragen.
Beginnen Sie mit CONTRIBUTING.md. Codieragenten und Maintainer sollten auch AGENTS.md lesen, um Architektur-Invarianten, Sicherheitsbeschränkungen und den erwarteten Entwicklungszyklus zu verstehen. Bitte tragen Sie niemals proprietäre Kundenschaltpläne bei, es sei denn, Sie haben die ausdrückliche Erlaubnis, sie zu veröffentlichen.
Nützliche Maintainer-/Projektdokumente:
AGENTS.md— Regeln für Codieragenten und Maintainerdocs/project-positioning.md— Projektgrenzen und Ökosystemwertdocs/architecture.md— Parser-/Modell-/MCP-Architekturdocs/firmware-validation-demo.md— Firmware-↔-Schaltplan-Abweichungsdemoexamples/README.md— ausführbare synthetische FixturesCHANGELOG.md— VersionshistorieSECURITY.md— Sicherheitsrichtliniedocs/oss-readiness.md— Checkliste für öffentliche Adoption und OSS-Programme
Lizenz und Namensnennung
Lizenziert unter der Apache License 2.0. Kommerzielle Nutzung, Modifikation und Weiterverbreitung sind unter den Lizenzbedingungen erlaubt. Weiterverbreitungen müssen anwendbare Urheberrechts-, Lizenz- und NOTICE-Informationen gemäß Apache-2.0 bewahren.
Ursprünglich entwickelt unter SYANKOR.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceThis MCP server enables AI agents to understand and analyze electrical schematics from Cadence and Altium for comprehensive design reviews through natural conversations.59631Apache 2.0
- AlicenseNot gradedqualityDmaintenanceMCP server for creating, modifying, and analyzing KiCAD schematic files using natural language.20MIT
- AlicenseBqualityAmaintenanceAn MCP server that enables AI assistants to analyze schematics, inspect PCBs, trace connections, validate designs, and generate embedded code for KiCad projects.3979MIT
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server that exposes KiCad PCB design automation tools to AI assistants and other MCP clients.
Related MCP Connectors
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Cross-vendor AI memory over MCP. One semantic store, readable and writeable from every MCP client.
Your memory, everywhere AI goes. Build knowledge once, access it via MCP anywhere.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/vonpanda/schematic-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server