Model Context Protocol
Le serveur MCP
agentee mcp sert un projet via stdio avec 30 outils. L'agent écrit toujours du TOML avec ses propres outils de fichiers ; le serveur vérifie, rend, route, simule et écrit le paquet de fabrication, et renvoie directement les PNG rendus dans la conversation.
L'ajouter à votre client
Claude Code
un shell dans le projet
claude mcp add agentee -- agentee mcp "$PWD"Codex
~/.codex/config.toml
[mcp_servers.agentee] command = "agentee" args = ["mcp", "/path/to/project"]Cursor, Claude Desktop et la plupart des autres clients
.cursor/mcp.json, claude_desktop_config.json ou le fichier propre au client
{ "mcpServers": { "agentee": { "command": "agentee", "args": ["mcp", "/path/to/project"] } } }
Le chemin est le répertoire du projet, celui qui contient les fichiers TOML. Associez le serveur à la skill, qui indique à l'agent quand appeler chaque outil et dans quel ordre.
Outils
Lire le projet
format_referenceLa référence de format de fichier pour les cartes, symboles et empreintes, avec des exemples. Lisez ceci avant d'écrire des fichiers.
list_itemsChaque carte, symbole et empreinte du projet avec ses fichiers et ses compteurs d'erreurs.
show_itemLe modèle résolu d'un élément en JSON : broches avec positions, tableaux de pastilles dépliés, empilement avec géométrie de piste calculée, impédance et analyse du courant.
namecheckCharge le projet et signale les erreurs et avertissements pour chaque élément, ou pour un seul élément.
include_infoitemdrcVérifications des règles de conception d'un routage. Avec list = true : chaque règle DRC avec son identifiant, sa catégorie, sa gravité, et si elle s'applique à cette carte et pourquoi. Sinon : les diagnostics du routage qui portent un identifiant de règle. Les identifiants de règle vont dans la liste [drc] disable ou le tableau de gravité de la carte.
listnamerender_itemRend un élément en PNG exactement comme le visualiseur l'affiche et renvoie l'image.
canvas_onlyheighthidden_pinshidenameregionsave_toshowunitwidthstackupsPréréglages d'empilement pour `stackup.preset` d'une carte : constructions JLCPCB et PCBWay et constructions HDI génériques avec épaisseurs de couches et er. Filtrez la liste, ou donnez name pour obtenir les couches d'un préréglage.
fablayersnamesearchthickness
Composants
kicad_searchRecherche dans les bibliothèques KiCad installées par nom. Chaque mot doit correspondre à Library:Name.
kindlimitqueryimport_kicad_symbolConvertit un symbole KiCad (Library:Name) en .sym.toml dans le projet. with_footprint importe aussi son empreinte par défaut, ou donnez footprint pour en choisir une.
dirfootprintforcespecwith_footprintimport_kicad_footprintConvertit une empreinte KiCad (Library:Name) en .fp.toml dans le projet.
dirforcespecnew_itemÉcrit un fichier de départ pour une carte, un symbole, une empreinte, un schéma, un routage ou une simulation, à modifier ensuite. Une simulation démarre comme une exécution FDTD d'un routage, ou avec sim_kind logic comme simulation logique d'un schéma (horloge, réinitialisation, une assertion horlogée) dont vous renommez les nets.
dirkindnamesim_kindmodelsTrouve les modèles 3D (STEP ou VRML) nommés par les empreintes du projet, en téléchargeant les modèles manquants des bibliothèques KiCad dans le cache. Signale le chemin et le nombre de triangles de chaque modèle, ou la raison de son absence.
Pistes
impedanceImpédance de piste sur une couche de carte pour une largeur (et un écart de paire), ou la largeur qui atteint une cible.
boardcoplanar_gapgaplayertargetwidthfield_solveRésout une section transversale de piste avec le solveur de champ GPU : impédance, permittivité effective, C et L par mètre, retard. Inclut le vernis épargne, l'épaisseur, les masses coplanaires et les paires différentielles. Dans les 0,5 % des références exactes avec fine = true.
boardcoplanar_gapfinegaplayernetclassno_masksweepwidthtrace_widthLargeur minimale de piste pour un courant (IPC-2221).
coppercurrentinternaltemp_riseserpentinePoints pour une piste qui remplace un segment droit et ajoute une longueur donnée en bosses de trombone d'un côté. Collez-les dans les points de la piste.
addamplitudefrompitchto
Routage
placePlace automatiquement les composants du routage comme démarrage rapide : connecteurs et composants à montage sur bord sur les bords de la carte (jamais un connecteur RF et un connecteur USB sur le même bord sauf si c'est nécessaire), trous de fixation et fiducials dans les coins, les plus grands puces près du centre, les condensateurs de découplage, le cristal et les résistances de rappel de chaque CI groupés aux broches qu'ils servent, placés par longueur de fil pondérée, puis legalisés sur une grille de 0,05 mm sans chevauchement de zones d'encombrement et affinés par recuit simulé. Écrit at, rotation et side dans [[footprints]] et rafraîchit les remplissages stockés. Les composants avec locked = true restent en place.
dry_runkeep_placednamepartsseedsiderouteRoute automatiquement le chevelu des nets nommés d'un routage sur une grille, en conservant la largeur, l'espacement, les couches et le via de chaque classe, et ajoute les pistes et vias au fichier de routage. Le cuivre existant n'est jamais déplacé sauf si reroute est défini.
bend_costdry_rungridlayersnamenetspairsrerouteviavia_costvia_in_padtieRelie chaque pastille SMD d'un net de plan (un net avec une entrée [[zones]]) à la couche de plan la plus proche avec un court stub et un via à côté de la pastille, loin du corps du composant, et les ajoute au fichier de routage. Utilisez ceci pour les pastilles de masse et d'alimentation au lieu de router des pistes entre elles ; `route` avec un glob ignore les nets de plan.
dry_runnamenetstuneÉgalise les longueurs d'un routage : méandre le net court de chaque paire au-delà de sa limite de skew et chaque membre de groupe d'égalisation court par rapport à sa cible, sur les segments les plus longs où les bosses respectent l'espacement de tous les autres nets, et réécrit les points dans les pistes.
amplitudedry_runnamenetspitchneckRéduit les extrémités de pistes qui entrent dans une pastille plus étroite que la piste ou qui violent l'espacement près de la pastille : l'extrémité devient une entrée [[tracks]] séparée avec une largeur explicite, la plus petite de la largeur de classe, du côté le plus petit de la pastille et de la plus large qui maintient l'espacement, arrondie vers le bas à 0,01 mm, jamais sous min_track_width et jamais plus longue que le neckdown de la classe. taper réduit la largeur sur une courte chaîne de segments. Les remplissages de zones stockés sont rafraîchis.
dry_runnamenetstaperfillRemplit les zones d'un routage et stocke le cuivre à la fin de son fichier, pour que les chargements et le visualiseur ignorent le remplissage tant que le cuivre, les espacements ou les voisins de la zone ne changent pas.
namesilkDéplace chaque référence de sérigraphie que la vérification signale vers l'endroit libre qu'elle suggère, en répétant jusqu'à ce que les étiquettes se stabilisent, et masque optionnellement celles qui n'ont nulle part où aller. Écrit label = { at, rotation } ou hide = true dans les empreintes.
dry_runhidenametestpointsAjoute une pastille de test à chaque net qui a besoin d'accès à la sonde et n'en a pas : un composant TestPoint (empreinte TestPoint_Pad_D1.0mm, les deux écrits dans le projet s'ils manquent) relié au net dans la feuille de schéma qui le liste, une empreinte sur le côté de la sonde dans un espace libre près du cuivre du net, et une piste et un via routés automatiquement depuis le cuivre du net. Les nets par défaut sont les nets [test] du routage ; les nets d'impédance et de paire sont ignorés.
dry_runnamenetspitchsidelayoutExécute le moteur de routage sur un routage : les phases [engine] configurées dans l'ordre, puis le score par terme avec les pires contrevenants de chacun. Les phases non encore implémentées sont listées comme ignorées.
dry_runfromnameonlyto
Simulation
run_simExécute une simulation (*.sim.toml) : une exécution FDTD d'un routage sur le GPU (ports sur pastilles, modèles localisés pour les passifs, paramètres S enregistrés en JSON et Touchstone à côté de la spécification), un autre type (dc, thermique, enchaînement, canal, pdn), ou une simulation logique de la liste de connexions du schéma (stimulation, assertions, setup et hold, un VCD à côté de la spécification). Rendez la simulation ensuite pour voir le tracé ou les formes d'onde.
namesparamAnalyse une simulation ou une cascade terminée : passivité et réciprocité, TDR d'un port (impédance en fonction du temps avec une flèche gaussienne), modes mixtes Sdd/Scc/Scd pour une paire donnée sous la forme IN+,IN-,OUT+,OUT-, et diaphonie FROM,TO en fréquence et sous forme d'échelon.
namepairrisetdrxtalk
Sortie
fabÉcrit le paquet de fabrication d'un routage dans un dossier : Gerbers RS-274X (X2) par couche de cuivre, vernis épargne, pâte, sérigraphie et contour, perçages Excellon, une archive zip de ces fichiers pour le téléversement, la liste des composants (générique et JLCPCB), le fichier de positionnement, les notes de fabrication et les plans de montage. Refuse si le routage contient des erreurs.
nameoutexportÉcrit un routage sous forme d'un assemblage STEP unique pour la CAO d'enceinte : la carte en solide avec ses trous percés et découpes, le modèle STEP de chaque composant intégré et positionné, et les modèles VRML, générés et manquants en surfaces ou boîtes. Face inférieure de la carte à z = 0, X et Y comme dans le routage avec Y vers le haut.
nameoutpartsÉvalue le coût de la liste des composants d'un routage ou d'un schéma chez Mouser et Farnell et cherche des équivalents moins chers : le même composant chez l'autre distributeur, les résistances et condensateurs céramiques de même valeur, boîtier, tolérance, tension et diélectrique (jamais une dégradation), les composants discrets génériques (2N7002, S1D, SS14, SMAJ..) par nom et boîtier, les LED indicatrices par couleur et boîtier, et le remplacement suggéré par le distributeur pour les composants en voie d'obsolescence. Les coûts sont calculés pour la quantité nécessaire, en achetant jusqu'à une palier de prix si c'est moins cher. Les clés proviennent de ~/.config/agentee/distributors.toml ([mouser] api_key, [farnell] api_key et store).
alternativesboardsdistributorsfarnell_storenamerefs