Model Context Protocol
Der MCP-Server
agentee mcp bedient ein Projekt über stdio mit 30 Tools. Der Agent schreibt weiterhin TOML mit seinen eigenen Datei-Tools; der Server prüft, rendert, routet, simuliert und schreibt das Fertigungsdatenpaket und gibt gerenderte PNGs direkt in das Gespräch zurück.
Zu deinem Client hinzufügen
Claude Code
eine Shell im Projekt
claude mcp add agentee -- agentee mcp "$PWD"Codex
~/.codex/config.toml
[mcp_servers.agentee] command = "agentee" args = ["mcp", "/path/to/project"]Cursor, Claude Desktop und die meisten anderen Clients
.cursor/mcp.json, claude_desktop_config.json oder die eigene Datei des Clients
{ "mcpServers": { "agentee": { "command": "agentee", "args": ["mcp", "/path/to/project"] } } }
Der Pfad ist das Projektverzeichnis, das die TOML-Dateien enthält. Kombiniere den Server mit dem Skill, der dem Agenten sagt, wann er jedes Tool aufruft und in welcher Reihenfolge.
Tools
Projekt lesen
format_referenceDie Dateiformat-Referenz für Platinen, Symbole und Footprints, mit Beispielen. Lies dies, bevor du Dateien schreibst.
list_itemsJede Platine, jedes Symbol und jeder Footprint im Projekt mit seinen Datein und Fehlerzählungen.
show_itemDas aufgelöste Modell eines Eintrags als JSON: Pins mit Positionen, expandierte Pad-Arrays, Lagenaufbau mit berechneter Leiterbahngeometrie, Impedanz und Stromanalyse.
namecheckLade das Projekt und melde Fehler und Warnungen für jeden Eintrag oder für einen einzelnen Eintrag.
include_infoitemdrcDesign-Regel-Prüfungen eines Layouts. Mit list = true: jede DRC-Regel mit ihrer ID, Kategorie, Schwere und ob sie auf diese Platine zutrifft und warum. Ohne: die Diagnosen des Layouts, die eine Regel-ID tragen. Regel-IDs kommen in die [drc]-Deaktivierungsliste oder die Schwere-Tabelle der Platine.
listnamerender_itemRendere einen Eintrag als PNG, genau so wie der Viewer ihn anzeigt, und gib das Bild zurück.
canvas_onlyheighthidden_pinshidenameregionsave_toshowunitwidthstackupsLagenaufbau-Voreinstellungen für die `stackup.preset` einer Platine: JLCPCB- und PCBWay-Aufbauten sowie generische HDI-Aufbauten mit Schichtdicken und er. Filtere die Liste oder gib name an, um die Schichten einer Voreinstellung zu erhalten.
fablayersnamesearchthickness
Bauteile
kicad_searchDurchsuche die installierten KiCad-Bibliotheken nach Namen. Jedes Wort muss Library:Name entsprechen.
kindlimitqueryimport_kicad_symbolWandle ein KiCad-Symbol (Library:Name) in eine .sym.toml im Projekt um. with_footprint importiert auch den Standard-Footprint, oder gib footprint an, um einen auszuwählen.
dirfootprintforcespecwith_footprintimport_kicad_footprintWandle einen KiCad-Footprint (Library:Name) in eine .fp.toml im Projekt um.
dirforcespecnew_itemSchreibe eine Startdatei für eine Platine, ein Symbol, einen Footprint, einen Schaltplan, ein Layout oder eine Simulation, die du bearbeiten kannst. Eine Simulation startet als FDTD-Lauf eines Layouts oder mit sim_kind logic als Logiksimulation eines Schaltplans (Takt, Reset, eine getaktete Assertion), deren Netze du umbenennst.
dirkindnamesim_kindmodelsFinde die 3D-Modelle (STEP oder VRML), die die Footprints des Projekts benennen, und lade fehlende KiCad-Bibliotheksmodelle in den Cache. Meldet für jedes Modell den Pfad und die Dreieckszahl oder warum es fehlt.
Leiterbahnen
impedanceBerechne die Impedanz einer Leiterbahn auf einer Platinenlage für eine Breite (und Paarabstand) oder die Breite, die ein Ziel trifft.
boardcoplanar_gapgaplayertargetwidthfield_solveLöse einen Leiterbahnquerschnitt mit dem GPU-Feldlöser: Impedanz, effektive Permittivität, C und L pro Meter, Laufzeit. Enthält Lötstoppmaske, Dicke, koplanare Masse und Differentialpaare. Innerhalb von 0,5 % exakter Referenzen bei fine = true.
boardcoplanar_gapfinegaplayernetclassno_masksweepwidthtrace_widthMinimale Leiterbahnbreite für einen Strom (IPC-2221).
coppercurrentinternaltemp_riseserpentinePunkte für eine Leiterbahn, die ein gerades Segment ersetzt und eine gegebene Länge als Trompeten-Bögen auf eine Seite hinzufügt. Füge sie in die Punkte der Leiterbahn ein.
addamplitudefrompitchto
Layout
placePlatziere die Komponenten des Layouts automatisch als schnellen Start: Steckverbinder und Edge-Mount-Komponenten an den Platinenrändern (nie ein HF- und ein USB-Steckverbinder an einem Rand, es sei denn, es muss sein), Montagebohrungen und Fiducials in den Ecken, die größten Chips in der Nähe des Zentrums, die Entkopplungskondensatoren, der Oszillator und die Pull-ups jedes ICs gebündelt an den Pins, die sie versorgen, platziert nach gewichteter Drahtlänge, dann legalisiert auf einem 0,05-mm-Raster ohne Courtyard-Überlappungen und verfeinert durch simulated annealing. Schreibt at, rotation und side in [[footprints]] und aktualisiert die gespeicherten Füllungen. Komponenten mit locked = true bleiben an ihrem Platz.
dry_runkeep_placednamepartsseedsiderouteRoute das Ratsnest der benannten Netze eines Layouts automatisch auf einem Raster, wobei die Breite, der Abstand, die Schichten und das Via jeder Netzklasse beibehalten werden, und füge die Leiterbahnen und Vias der Layout-Datei hinzu. Vorhandenes Kupfer wird nie verschoben, außer reroute ist gesetzt.
bend_costdry_rungridlayersnamenetspairsrerouteviavia_costvia_in_padtieVerbinde jedes SMD-Pad eines Flächen-Netzes (ein Netz mit einem [[zones]]-Eintrag) mit der nächsten Flächenschicht über einen kurzen Stummel und ein Via neben dem Pad, weg vom Gehäuse der Komponente, und füge sie der Layout-Datei hinzu. Verwende dies für Masse- und Versorgungspads statt Leiterbahnen dazwischen zu routen; `route` mit einem Glob überspringt Flächen-Netze.
dry_runnamenetstuneGleichlängenabgleich eines Layouts: Meander das kurze Netz jedes Paares über seine Skew-Grenze und jedes Match-Gruppen-Mitglied, das unter seinem Ziel liegt, auf den längsten Segmenten, wo die Bögen jedes andere Netz frei lassen, und schreibe die Punkte zurück in die Leiterbahnen.
amplitudedry_runnamenetspitchneckVerjünge Leiterbahnenden, die in ein Pad einlaufen, das schmaler ist als die Leiterbahn, oder den Abstand in der Nähe des Pads verletzen: Das Ende wird zu einem separaten [[tracks]]-Eintrag mit expliziter Breite, dem kleinsten Wert aus der Netzklasse-Breite, der kleineren Pad-Seite und der größten Breite, die den Abstand hält, abgerundet auf 0,01 mm, nie unter min_track_width und nie länger als der Netzklasse-Verjüngung. taper verringert die Breite über eine kurze Kette von Segmenten. Gespeicherte Kupferflächenfüllungen werden aktualisiert.
dry_runnamenetstaperfillFülle die Kupferflächen eines Layouts und speichere das Kupfer am Ende der Datei, damit Ladevorgänge und der Viewer die Füllung überspringen, bis sich das Kupfer, die Abstände oder die Nachbarn der Fläche ändern.
namesilkVerschiebe jede Bestückungsdruck-Referenz, die die Prüfung markiert, an den freien Platz, den sie vorschlägt, wiederholt, bis die Beschriftungen sich einpendeln, und verstecke optional die, die keinen Platz haben. Schreibt label = { at, rotation } oder hide = true in die Footprints.
dry_runhidenametestpointsFüge ein Testpad zu jedem Netz hinzu, das Probe-Zugang benötigt und keines hat: eine TestPoint-Komponente (TestPoint_Pad_D1.0mm-Footprint, beide in das Projekt geschrieben, falls fehlend), verbunden mit dem Netz im Schaltplan-Blatt, das es auflistet, ein Footprint auf der Probe-Seite in freiem Raum in der Nähe des Netzkupfers und eine automatisch geroutete Leiterbahn und ein Via vom Netzkupfer. Netze standardmäßig auf die [test]-Netze des Layouts; Impedanz- und Paar-Netze werden übersprungen.
dry_runnamenetspitchsidelayoutFühre die Layout-Engine auf einem Layout aus: die konfigurierten [engine]-Phasen in der Reihenfolge, dann die Punktzahl pro Term mit den schlimmsten Übertretungen. Noch nicht implementierte Phasen werden als übersprungen aufgelistet.
dry_runfromnameonlyto
Simulation
run_simFühre eine Simulation (*.sim.toml) aus: ein FDTD-Lauf eines Layouts auf der GPU (Ports auf Pads, Lumped-Modelle für passive Komponenten, S-Parameter als JSON und Touchstone neben der Spezifikation gespeichert), eine andere Art (dc, thermal, cascade, channel, pdn) oder eine Logiksimulation der Schaltplan-Netlist (Stimuli, Assertions, Setup und Hold, ein VCD neben der Spezifikation). Rendere die Simulation anschließend, um den Plot oder die Wellenformen zu sehen.
namesparamAnalysiere eine fertige Simulation oder Kaskade: Passivität und Reziprozität, ein TDR eines Ports (Impedanz über die Zeit mit Gaußkante), Mixed-Mode Sdd/Scc/Scd für ein Paar, angegeben als IN+,IN-,OUT+,OUT-, und Störsignal FROM,TO im Frequenzbereich und als Sprungantwort.
namepairrisetdrxtalk
Ausgabe
fabSchreibe das Fertigerpaket für ein Layout in einen Ordner: RS-274X Gerber (X2) pro Kupfer-, Lötstoppmaske-, Lötlot-, Bestückungsdruck- und Kantenlage, Excellon-Bohrungen, ein Zip-Archiv davon zum Hochladen, BOM (generisch und JLCPCB), Pick-and-Place, Fertigerhinweise und Montagezeichnungen. Verweigert, solange das Layout Fehler hat.
nameoutexportSchreibe ein Layout als eine STEP-Versammlung für Gehäuse-CAD: die Platine als Festkörper mit ihren gebohrten Löchern und Ausschnitten, das STEP-Modell jedes Bauteils eingebettet und platziert, sowie VRML, generierte und fehlende Modelle als Flächen oder Boxen. Platinenunterseite bei z = 0, X und Y wie im Layout mit Y nach oben.
nameoutpartsBewerte die BOM eines Layouts oder Schaltplans bei Mouser und Farnell und finde günstigere Äquivalente: denselben Bauteil beim anderen Distributor, Widerstände und Keramikkondensatoren mit gleichem Wert, Gehäuse, Toleranz, Spannung und Dielektrikum (nie ein Downgrade), generische diskrete Bauteile (2N7002, S1D, SS14, SMAJ..) nach Name und Gehäuse, Anzeigedioden nach Farbe und Gehäuse, und den vom Distributor vorgeschlagenen Ersatz für Bauteile, die auslaufen. Kosten gelten für die benötigte Stückzahl, mit Kauf bis zum Preisstufenbruch, wenn das günstiger ist. Schlüssel kommen aus ~/.config/agentee/distributors.toml ([mouser] api_key, [farnell] api_key und store).
alternativesboardsdistributorsfarnell_storenamerefs