Model Context Protocol
Il server MCP
agentee mcp serve un progetto tramite stdio con 30 strumenti. L'agente scrive ancora TOML con i propri strumenti di file; il server verifica, renderizza, instrada, simula e scrive il pacchetto per il produttore, e restituisce i PNG renderizzati direttamente nella conversazione.
Aggiungilo al tuo client
Claude Code
una shell nel progetto
claude mcp add agentee -- agentee mcp "$PWD"Codex
~/.codex/config.toml
[mcp_servers.agentee] command = "agentee" args = ["mcp", "/path/to/project"]Cursor, Claude Desktop e la maggior parte degli altri client
.cursor/mcp.json, claude_desktop_config.json o il file proprio del client
{ "mcpServers": { "agentee": { "command": "agentee", "args": ["mcp", "/path/to/project"] } } }
Il percorso è la directory del progetto, quella che contiene i file TOML. Abbina il server con la skill, che dice all'agente quando chiamare ogni tool e in che ordine.
Strumenti
Lettura del progetto
format_referenceIl riferimento del formato file per schede, simboli e footprint, con esempi. Leggi questo prima di scrivere file.
list_itemsOgni scheda, simbolo e footprint nel progetto con il suo file e i conteggi di errori.
show_itemIl modello risolto di un elemento in JSON: pin con posizioni, array di piazzole espansi, stackup con geometria delle piste calcolata, impedenza e analisi della corrente.
namecheckCarica il progetto e riporta errori e avvisi per ogni elemento, o per un singolo elemento.
include_infoitemdrcVerifiche delle regole di progettazione di un layout. Con list = true: ogni regola DRC con il suo id, categoria, gravità e se si applica a questa scheda e perché. Senza: le diagnostiche del layout che portano un id di regola. Gli id delle regole vanno nella lista di disattivazione [drc] o nella tabella di gravità della scheda.
listnamerender_itemRende un elemento in PNG esattamente come lo mostra il visualizzatore e restituisce l'immagine.
canvas_onlyheighthidden_pinshidenameregionsave_toshowunitwidthstackupsPreset di stackup per lo `stackup.preset` di una scheda: configurazioni JLCPCB e PCBWay e configurazioni HDI generiche con spessori dei layer e er. Filtra l'elenco, o fornisci name per ottenere i layer di un preset.
fablayersnamesearchthickness
Componenti
kicad_searchCerca nelle librerie KiCad installate per nome. Ogni parola deve corrispondere a Library:Name.
kindlimitqueryimport_kicad_symbolConverte un simbolo KiCad (Library:Name) in un .sym.toml nel progetto. with_footprint importa anche il suo footprint predefinito, o fornisci footprint per sceglierne uno.
dirfootprintforcespecwith_footprintimport_kicad_footprintConverte un footprint KiCad (Library:Name) in un .fp.toml nel progetto.
dirforcespecnew_itemScrivi un file di partenza per una scheda, un simbolo, un footprint, uno schema, un layout o una simulazione, da cui modificare. Una simulazione parte come una simulazione FDTD di un layout, o con sim_kind logic come una simulazione logica di uno schema (orologio, reset, un'assertion pilotata) le cui net puoi rinominare.
dirkindnamesim_kindmodelsTrova i modelli 3D (STEP o VRML) che i footprint del progetto indicano, scaricando i modelli mancanti delle librerie KiCad nella cache. Segnala il percorso e il numero di triangoli di ogni modello, oppure perché manca.
Piste
impedanceCalcola l'impedenza di una pista su un layer della scheda per una larghezza (e distanza di coppia), oppure la larghezza che raggiunge un valore target.
boardcoplanar_gapgaplayertargetwidthfield_solveRisolvi una sezione trasversale di una pista con il solver di campo GPU: impedenza, permittività effettiva, C e L per metro, ritardo. Include solder mask, spessore, masse coplanari e coppie differenziali. Entro lo 0,5% dai riferimenti esatti con fine = true.
boardcoplanar_gapfinegaplayernetclassno_masksweepwidthtrace_widthLarghezza minima di pista per una corrente (IPC-2221).
coppercurrentinternaltemp_riseserpentinePunti per una pista che sostituisce un segmento rettilineo e aggiunge una lunghezza data come gobbe trombone su un lato. Incollali nei punti della pista.
addamplitudefrompitchto
Layout
placePosiziona automaticamente i componenti del layout come avvio rapido: connettori e componenti a bordo sulla bordatura della scheda (mai un connettore RF e un connettore USB sullo stesso bordo a meno che non sia necessario), fori di montaggio e fiduciali negli angoli, i chip più grandi vicino al centro, i condensatori di disaccoppiamento, il cristallo e i pull-up di ogni IC raggruppati ai pin che servono, posizionati per lunghezza di filo ponderata, poi legalizzati su una griglia di 0,05 mm senza sovrapposizioni di courtyard e rifiniti con simulated annealing. Scrive at, rotation e side in [[footprints]] e aggiorna i riempimenti salvati. I componenti con locked = true restano fermi.
dry_runkeep_placednamepartsseedsiderouteInstrada automaticamente il ratsnest delle net nominate di un layout su una griglia, mantenendo la larghezza, il distacco, i layer e la via di ogni classe, e aggiunge le piste e le vie al file di layout. Il rame esistente non viene mai spostato a meno che reroute non sia impostato.
bend_costdry_rungridlayersnamenetspairsrerouteviavia_costvia_in_padtieCollega ogni piazzola SMD di una net di piano (una net con un'entry [[zones]]) al layer di piano più vicino con uno stub corto e una via accanto alla piazzola, lontano dal corpo del componente, e aggiungili al file di layout. Usa questo per le piazzole di massa e alimentazione invece di instradare piste tra di esse; `route` con un glob salta le net di piano.
dry_runnamenetstuneAbbina la lunghezza di un layout: meandra la net corta di ogni coppia oltre il suo limite di skew e ogni membro del gruppo di abbinamento corto rispetto al suo target, sui segmenti più lunghi dove le gobbe lasciano spazio a ogni altra net, e scrive i punti di nuovo nelle piste.
amplitudedry_runnamenetspitchneckRiduce le estremità delle piste che entrano in una piazzola più stretta della pista o che violano il distacco vicino alla piazzola: l'estremità diventa un'entry [[tracks]] separata con una larghezza esplicita, la più piccola tra la larghezza della classe, il lato più corto della piazzola e la più larga che mantiene il distacco, arrotondata per difetto a 0,01 mm, mai sotto min_track_width e mai più lunga del neckdown della classe. taper riduce la larghezza su una corta catena di segmenti. I riempimenti di area salvati vengono aggiornati.
dry_runnamenetstaperfillRiempe le aree di un layout e salva il rame alla fine del suo file, in modo che i caricamenti e il visualizzatore saltino il riempimento finché il rame, i distacchi o i vicini dell'area non cambiano.
namesilkSposta ogni riferimento serigrafico che la verifica segnala nel punto libero che suggerisce, ripetendo finché le etichette non si stabilizzano, e opzionalmente nasconde quelle che non hanno spazio. Scrive label = { at, rotation } o hide = true nei footprint.
dry_runhidenametestpointsAggiunge una piazzola di test a ogni net che ha bisogno di accesso alla sonda e non ne ha: un componente TestPoint (footprint TestPoint_Pad_D1.0mm, entrambi scritti nel progetto se mancanti) collegato alla net nella foglio di schema che la elenca, un footprint sul lato della sonda in spazio libero vicino al rame della net, e una pista e una via instradate automaticamente dal rame della net. Le net predefinite sono le [test] nets del layout; le net di impedenza e di coppia sono saltate.
dry_runnamenetspitchsidelayoutEsegue il motore di layout su un layout: le fasi [engine] configurate in ordine, poi il punteggio per termine con i peggiori trasgressori di ciascuno. Le fasi non ancora implementate sono elencate come saltate.
dry_runfromnameonlyto
Simulazione
run_simEsegue una simulazione (*.sim.toml): una simulazione FDTD di un layout sulla GPU (porti sulle piazzole, modelli lumped per i passivi, parametri S salvati come JSON e Touchstone accanto alla specifica), un altro tipo (dc, termico, cascata, canale, pdn), o una simulazione logica della lista di net dello schema (stimoli, assertion, setup e hold, un VCD accanto alla specifica). Rendi la simulazione dopo per vedere il grafico o le forme d'onda.
namesparamAnalizza una simulazione o un cascade completi: passività e reciprocità, TDR di un singolo net (impedenza in funzione del tempo con fronte gaussiano), S-parameters in modalità mista Sdd/Scc/Scd per una coppia specificata come IN+,IN-,OUT+,OUT-, e crosstalk FROM,TO in frequenza e come risposta al gradino.
namepairrisetdrxtalk
Output
fabScrivi il pacchetto di produzione per un layout in una cartella: Gerber RS-274X (X2) per ogni layer di rame, solder mask, pasta, serigrafia e bordo, forature Excellon, un zip di questi file per il caricamento, BOM (generica e JLCPCB), pick-and-place, note di produzione e disegni di assemblaggio. Rifiuta se il layout ha errori.
nameoutexportScrivi un layout come un singolo assemblaggio STEP per la CAD dell'involucro: la scheda come solido con i suoi fori e le sue incisioni, il modello STEP di ogni componente incorporato e posizionato, e i modelli VRML, generati e mancanti come superfici o box. Fondo della scheda a z = 0, X e Y come nel layout con Y verso l'alto.
nameoutpartsCalcola il costo della BOM di un layout o di uno schema presso Mouser e Farnell e trova equivalenti più economici: lo stesso componente presso l'altro distributore, resistori e condensatori ceramici con stesso valore, footprint, tolleranza, tensione e dielettrico (mai un downgrade), componenti discreti generici (2N7002, S1D, SS14, SMAJ..) per nome e footprint, LED indicatori per colore e footprint, e la sostituzione suggerita dal distributore per i componenti in fase di obsolescenza. I costi sono alla quantità necessaria, acquistando fino a una soglia di prezzo se risulta più economico. Le chiavi provengono da ~/.config/agentee/distributors.toml ([mouser] api_key, [farnell] api_key e store).
alternativesboardsdistributorsfarnell_storenamerefs