Benchmarking AI Agents for Hardware Design Automation via MCP Tool Calling
Organizations: Politecnico di Milano
Abstract
We ask whether AI agents powered by locally deployed large language models can reliably automate expert-defined hardware design workflows in an industry-realistic tool-calling setting. In these environments, engineers issue repetitive, dependency-ordered operations---such as creating components, adding ports, and wiring connections---through specialised tools. Confidentiality constraints on component specifications and naming conventions often preclude hosted proprietary APIs, motivating the use of locally deployed models. To study this setting, we build a Model Context Protocol (MCP) server that reproduces the state and dependency logic of a proprietary hardware design tool used in embedded system development and construct a benchmark covering single-operation edits, multi-step dependency chains, invalid requests, misspelled prompts, and multi-server tool contexts. We evaluate seven open-source models comparing pipeline choices including system prompts, tool-description detail, context scope, and single-agent versus multi-agent architectures. Results show that strong models can achieve near-complete expected-call coverage on the benchmarked workflows, but reliability depends strongly on both task structure and agent configuration. Comprehensive tool descriptions consistently reduce failures, few-shot prompting can cause severe inaction for some models, cumulative context harms constrained models, and multi-agent decomposition helps weak workers or long sessions at the cost of additional calls. These findings provide practical guidance for deploying local LLM agents in stateful hardware design environments.
Figures & tables
| Group | Tools |
|---|---|
| Adder | create_component , add_signal_port , add_transactional_port , add_user_parameter , add_generator_parameter , add_subcomponent , add_subcomponent_connection |
| Getter | get_component_details , get_element , list_components |
| Other | delete_element , delete_component , save_component , load_component |
| Config | ECC | EVCR | TFR | |
|---|---|---|---|---|
| Gemma 4 31B | R/MD/C | 0.990 | 0.015 | 0.011 |
| Gemma 4 26B | R/MD/C | 0.958 | 0.021 | 0.061 |
| GPT-OSS 20B | R/none/C | 0.951 | 0.073 | 0.049 |
| Qwen 3.5 27B | R/MD/M | 0.880 | 0.036 | 0.048 |
| Qwen 3.6 27B | R/MD/M | 0.858 | 0.086 | 0.065 |
| Gemma 4 E4B | R/MD/C | 0.811 | 0.023 | 0.058 |
| No-call (Errors) | Noise (Hard) | ||||
|---|---|---|---|---|---|
| NCA | EVCR | TFR | clean | noisy | |
| Gemma 4 31B | 0.80 | 0.00 | 0.05 | — | — |
| Gemma 4 26B | 0.40 | 0.05 | 0.55 | 0.00 | 0.16 |
| GPT-OSS 20B | 0.25 | 0.58 | 0.13 | — | — |
| Qwen 3.5 27B | 0.70 | 0.15 | 0.17 | — | — |
| Qwen 3.6 27B | 0.45 | 0.20 | 0.37 | — | — |
| Worker | Suite | ReAct | Plan-and-Act |
|---|---|---|---|
| Llama 3.1 8B | Avg. (6 core) | 0.554 | 0.718 |
| Llama 3.1 8B | History | 0.113 | 0.650 |
| Llama 3.1 8B | Cross | 0.166 | 0.450 |
| Gemma 4 26B | Hard-Noise (60) | 0.858 | 0.950 |
Appendix figures & tables8 assets
Supplementary material from the paper’s appendix.
Appendix
| Model | ECC | EVCR | TFR | ECC | EVCR | TFR | ECC | EVCR | TFR |
|---|---|---|---|---|---|---|---|---|---|
| Gemma 4 26B | 0.896 | 0.055 | 0.094 | 0.889 | 0.055 | 0.111 | 0.881 | 0.056 | 0.105 |
| Gemma 4 E4B | 0.539 | 0.044 | 0.129 | 0.523 | 0.042 | 0.127 | 0.553 | 0.046 | 0.144 |
| Llama 3.1 8B | 0.247 | 0.058 | 0.268 | 0.235 | 0.052 | 0.264 | 0.243 | 0.056 | 0.268 |
| Model | ||
|---|---|---|
| Gemma 4 26B | 0.025 | 0.076 |
| Llama 3.1 8B | 0.051 | 0.219 |
| Gemma 4 E4B | 0.059 | 0.494 |
| Model | Config | ECC | EVCR | TFR |
|---|---|---|---|---|
| Gemma 4 26B | best | 0.973 | 0.027 | 0.013 |
| Gemma 4 26B | worst | 0.829 | 0.017 | 0.067 |
| Llama 3.1 8B | best | 0.495 | 0.106 | 0.291 |
| Llama 3.1 8B | worst | 0.034 | 0.001 | 0.028 |
| none | basic | MD | few-shot | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Model | ECC | EVCR | TFR | ECC | EVCR | TFR | ECC | EVCR | TFR | ECC | EVCR | TFR |
| Gemma 4 31B | 0.935 | 0.039 | 0.076 | 0.913 | 0.010 | 0.056 | 0.956 | 0.021 | 0.061 | 0.571 | 0.006 | 0.032 |
| Gemma 4 26B | 0.907 | 0.044 | 0.086 | 0.910 | 0.020 | 0.063 | 0.938 | 0.027 | 0.063 | 0.897 | 0.034 | 0.071 |
| GPT-OSS 20B | 0.861 | 0.078 | 0.104 | 0.784 | 0.030 | 0.068 | 0.859 | 0.042 | 0.061 | 0.741 | 0.030 | 0.072 |
| Qwen 3.5 27B | 0.847 | 0.063 | 0.068 | 0.827 | 0.031 | 0.058 | 0.852 | 0.034 | 0.057 | 0.825 | 0.032 | 0.054 |
| Qwen 3.6 27B | 0.839 | 0.063 | 0.106 | 0.798 | 0.030 | 0.063 | 0.853 | 0.058 | 0.060 | 0.801 | 0.036 | 0.056 |
| comprehensive | minimal | |||||
|---|---|---|---|---|---|---|
| Model | ECC | EVCR | TFR | ECC | EVCR | TFR |
| Gemma 4 31B | 0.819 | 0.019 | 0.031 | 0.868 | 0.020 | 0.081 |
| Gemma 4 26B | 0.932 | 0.028 | 0.048 | 0.894 | 0.034 | 0.093 |
| GPT-OSS 20B | 0.859 | 0.046 | 0.057 | 0.764 | 0.044 | 0.096 |
| Qwen 3.5 27B | 0.845 | 0.034 | 0.040 | 0.830 | 0.046 | 0.078 |
| Qwen 3.6 27B | 0.823 | 0.037 | 0.046 | 0.822 | 0.057 | 0.097 |
| run | task | |||||
|---|---|---|---|---|---|---|
| Model | ECC | EVCR | TFR | ECC | EVCR | TFR |
| Gemma 4 31B | 0.858 | 0.014 | 0.037 | 0.829 | 0.024 | 0.075 |
| Gemma 4 26B | 0.918 | 0.029 | 0.071 | 0.909 | 0.034 | 0.071 |
| GPT-OSS 20B | 0.862 | 0.051 | 0.061 | 0.760 | 0.039 | 0.091 |
| Qwen 3.5 27B | 0.864 | 0.047 | 0.038 | 0.811 | 0.033 | 0.081 |
| Qwen 3.6 27B | 0.823 | 0.051 | 0.060 | 0.822 | 0.042 | 0.083 |
Tool-Using Agents
Tool-using agents plan and act through external tools, APIs, software interfaces, and environments to complete tasks beyond language generation.
See all 277 papers