Model Context Protocol
O servidor MCP
agentee mcp serve um projeto através do stdio com 30 ferramentas. O agente continua a escrever TOML com as suas próprias ferramentas de ficheiros; o servidor verifica, renderiza, traça, simula e escreve o pacote do fabricante, e devolve as PNGs renderizadas diretamente para a conversa.
Adicioná-lo ao seu cliente
Claude Code
um shell no projeto
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 a maioria dos outros clientes
.cursor/mcp.json, claude_desktop_config.json ou o próprio ficheiro do cliente
{ "mcpServers": { "agentee": { "command": "agentee", "args": ["mcp", "/path/to/project"] } } }
O caminho é o diretório do projeto, aquele que contém os ficheiros TOML. Combine o servidor com a skill, que diz ao agente quando chamar cada ferramenta e em que ordem.
Ferramentas
Ler o projeto
format_referenceA referência de formato de ficheiros para placas, símbolos e footprints, com exemplos. Leia isto antes de escrever ficheiros.
list_itemsCada placa, símbolo e footprint no projeto com o seu ficheiro e contagens de erros.
show_itemO modelo resolvido de um item como JSON: pinos com posições, arrays de pads expandidos, stackup com geometria de pista calculada, análise de impedância e corrente.
namecheckCarrega o projeto e relata erros e avisos para cada item, ou para um item.
include_infoitemdrcVerificações de regras de design de um layout. Com list = true: cada regra DRC com o seu id, categoria, severidade, e se se aplica a esta placa e porquê. Sem isto: os diagnósticos do layout que transportam um id de regra. Os ids de regras vão para a lista de desativação [drc] ou para a tabela de severidade da placa.
listnamerender_itemRenderiza um item para PNG exatamente como o visualizador o mostra e devolve a imagem.
canvas_onlyheighthidden_pinshidenameregionsave_toshowunitwidthstackupsPredefinições de stackup para o `stackup.preset` de uma placa: construções JLCPCB e PCBWay e construções HDI genéricas com espessuras de camadas e er. Filtre a lista, ou forneça name para obter as camadas de uma predefinição.
fablayersnamesearchthickness
Componentes
kicad_searchPesquisa nas bibliotecas KiCad instaladas por nome. Cada palavra deve corresponder a Library:Name.
kindlimitqueryimport_kicad_symbolConverte um símbolo KiCad (Library:Name) num .sym.toml no projeto. with_footprint também importa o seu footprint predefinido, ou forneça footprint para escolher um.
dirfootprintforcespecwith_footprintimport_kicad_footprintConverte um footprint KiCad (Library:Name) num .fp.toml no projeto.
dirforcespecnew_itemEscreve um ficheiro inicial para uma placa, símbolo, footprint, esquema, layout ou simulação, para editar a partir dele. Uma simulação começa como uma execução FDTD de um layout, ou com sim_kind logic como uma simulação lógica de um esquema (relógio, reset, uma asserção com relógio) cujas redes renomeia.
dirkindnamesim_kindmodelsProcura os modelos 3D (STEP ou VRML) que os footprints do projeto referenciam, descarregando os modelos de bibliotecas KiCad em falta para a cache. Relata o caminho e o número de triângulos de cada modelo, ou a razão pela qual falta.
Pistas
impedanceImpedância de pista numa camada da placa para uma largura (e separação de par), ou a largura que atinge um alvo.
boardcoplanar_gapgaplayertargetwidthfield_solveResolve uma secção transversal de pista com o solver de campo da GPU: impedância, permissividade efetiva, C e L por metro, atraso. Inclui máscara de solda, espessura, terras coplanares e pares diferenciais. Dentro de 0,5% de referências exatas com fine = true.
boardcoplanar_gapfinegaplayernetclassno_masksweepwidthtrace_widthLargura mínima de pista para uma corrente (IPC-2221).
coppercurrentinternaltemp_riseserpentinePontos para uma pista que substitui um segmento reto e adiciona um comprimento dado como saliências trombone para um lado. Cole-os nos pontos da pista.
addamplitudefrompitchto
Layout
placeColoca as partes do layout automaticamente como início rápido: conectores e partes de montagem em borda nas bordas da placa (nunca um conector de RF e um conector USB na mesma borda a menos que seja necessário), furos de montagem e fiduciais nos cantos, os chips maiores perto do centro, os condensadores de desacoplamento de cada CI, o cristal e os pull-ups agrupados nos pinos que servem, colocados por comprimento de fio ponderado, depois legalizados numa grelha de 0,05 mm sem sobreposições de courtyard e refinados por recozimento simulado. Escreve at, rotation e side em [[footprints]] e atualiza os preenchimentos guardados. Partes com locked = true permanecem no lugar.
dry_runkeep_placednamepartsseedsiderouteEncaminha automaticamente o ratsnest das redes nomeadas de um layout numa grelha, mantendo a largura, o afastamento, as camadas e a via de cada classe, e acrescenta as pistas e vias ao ficheiro de layout. O cobre existente nunca é movido a menos que reroute esteja definido.
bend_costdry_rungridlayersnamenetspairsrerouteviavia_costvia_in_padtieLiga cada pad SMD de uma rede de plano (uma rede com uma entrada [[zones]]) à camada de plano mais próxima com um stub curto e uma via junto ao pad, afastada do corpo da parte, e acrescenta-os ao ficheiro de layout. Use isto para pads de massa e alimentação em vez de encaminhar pistas entre eles; `route` com um glob ignora redes de plano.
dry_runnamenetstuneIguala comprimentos num layout: serpenteia a rede curta de cada par acima do seu limite de skew e cada membro de grupo de igualação abaixo do seu alvo, nos segmentos mais longos onde as saliências ficam livres de qualquer outra rede, e escreve os pontos de volta nas pistas.
amplitudedry_runnamenetspitchneckReduz o diâmetro das extremidades de pistas que entram num pad mais estreito que a pista ou quebram o afastamento perto do pad: a extremidade torna-se uma entrada [[tracks]] separada com uma largura explícita, a menor da largura da classe, do lado menor do pad e da mais larga que mantém o afastamento, arredondada para baixo a 0,01 mm, nunca abaixo de min_track_width e nunca mais longa que o neckdown da classe. taper reduz a largura ao longo de uma cadeia curta de segmentos. Os preenchimentos de zonas guardados são atualizados.
dry_runnamenetstaperfillPreenche as zonas de um layout e guarda o cobre no fim do seu ficheiro, para que as cargas e o visualizador ignorem o preenchimento até que o cobre, os afastamentos ou os vizinhos da zona mudem.
namesilkMove cada referência de serigrafia que a verificação assinala para o ponto livre que sugere, repetindo até as etiquetas se assentarem, e opcionalmente oculta as que não têm onde ir. Escreve label = { at, rotation } ou hide = true nos footprints.
dry_runhidenametestpointsAdiciona um pad de teste a cada rede que precisa de acesso de sonda e não tem: uma parte TestPoint (footprint TestPoint_Pad_D1.0mm, ambos escritos no projeto se faltarem) ligada à rede na folha de esquema que a lista, um footprint no lado da sonda em espaço livre perto do cobre da rede, e uma pista e via encaminhadas automaticamente do cobre da rede. As redes predefinidas são as redes [test] do layout; redes de impedância e pares são ignoradas.
dry_runnamenetspitchsidelayoutExecuta o motor de layout num layout: as fases [engine] configuradas em ordem, seguida da pontuação por termo com os piores infratores de cada um. As fases ainda não implementadas são listadas como ignoradas.
dry_runfromnameonlyto
Simulação
run_simExecuta uma simulação (*.sim.toml): uma execução FDTD de um layout na GPU (portas em pads, modelos lumped para passivos, parâmetros S guardados como JSON e Touchstone junto à especificação), qualquer outro tipo (dc, térmica, cascata, canal, pdn), ou uma simulação lógica da lista de redes do esquema (estímulo, asserções, setup e hold, um VCD junto à especificação). Renderiza a simulação depois para ver o gráfico ou as formas de onda.
namesparamAnalisa uma simulação ou cascata terminada: passividade e reciprocidade, um TDR de uma porta (impedância em função do tempo com uma borda gaussiana), Sdd/Scc/Scd em modo misto para um par dado como IN+,IN-,OUT+,OUT-, e acoplamento FROM,TO em frequência e como um degrau.
namepairrisetdrxtalk
Saída
fabEscreve o pacote de fabricação de um layout para uma pasta: Gerbers RS-274X (X2) por camada de cobre, máscara, pasta, serigrafia e camada de borda, furos Excellon, um zip desses ficheiros para upload, BOM (genérico e JLCPCB), pick-and-place, notas de fabricação e desenhos de montagem. Recusa enquanto o layout tiver erros.
nameoutexportEscreve um layout como uma montagem STEP única para CAD de invólucro: a placa como um sólido com os seus furos perfurados e recortes, o modelo STEP de cada componente incorporado e posicionado, e os modelos VRML, gerados e em falta como superfícies ou caixas. A face inferior da placa em z = 0, X e Y como o layout com Y para cima.
nameoutpartsCalcula o preço da BOM de um layout ou esquema na Mouser e na Farnell e procura equivalentes mais baratos: a mesma peça no outro distribuidor, resistências e condensadores cerâmicos com o mesmo valor, footprint, tolerância, tensão e dielétrico (nunca uma degradação), discretos genéricos (2N7002, S1D, SS14, SMAJ..) por nome e footprint, LEDs indicadores por cor e footprint, e a substituição sugerida pelo distribuidor para peças que vão ficar obsoletas. Os custos são para a quantidade necessária, comprando até a quebra de preço quando isso for mais barato. As chaves vêm de ~/.config/agentee/distributors.toml ([mouser] api_key, [farnell] api_key e store).
alternativesboardsdistributorsfarnell_storenamerefs