Inspiration

Designing electronic circuits often requires constant context switching: looking up component datasheets, manually calculating resistor values, and wrestling with complex SPICE simulation configurations. We wanted to build an intelligent, unified workspace where an engineer can collaborate seamlessly with an AI agent. We were inspired by the Model Context Protocol (MCP) and Google's Gemini models, realizing we could empower an AI to not just write code, but to act as an autonomous hardware engineering assistant that queries databases and commands a complex simulation engine.

What it does

AGENTIC EDA is a web-based, AI-driven electronic circuit design environment. It features a fully interactive schematic canvas and a powerful autonomous agent built on Gemini. Instead of just answering questions, the agent actively builds alongside you; Autonomous Component Placement: Tell the agent to "build a 5V LED circuit" and it will place and wire the components on the canvas for you. Intelligent Database Lookups (MCP): Using a custom FastMCP server backed by MongoDB, the agent autonomously queries real-world component specifications (like an LED's forward voltage) before calculating necessary resistor values. Smart Simulation Configuration: The agent configures the backend SPICE engine for you. It can automatically set up Operating Point (DC), Transient (time-domain), or AC Sweep (frequency-domain) analysis parameters based on the circuit it just designed.

How we built it

The project relies on a highly decoupled, modern tech stack: Frontend: Built with Flutter Web, featuring a custom interactive canvas engine for schematic capture and flow chart for rendering high-fidelity time-series and frequency response waveforms. Backend Orchestration: A Python/FastAPI server manages the bidirectional WebSocket connection, parsing the user's canvas state and piping it to the AI. The Agent: We built a custom asynchronous Python agent using the google-genai SDK. It streams reasoning tokens to the UI in real-time. Tooling & MCP: The agent is equipped with custom tools (configure_simulation, add_component). Crucially, it acts as an MCP Client, connecting via Server-Sent Events (SSE) to a separate MongoDB FastMCP Server to retrieve component specs. Simulation Engine: We integrated Spicelib (wrapping ngspice) to handle the heavy mathematical lifting for circuit analysis.

Challenges we ran into

Integrating the Model Context Protocol (MCP) in a streaming loop was a significant hurdle. Initially, we struggled with runtime environment crashes when trying to orchestrate an external Node.js MCP server from within our Python agent loop. We resolved this by migrating to a native Python FastMCP server, allowing the agent to securely pause its token generation stream, query the database via SSE, and inject the result back into its context window without dropping the WebSocket connection to the frontend.

Additionally, parsing complex, multi-dimensional time-series data from the Spice backend and piping it efficiently through WebSockets to the Flutter UI required careful memory management and payload structuring.

Accomplishments that we're proud of

We are incredibly proud of achieving true "Beyond-Chat" agency. The moment our agent paused its response, successfully queried the MongoDB database for an LED's max current rating, calculated the exact resistor value needed, and then placed both components perfectly on the Flutter canvas—all from a single user prompt—was a massive milestone.

What we learned

We gained deep insights into the Model Context Protocol (MCP) and how it standardizes tool access for LLMs. We also learned how to build robust, asynchronous data pipelines that can seamlessly interleave LLM reasoning streams with structured tool-call JSON payloads over WebSockets.

What's next for AGENTIC EDA

PCB Layout Generation: We want the agent to not just design the schematic, but route the physical PCB traces. Expanded MCP Integration: Connecting more MCP servers to pull live pricing and availability from distributors like Digi-Key and Mouser. Real-Time Collaboration: Adding multiplayer capabilities so multiple engineers and agents can work on the same schematic simultaneously.

Built With

Share this project:

Updates