ToolTrust
A4/100
mixelpixx

kicad-mcp-server

mcp2.7.0

@mixelpixx

KiCAD MCP is a Model Context Protocol (MCP) implementation that enables Large Language Models (LLMs) like Claude to directly interact with KiCAD for printed circuit board design.

By mixelpixx | 590 findings | Scanned 9/11/2026 | tooltrust-scanner/v0.3.19 | 2.2k

54 Low536 Info

Risk Summary

Safe With Normal Controls

Excessive Permissions is the main signal, but overall risk remains within an acceptable range.

Potential impact: The agent may gain overly broad access to files, network, databases, or execution capabilities.

Recommended action: No high-risk findings were detected in this scan, but you should still apply least-privilege defaults and rescan after changes.

Suggested policy: keep this tool behind manual approval, do not allow unattended runs, and re-scan after narrowing risky permissions.

Security Findings (590)

  • LowAS-002

    ⚠️Excessive Permissions ×42

    input schema exposes 11 properties (threshold: 10)

    kicad_run_drckicad_add_board_rectkicad_add_board_textkicad_create_chamfered_rectangular_board_outlinekicad_add_polygon_zonekicad_add_rectangular_zonekicad_generate_fab_releasekicad_create_mounting_hole_footprintkicad_register_project_footprint_librarykicad_set_footprint_property

    input schema exposes 12 properties (threshold: 10)

    kicad_export_bomkicad_export_gerberskicad_export_position_filekicad_add_board_arckicad_add_zone_cutoutkicad_set_board_design_ruleskicad_route_simple_netkicad_escape_route_ic

    input schema exposes 14 properties (threshold: 10)

    kicad_arrange_board_footprintskicad_create_symbolkicad_add_symbol_pinkicad_add_keepout_zonekicad_create_slotted_hole_footprint

    input schema exposes 13 properties (threshold: 10)

    kicad_place_symbol_from_librarykicad_add_board_cutout

    input schema exposes 28 properties (threshold: 10)

    kicad_add_board_footprint_padkicad_add_footprint_padkicad_update_footprint_pad

    input schema exposes 24 properties (threshold: 10)

    kicad_add_board_polygon_custom_padkicad_add_aligned_dimensionkicad_add_polygon_custom_pad

    input schema exposes 17 properties (threshold: 10)

    kicad_add_board_footprint_slotkicad_set_zone_fill_settingskicad_add_footprint_graphickicad_add_footprint_slot

    input schema exposes 29 properties (threshold: 10)

    kicad_update_board_footprint_pad

    input schema exposes 25 properties (threshold: 10)

    kicad_add_linear_dimension

    input schema exposes 18 properties (threshold: 10)

    kicad_add_power_ground_zone_pair

    input schema exposes 16 properties (threshold: 10)

    kicad_add_rectangular_keepout_zonekicad_add_circular_keepout_zone

    input schema exposes 19 properties (threshold: 10)

    kicad_upsert_netclass

    input schema exposes 15 properties (threshold: 10)

    kicad_add_footprint_text

    Fix: Tool requests broad permissions (exec/fs/network). Validate input parameters using Enums where possible, and restrict file system operations to explicit allowed directories.

  • LowAS-011

    ℹ️Missing Rate-Limit / Timeout ×12

    tool performs network or execution operations but declares no rate-limit, timeout, or retry configuration

    kicad_search_footprintskicad_restore_board_backupkicad_search_symbolskicad_create_symbolkicad_add_symbol_pinkicad_find_nearest_board_itemskicad_set_board_design_ruleskicad_create_footprintkicad_create_mounting_hole_footprintkicad_create_slotted_hole_footprintkicad_register_project_footprint_librarykicad_set_footprint_metadata

    Fix: Declare explicit rate-limit, timeout, and retry configuration for all network and execution tools. Implement exponential back-off and surface resource state to the calling agent.

  • InfoAS-002

    ⚠️Excessive Permissions ×256

    declared capabilities: filesystem access

    kicad_run_erckicad_parse_erc_reportkicad_summarize_erc_reportkicad_run_drckicad_parse_drc_reportkicad_summarize_drc_reportkicad_export_bomkicad_export_gerberskicad_export_drill_fileskicad_export_fabrication_packagekicad_list_footprint_librarieskicad_inspect_footprintkicad_list_board_footprintskicad_get_board_footprint_propertieskicad_export_footprint_svgkicad_export_position_filekicad_move_board_footprintkicad_rotate_board_footprintkicad_set_board_footprint_layerkicad_align_footprintskicad_distribute_footprintskicad_grid_place_footprintskicad_sort_board_footprintskicad_arrange_board_footprintskicad_list_board_backupskicad_validate_boardkicad_find_project_fileskicad_read_project_metadatakicad_project_summarykicad_copy_projectkicad_archive_projectkicad_list_generated_outputskicad_list_project_backupskicad_project_file_treekicad_list_schematic_symbolskicad_get_schematic_symbol_propertieskicad_list_schematic_netskicad_schematic_statisticskicad_export_schematic_netlistkicad_export_schematic_pdfkicad_export_schematic_svgkicad_find_unassigned_footprintskicad_list_schematic_sheetskicad_list_schematic_junctionskicad_list_schematic_wireskicad_list_schematic_labelskicad_list_schematic_no_connectskicad_list_schematic_text_itemskicad_add_schematic_wirekicad_add_schematic_polylinekicad_add_schematic_labelkicad_add_schematic_global_labelkicad_add_schematic_hierarchical_labelkicad_add_schematic_junctionkicad_add_schematic_no_connectkicad_add_schematic_textkicad_bulk_add_schematic_itemskicad_move_schematic_symbolkicad_set_schematic_symbol_rotationkicad_duplicate_schematic_symbolkicad_place_symbol_from_templatekicad_place_symbol_from_librarykicad_delete_schematic_symbolkicad_delete_schematic_itemskicad_move_schematic_itemskicad_find_schematic_items_atkicad_schematic_bounding_boxkicad_find_dangling_wire_endpointskicad_validate_schematic_uuid_uniquenesskicad_regenerate_schematic_uuidskicad_connect_points_with_wireskicad_label_wire_endpointskicad_set_symbol_valuekicad_set_symbol_footprintkicad_set_symbol_fieldkicad_bulk_set_symbol_fieldskicad_find_symbols_by_valuekicad_find_symbols_by_footprintkicad_validate_symbol_footprint_linkskicad_annotate_schematickicad_sync_footprints_from_schematickicad_update_pcb_from_schematickicad_inspect_symbolkicad_find_symbols_without_footprintkicad_list_symbol_aliaseskicad_symbol_library_statisticskicad_create_symbol_librarykicad_set_library_symbol_propertykicad_delete_library_symbolkicad_board_statisticskicad_list_board_layerskicad_board_stackup_summarykicad_validate_layer_nameskicad_board_layer_usagekicad_list_drill_holeskicad_drill_statisticskicad_classify_power_netskicad_board_connectivity_reportkicad_find_unconnected_padskicad_list_netskicad_upsert_board_netkicad_set_footprint_pad_netkicad_list_board_footprint_padskicad_get_board_footprint_padkicad_add_board_footprint_padkicad_add_board_polygon_custom_padkicad_add_board_footprint_slotkicad_update_board_footprint_padkicad_add_board_custom_pad_primitivekicad_list_board_custom_pad_primitiveskicad_update_board_custom_pad_primitivekicad_delete_board_custom_pad_primitivekicad_delete_board_footprint_padkicad_get_net_padskicad_list_trackskicad_list_viaskicad_board_item_location_reportkicad_measure_board_itemskicad_measure_pad_to_padkicad_clearance_reportkicad_list_zoneskicad_export_board_stepkicad_export_board_pdfkicad_export_board_svgkicad_zip_fabrication_outputskicad_add_track_segmentkicad_add_viakicad_delete_track_segmentskicad_delete_viaskicad_move_track_segmentskicad_move_viaskicad_set_track_segment_netkicad_set_via_netkicad_split_track_segmentkicad_find_overlapping_footprintskicad_find_missing_3d_modelskicad_copper_statisticskicad_report_net_lengthskicad_board_bounding_boxkicad_find_unrouted_netskicad_board_text_itemskicad_list_board_graphicskicad_list_board_dimensionskicad_get_board_item_by_uuidkicad_find_board_items_by_layerkicad_find_board_items_in_boxkicad_move_board_itemskicad_duplicate_board_itemskicad_delete_board_itemskicad_set_board_item_layerkicad_set_board_item_strokekicad_add_board_linekicad_add_board_rectkicad_add_board_circlekicad_add_board_arckicad_add_board_polylinekicad_add_board_polygonkicad_add_board_textkicad_add_aligned_dimensionkicad_add_linear_dimensionkicad_add_board_crosshairkicad_add_board_cutoutkicad_create_rectangular_board_outlinekicad_create_chamfered_rectangular_board_outlinekicad_delete_edge_cutskicad_edge_cuts_reportkicad_list_copper_zones_detailedkicad_get_zone_by_uuidkicad_find_zones_by_netkicad_add_polygon_zonekicad_add_rectangular_zonekicad_add_power_ground_zone_pairkicad_add_keepout_zonekicad_add_zone_cutoutkicad_add_rectangular_zone_cutoutkicad_add_circular_zone_cutoutkicad_add_rectangular_keepout_zonekicad_add_circular_keepout_zonekicad_set_keepout_zone_ruleskicad_set_zone_netkicad_set_zone_clearancekicad_set_zone_prioritykicad_set_zone_min_thicknesskicad_set_zone_fill_settingskicad_set_zone_thermal_settingskicad_remove_zone_filled_polygonskicad_update_zone_polygonkicad_duplicate_zonekicad_delete_zoneskicad_zone_area_estimatekicad_board_drawing_statisticskicad_list_netclasseskicad_get_netclasskicad_upsert_netclasskicad_delete_netclasskicad_list_netclass_patternskicad_assign_netclass_patternkicad_remove_netclass_patternkicad_assign_nets_to_netclasskicad_resolve_netclasses_for_boardkicad_get_board_design_ruleskicad_list_routing_presetskicad_set_routing_presetskicad_set_tracks_widthkicad_set_vias_sizekicad_validate_tracks_against_netclasseskicad_apply_netclass_widths_to_boardkicad_set_tracks_layerkicad_set_via_layerskicad_set_zone_layerskicad_set_board_text_layerkicad_set_board_graphics_layerkicad_move_items_between_layerskicad_board_health_reportkicad_assembly_readiness_reportkicad_fabrication_readiness_reportkicad_generate_fab_releasekicad_apply_layout_plankicad_pack_footprintskicad_optimize_connector_rowkicad_route_simple_netkicad_autoplace_passives_near_pinskicad_escape_route_ickicad_delete_board_footprintkicad_create_footprint_librarykicad_set_footprint_propertykicad_add_footprint_graphickicad_add_footprint_textkicad_add_footprint_modelkicad_add_footprint_padkicad_add_polygon_custom_padkicad_add_footprint_slotkicad_add_custom_pad_primitivekicad_list_custom_pad_primitiveskicad_update_custom_pad_primitivekicad_delete_custom_pad_primitivekicad_update_footprint_padkicad_delete_footprint_padkicad_validate_footprintkicad_place_footprintkicad_export_ipcd356kicad_export_odbkicad_export_ipc2581

    declared capabilities: network access, filesystem access

    kicad_search_footprintskicad_search_symbolskicad_set_board_design_rules

    declared capabilities: filesystem access, HTTP requests

    kicad_restore_board_backupkicad_add_symbol_pinkicad_find_nearest_board_items

    declared capabilities: code/command execution, filesystem access

    kicad_create_symbolkicad_create_footprintkicad_create_mounting_hole_footprintkicad_create_slotted_hole_footprintkicad_set_footprint_metadata

    declared capabilities: HTTP requests

    kicad_gui_reselect_previous

    declared capabilities: code/command execution, network access, filesystem access

    kicad_register_project_footprint_library

    Fix: Tool requests broad permissions (exec/fs/network). Validate input parameters using Enums where possible, and restrict file system operations to explicit allowed directories.

  • InfoAS-014

    ℹ️Dependency Inventory Unavailable ×280

    No metadata.dependencies or repo_url were exposed by this MCP server, and no local project manifest could be inferred from the launch command.

    kicad_run_erckicad_parse_erc_reportkicad_summarize_erc_reportkicad_run_drckicad_parse_drc_reportkicad_summarize_drc_reportkicad_export_bomkicad_export_gerberskicad_export_drill_fileskicad_export_fabrication_packagekicad_list_footprint_librarieskicad_search_footprintskicad_inspect_footprintkicad_list_board_footprintskicad_get_board_footprint_propertieskicad_export_footprint_svgkicad_export_position_filekicad_move_board_footprintkicad_rotate_board_footprintkicad_set_board_footprint_layerkicad_align_footprintskicad_distribute_footprintskicad_grid_place_footprintskicad_sort_board_footprintskicad_arrange_board_footprintskicad_list_board_backupskicad_restore_board_backupkicad_validate_boardkicad_find_project_fileskicad_read_project_metadatakicad_project_summarykicad_copy_projectkicad_archive_projectkicad_list_generated_outputskicad_list_project_backupskicad_project_file_treekicad_list_schematic_symbolskicad_get_schematic_symbol_propertieskicad_list_schematic_netskicad_schematic_statisticskicad_export_schematic_netlistkicad_export_schematic_pdfkicad_export_schematic_svgkicad_find_unassigned_footprintskicad_list_schematic_sheetskicad_list_schematic_junctionskicad_list_schematic_wireskicad_list_schematic_labelskicad_list_schematic_no_connectskicad_list_schematic_text_itemskicad_add_schematic_wirekicad_add_schematic_polylinekicad_add_schematic_labelkicad_add_schematic_global_labelkicad_add_schematic_hierarchical_labelkicad_add_schematic_junctionkicad_add_schematic_no_connectkicad_add_schematic_textkicad_bulk_add_schematic_itemskicad_move_schematic_symbolkicad_set_schematic_symbol_rotationkicad_duplicate_schematic_symbolkicad_place_symbol_from_templatekicad_place_symbol_from_librarykicad_delete_schematic_symbolkicad_delete_schematic_itemskicad_move_schematic_itemskicad_find_schematic_items_atkicad_schematic_bounding_boxkicad_find_dangling_wire_endpointskicad_validate_schematic_uuid_uniquenesskicad_regenerate_schematic_uuidskicad_connect_points_with_wireskicad_label_wire_endpointskicad_set_symbol_valuekicad_set_symbol_footprintkicad_set_symbol_fieldkicad_bulk_set_symbol_fieldskicad_find_symbols_by_valuekicad_find_symbols_by_footprintkicad_validate_symbol_footprint_linkskicad_annotate_schematickicad_sync_footprints_from_schematickicad_update_pcb_from_schematickicad_list_symbol_librarieskicad_search_symbolskicad_inspect_symbolkicad_compare_symbolskicad_symbol_pin_reportkicad_find_symbols_without_footprintkicad_list_symbol_aliaseskicad_symbol_library_statisticskicad_create_symbol_librarykicad_create_symbolkicad_set_library_symbol_propertykicad_add_symbol_pinkicad_delete_library_symbolkicad_board_statisticskicad_list_standard_layerskicad_list_board_layerskicad_board_stackup_summarykicad_validate_layer_nameskicad_board_layer_usagekicad_list_drill_holeskicad_drill_statisticskicad_classify_power_netskicad_board_connectivity_reportkicad_find_unconnected_padskicad_list_netskicad_upsert_board_netkicad_set_footprint_pad_netkicad_list_board_footprint_padskicad_get_board_footprint_padkicad_add_board_footprint_padkicad_add_board_polygon_custom_padkicad_add_board_footprint_slotkicad_update_board_footprint_padkicad_add_board_custom_pad_primitivekicad_list_board_custom_pad_primitiveskicad_update_board_custom_pad_primitivekicad_delete_board_custom_pad_primitivekicad_delete_board_footprint_padkicad_get_net_padskicad_list_trackskicad_list_viaskicad_measure_distancekicad_board_item_location_reportkicad_measure_board_itemskicad_measure_pad_to_padkicad_find_nearest_board_itemskicad_clearance_reportkicad_list_zoneskicad_export_board_stepkicad_export_board_pdfkicad_export_board_svgkicad_zip_fabrication_outputskicad_add_track_segmentkicad_add_viakicad_delete_track_segmentskicad_delete_viaskicad_move_track_segmentskicad_move_viaskicad_set_track_segment_netkicad_set_via_netkicad_split_track_segmentkicad_find_overlapping_footprintskicad_find_missing_3d_modelskicad_copper_statisticskicad_report_net_lengthskicad_board_bounding_boxkicad_find_unrouted_netskicad_board_text_itemskicad_list_board_graphicskicad_list_board_dimensionskicad_get_board_item_by_uuidkicad_find_board_items_by_layerkicad_find_board_items_in_boxkicad_move_board_itemskicad_duplicate_board_itemskicad_delete_board_itemskicad_set_board_item_layerkicad_set_board_item_strokekicad_add_board_linekicad_add_board_rectkicad_add_board_circlekicad_add_board_arckicad_add_board_polylinekicad_add_board_polygonkicad_add_board_textkicad_add_aligned_dimensionkicad_add_linear_dimensionkicad_add_board_crosshairkicad_add_board_cutoutkicad_create_rectangular_board_outlinekicad_create_chamfered_rectangular_board_outlinekicad_delete_edge_cutskicad_edge_cuts_reportkicad_list_copper_zones_detailedkicad_get_zone_by_uuidkicad_find_zones_by_netkicad_add_polygon_zonekicad_add_rectangular_zonekicad_add_power_ground_zone_pairkicad_add_keepout_zonekicad_add_zone_cutoutkicad_add_rectangular_zone_cutoutkicad_add_circular_zone_cutoutkicad_add_rectangular_keepout_zonekicad_add_circular_keepout_zonekicad_set_keepout_zone_ruleskicad_set_zone_netkicad_set_zone_clearancekicad_set_zone_prioritykicad_set_zone_min_thicknesskicad_set_zone_fill_settingskicad_set_zone_thermal_settingskicad_remove_zone_filled_polygonskicad_update_zone_polygonkicad_duplicate_zonekicad_delete_zoneskicad_zone_area_estimatekicad_board_drawing_statisticskicad_list_netclasseskicad_get_netclasskicad_upsert_netclasskicad_delete_netclasskicad_list_netclass_patternskicad_assign_netclass_patternkicad_remove_netclass_patternkicad_assign_nets_to_netclasskicad_resolve_netclasses_for_boardkicad_get_board_design_ruleskicad_set_board_design_ruleskicad_list_routing_presetskicad_set_routing_presetskicad_set_tracks_widthkicad_set_vias_sizekicad_validate_tracks_against_netclasseskicad_apply_netclass_widths_to_boardkicad_gui_statuskicad_gui_get_selectionkicad_gui_clear_selectionkicad_gui_select_footprintskicad_gui_select_itemskicad_gui_reselect_previouskicad_gui_set_active_layerkicad_gui_refreshkicad_gui_highlight_netkicad_gui_save_boardkicad_gui_zoom_to_selectionkicad_gui_selected_referenceskicad_gui_selected_netskicad_gui_move_selected_footprintskicad_gui_align_selected_footprintskicad_gui_distribute_selected_footprintskicad_gui_pack_selected_footprintskicad_gui_move_selected_items_to_layerkicad_gui_highlight_selected_netskicad_set_tracks_layerkicad_set_via_layerskicad_set_zone_layerskicad_set_board_text_layerkicad_set_board_graphics_layerkicad_move_items_between_layerskicad_board_health_reportkicad_assembly_readiness_reportkicad_fabrication_readiness_reportkicad_generate_fab_releasekicad_apply_layout_plankicad_pack_footprintskicad_optimize_connector_rowkicad_route_simple_netkicad_autoplace_passives_near_pinskicad_escape_route_ickicad_delete_board_footprintkicad_create_footprint_librarykicad_create_footprintkicad_create_mounting_hole_footprintkicad_create_slotted_hole_footprintkicad_register_project_footprint_librarykicad_set_footprint_metadatakicad_set_footprint_propertykicad_add_footprint_graphickicad_add_footprint_textkicad_add_footprint_modelkicad_add_footprint_padkicad_add_polygon_custom_padkicad_add_footprint_slotkicad_add_custom_pad_primitivekicad_list_custom_pad_primitiveskicad_update_custom_pad_primitivekicad_delete_custom_pad_primitivekicad_update_footprint_padkicad_delete_footprint_padkicad_validate_footprintkicad_place_footprintkicad_export_ipcd356kicad_export_odbkicad_export_ipc2581kicad_tool_inventory

    Fix: Review and remediate the identified issue.

Scan this tool yourself

Reproduce this audit locally, integrate into CI, or let your agent audit its own tools.

Install once, then scan any MCP server:

$ curl -sfL https://raw.githubusercontent.com/AgentSafe-AI/tooltrust-scanner/main/install.sh | bash
$ tooltrust-scanner scan --server "npx -y kicad-mcp-server"

Adjust the package name if your npm registry name differs from the tool ID. View source

Add badge to your README

Copy this Markdown to show your ToolTrust grade on GitHub.

[![ToolTrust Grade A](https://raw.githubusercontent.com/AgentSafe-AI/tooltrust-directory/main/docs/badges/grade-a.svg)](https://github.com/AgentSafe-AI/tooltrust-directory)