agentee

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_reference

A referência de formato de ficheiros para placas, símbolos e footprints, com exemplos. Leia isto antes de escrever ficheiros.

list_items

Cada placa, símbolo e footprint no projeto com o seu ficheiro e contagens de erros.

show_item

O 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.

name

check

Carrega o projeto e relata erros e avisos para cada item, ou para um item.

include_info item

drc

Verificaçõ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.

list name

render_item

Renderiza um item para PNG exatamente como o visualizador o mostra e devolve a imagem.

canvas_only height hidden_pins hide name region save_to show unit width

stackups

Predefiniçõ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.

fab layers name search thickness

Componentes

import_kicad_symbol

Converte 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.

dir footprint force spec with_footprint

import_kicad_footprint

Converte um footprint KiCad (Library:Name) num .fp.toml no projeto.

dir force spec

new_item

Escreve 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.

dir kind name sim_kind

models

Procura 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

impedance

Impedância de pista numa camada da placa para uma largura (e separação de par), ou a largura que atinge um alvo.

board coplanar_gap gap layer target width

field_solve

Resolve 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.

board coplanar_gap fine gap layer netclass no_mask sweep width

trace_width

Largura mínima de pista para uma corrente (IPC-2221).

copper current internal temp_rise

serpentine

Pontos 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.

add amplitude from pitch to

Layout

place

Coloca 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_run keep_placed name parts seed side

route

Encaminha 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_cost dry_run grid layers name nets pairs reroute via via_cost via_in_pad

tie

Liga 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_run name nets

tune

Iguala 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.

amplitude dry_run name nets pitch

neck

Reduz 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_run name nets taper

fill

Preenche 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.

name

silk

Move 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_run hide name

testpoints

Adiciona 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_run name nets pitch side

layout

Executa 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_run from name only to

Simulação

run_sim

Executa 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.

name

sparam

Analisa 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.

name pair rise tdr xtalk

Saída

fab

Escreve 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.

name out

export

Escreve 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.

name out

parts

Calcula 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).

alternatives boards distributors farnell_store name refs