kicad-mcp-server
mcp2.7.0KiCAD 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
Risk Summary
Safe With Normal ControlsExcessive 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)
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_propertyinput 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_icinput schema exposes 14 properties (threshold: 10)
kicad_arrange_board_footprintskicad_create_symbolkicad_add_symbol_pinkicad_add_keepout_zonekicad_create_slotted_hole_footprintinput schema exposes 13 properties (threshold: 10)
kicad_place_symbol_from_librarykicad_add_board_cutoutinput schema exposes 28 properties (threshold: 10)
kicad_add_board_footprint_padkicad_add_footprint_padkicad_update_footprint_padinput schema exposes 24 properties (threshold: 10)
kicad_add_board_polygon_custom_padkicad_add_aligned_dimensionkicad_add_polygon_custom_padinput schema exposes 17 properties (threshold: 10)
kicad_add_board_footprint_slotkicad_set_zone_fill_settingskicad_add_footprint_graphickicad_add_footprint_slotinput schema exposes 29 properties (threshold: 10)
kicad_update_board_footprint_padinput schema exposes 25 properties (threshold: 10)
kicad_add_linear_dimensioninput schema exposes 18 properties (threshold: 10)
kicad_add_power_ground_zone_pairinput schema exposes 16 properties (threshold: 10)
kicad_add_rectangular_keepout_zonekicad_add_circular_keepout_zoneinput schema exposes 19 properties (threshold: 10)
kicad_upsert_netclassinput schema exposes 15 properties (threshold: 10)
kicad_add_footprint_textFix: Tool requests broad permissions (exec/fs/network). Validate input parameters using Enums where possible, and restrict file system operations to explicit allowed directories.
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_metadataFix: 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.
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_ipc2581declared capabilities: network access, filesystem access
kicad_search_footprintskicad_search_symbolskicad_set_board_design_rulesdeclared capabilities: filesystem access, HTTP requests
kicad_restore_board_backupkicad_add_symbol_pinkicad_find_nearest_board_itemsdeclared capabilities: code/command execution, filesystem access
kicad_create_symbolkicad_create_footprintkicad_create_mounting_hole_footprintkicad_create_slotted_hole_footprintkicad_set_footprint_metadatadeclared capabilities: HTTP requests
kicad_gui_reselect_previousdeclared capabilities: code/command execution, network access, filesystem access
kicad_register_project_footprint_libraryFix: Tool requests broad permissions (exec/fs/network). Validate input parameters using Enums where possible, and restrict file system operations to explicit allowed directories.
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_inventoryFix: 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.
[](https://github.com/AgentSafe-AI/tooltrust-directory)