AI-assisted PCB design for KiCad 10
TL;DR Highlight
Konnect exposes KiCad to Claude via MCP tools in one Rust binary, cutting listing context from 23K to 2K tokens
Who Should Read
A developer whose MCP server has so many tools that context tokens are a burden, and who wants to automate hardware design with LLM agents
Core Mechanics
- Listing all tools costs 23K tokens
- The README says exposing all 228 tools costs about 23K tokens of context on every listing.
- Konnect's router loads only a starter kit of about 2K tokens first.
- The model pulls in toolsets on demand.
- Call path shrank to one function call
- The original KiCAD-MCP-Server went through TypeScript, a Python subprocess, JSON over stdin/stdout, and SWIG C++ proxies.
- In Konnect a tool call is a function call inside one process and one language.
- It ships as a single static binary of 20-25 MB, about 9 MB to download.
- IPC API for PCB, direct file editing for schematics
- PCB edits use KiCad 10's IPC API (protobuf over NNG) and integrate with KiCad's undo/redo.
- Schematic .kicad_sch files are edited by its own S-expression engine.
- Writes are atomic (write, fsync, rename) to avoid corrupting files.
- The model can diagnose its own tool failures
- Built-in observability includes get_recent_calls, server_stats, and JSONL call logs.
Community Reactions
- Many reported routing is the weak spot
- One user tried computer-use, then mixed it with this repo and found stackup and part config great but routes terrible.
- It snakes traces through SMD pins and makes 10-30 tiny bends instead of two 45-degree turns.
- They said KiCadRoutingTools produces more sensible routes.
- Works if you hand-route and hand back
- One user said Fable 5.1 pins a few key traces and lets freerouting do the rest.
- Pushing hard for carefully designed routes makes it write code and get better results.
- They still need to review it and route a few traces by hand.
- A high-altitude balloon tracker came out well
- One user had Fable design a 4-layer board and used a tournament-style routing system to lock in good routes.
- It handled JLCPCB part search, spec checks, and manufacturing output, while Opus did not quite reach a good board.
- They stressed domain knowledge helps.
- Unusual parts cause big mistakes
How to Apply
- Split your MCP tools into toolsets
- Today, measure your MCP server's tool listing in tokens.
- Group the heavy tools by purpose and expose only a few core ones at startup.
- Add a load_toolset-style tool to fetch the rest on demand.
- Log tool calls as JSONL
- Record each tool call's name, arguments, and error as one JSONL line.
- Expose a get_recent_calls-style tool to the model.
- Let it check the cause itself when a call fails.
- Switch file-editing tools to atomic writes
- If an LLM tool edits files, write to a temp file, fsync, then rename.
- Add round-trip tests before and after edits to catch corruption.
- Keep a human review step for weak stages such as routing.
Try It
# Paste into Claude Code or Claude Desktop: simplified version of Konnect's toolset split
I'm building an MCP server. The tool list below is fully exposed now and uses a lot of context.
{{tool names and descriptions}}
Redesign it as follows.
1. Group the tools into 5-8 toolsets by purpose and name them.
2. Pick a minimal starter kit (10 tools or fewer) to expose at startup.
3. Write JSON-schema specs for load_toolset(name) and list_toolsets().
4. Also write the input/output schema for a get_recent_calls tool for failure diagnosis.
Next to try: compare the token count of the tool list before and after the redesign.Terminology
Related Papers
Same Simulation, Different Evidence: Where Retrieved Tool Output Costs LLM Agents Accuracy
Saving long tool output to files cut GPT-5.1 accuracy by 11.3 points; naming the authoritative file restored it.
Fake News, Real Crashes: Information Injection Attacks on LLM Financial Trading Agents
Fake headlines hijacked LLM trading agents 62% of the time versus 14% for prompt injection.
Harness Engineering 101: The LLM is the brain, the harness is the body
An agent is a loop managing a JSON array; 16 chapters build one from scratch
Harness2 by Google Research – Recursive Agent Harnessing
Recursively refining the harness with fixed model weights raised benchmark scores by up to 11.8 points.
Ousted Savannah police officer gave ICE agent husband access to Flock system
A police officer shared her Flock login with her ICE-agent husband; an audit found 983 searches and she was fired
Tmux and Claude Code: Sessions, Send-Keys, and the Ceiling
Running Claude Code agents in tmux works well, but limits appear around four agents.