Eda Agent

345 tools. 219 can modify or destroy data without limits.

12 destructive tools with no built-in limits. Policy required.

Last updated:

219 can modify or destroy data
126 read-only
345 tools total

Community server · catalogue entry checked 07/07/2026

How to control Eda Agent ↓

What Eda Agent exposes to your agents

Read (126) Write / Execute (207) Destructive / Financial (12)
Critical Risk

The most dangerous Eda Agent tools

219 of Eda Agent's 345 tools can modify, destroy, or commit something on every call — and an agent calls them with no built-in limits.

How to control Eda Agent

PolicyLayer is an MCP gateway — it sits between your AI agents and Eda Agent, and nothing reaches the server without passing your rules. These are the rules we recommend:

Deny destructive operations
{
  "lib_uninstall_library": {
    "deny_if": [
      {
        "conditions": [],
        "on_deny": "Blocked by default. Requires approval."
      }
    ]
  }
}

Destructive tools should never be available to autonomous agents without human approval.

Rate limit write operations
{
  "app_create_document": {
    "limits": [
      {
        "counter": "app_create_document_per_hour",
        "window": "hour",
        "max": 30,
        "scope": "grant"
      }
    ]
  }
}

Prevents bulk unintended modifications from agents caught in loops.

Cap read operations
{
  "app_diag_workspace": {
    "limits": [
      {
        "counter": "app_diag_workspace_per_minute",
        "window": "minute",
        "max": 60,
        "scope": "grant"
      }
    ]
  }
}

Controls API costs and prevents retry loops from exhausting upstream rate limits.

  1. Create a free account and register Eda Agent — nothing to install.
  2. Add these rules — paste them, or build them visually. Tune the limits to your setup.
  3. Point your MCP client (Claude, Cursor, anything) at your gateway URL.
ENFORCE POLICY ON EDA AGENT →

Instant setup, no code required.

All 345 Eda Agent tools

WRITE 182 tools
Write app_create_document app_create_document Write app_detach app_detach Write app_ping app_ping Write app_save_all app_save_all Write app_set_active_document Set a specific document as the active (focused) document. Write app_set_intent app_set_intent Write design_add_circuit_block design_add_circuit_block Write design_add_part design_add_part Write design_apply_hierarchy design_apply_hierarchy Write design_compose_netlist design_compose_netlist Write design_compute_component_value design_compute_component_value Write design_connect_bus design_connect_bus Write design_edit_plan design_edit_plan Write design_generate_bom design_generate_bom Write design_layout_schematic design_layout_schematic Write design_learn_from_layout design_learn_from_layout Write design_plan_hierarchy design_plan_hierarchy Write design_preview_plan design_preview_plan Write design_review_plan design_review_plan Write design_suggest_diff_pair_traces design_suggest_diff_pair_traces Write design_suggest_partition design_suggest_partition Write design_synthesize_rules design_synthesize_rules Write lib_add_footprint_arc lib_add_footprint_arc Write lib_add_footprint_pad lib_add_footprint_pad Write lib_add_footprint_pads lib_add_footprint_pads Write lib_add_footprint_text lib_add_footprint_text Write lib_add_footprint_track lib_add_footprint_track Write lib_add_footprint_tracks lib_add_footprint_tracks Write lib_add_pins lib_add_pins Write lib_add_symbol_arc lib_add_symbol_arc Write lib_add_symbol_lines lib_add_symbol_lines Write lib_add_symbol_polygon lib_add_symbol_polygon Write lib_add_symbol_rectangle lib_add_symbol_rectangle Write lib_auto_link_3d_models lib_auto_link_3d_models Write lib_batch_rename lib_batch_rename Write lib_batch_set_params lib_batch_set_params Write lib_copy_component lib_copy_component Write lib_create_footprint Create a new PCB footprint in the active library. Write lib_create_ic_symbol lib_create_ic_symbol Write lib_create_passive_symbol lib_create_passive_symbol Write lib_create_standard_footprint lib_create_standard_footprint Write lib_create_symbol lib_create_symbol Write lib_export_kicad_footprint lib_export_kicad_footprint Write lib_export_kicad_symbol lib_export_kicad_symbol Write lib_install_library lib_install_library Write lib_link_3d_model lib_link_3d_model Write lib_link_footprint lib_link_footprint Write lib_set_component_description Set the description field on a library component. Write lib_set_current_component lib_set_current_component Write lib_set_label_formats lib_set_label_formats Write lib_split_pin_functions lib_split_pin_functions Write lib_update_footprint_heights_from_3d lib_update_footprint_heights_from_3d Write obj_batch_create obj_batch_create Write obj_batch_modify obj_batch_modify Write obj_clear_highlights Clear all net highlights in the active schematic or PCB document. Write obj_copy obj_copy Write obj_create obj_create Write obj_deselect_all Clear all object selection on the active document. Write obj_highlight_net obj_highlight_net Write obj_modify obj_modify Write obj_select obj_select Write obj_set_grid Set the snap grid and/or visible grid size for the active schematic. Write pcb_add_layer pcb_add_layer Write pcb_add_teardrops pcb_add_teardrops Write pcb_add_testpoints_for_net_class pcb_add_testpoints_for_net_class Write pcb_align_components pcb_align_components Write pcb_auto_size_board_outline pcb_auto_size_board_outline Write pcb_autoplace_silkscreen pcb_autoplace_silkscreen Write pcb_bevel_polygon_corners pcb_bevel_polygon_corners Write pcb_bind_pad_nets pcb_bind_pad_nets Write pcb_calc_length_match pcb_calc_length_match Write pcb_calc_termination pcb_calc_termination Write pcb_calc_thermal_vias pcb_calc_thermal_vias Write pcb_calc_trace_width_for_current pcb_calc_trace_width_for_current Write pcb_calc_trace_width_for_impedance pcb_calc_trace_width_for_impedance Write pcb_cleanup_tracks pcb_cleanup_tracks Write pcb_copy_component_placement pcb_copy_component_placement Write pcb_copy_designators_to_mech pcb_copy_designators_to_mech Write pcb_copy_tracks_radial pcb_copy_tracks_radial Write pcb_create_design_rule pcb_create_design_rule Write pcb_create_diff_pair pcb_create_diff_pair Write pcb_create_net_class pcb_create_net_class Write pcb_create_nets_from_list pcb_create_nets_from_list Write pcb_create_room pcb_create_room Write pcb_distribute_components pcb_distribute_components Write pcb_export_coordinates pcb_export_coordinates Write pcb_filter_variant_components pcb_filter_variant_components Write pcb_flip_component Flip a component to the other side of the board (top to bottom Write pcb_focus_board pcb_focus_board Write pcb_import_placement pcb_import_placement Write pcb_lock_net_routing pcb_lock_net_routing Write pcb_make_paste_grid pcb_make_paste_grid Write pcb_modify_layer pcb_modify_layer Write pcb_modify_polygon pcb_modify_polygon Write pcb_move_components pcb_move_components Write pcb_move_tracks_to_layer pcb_move_tracks_to_layer Write pcb_normalize_vias Snap every via to its dominant routing-via-style rule. Write pcb_place_angular_dimension pcb_place_angular_dimension Write pcb_place_arc pcb_place_arc Write pcb_place_components pcb_place_components Write pcb_place_dimension pcb_place_dimension Write pcb_place_embedded_board pcb_place_embedded_board Write pcb_place_fill pcb_place_fill Write pcb_place_pad pcb_place_pad Write pcb_place_polygon_rect pcb_place_polygon_rect Write pcb_place_radial_dimension pcb_place_radial_dimension Write pcb_place_region pcb_place_region Write pcb_place_stitching_vias pcb_place_stitching_vias Write pcb_place_text pcb_place_text Write pcb_place_thieving_pads pcb_place_thieving_pads Write pcb_place_tracks pcb_place_tracks Write pcb_place_via pcb_place_via Write pcb_place_via_array pcb_place_via_array Write pcb_renumber_pads pcb_renumber_pads Write pcb_replicate_layout pcb_replicate_layout Write pcb_repour_polygons Repour all polygon pours on the active PCB. Write pcb_set_board_shape pcb_set_board_shape Write pcb_set_layer_visibility pcb_set_layer_visibility Write pcb_set_rule_properties pcb_set_rule_properties Write pcb_set_rules_enabled pcb_set_rules_enabled Write pcb_set_text_visibility pcb_set_text_visibility Write pcb_set_track_width pcb_set_track_width Write pcb_set_via_soldermask_relief pcb_set_via_soldermask_relief Write pcb_snap_to_grid pcb_snap_to_grid Write pcb_trim_extend_track pcb_trim_extend_track Write proj_add_document Add an existing document to a project. Write proj_add_sheet proj_add_sheet Write proj_annotate proj_annotate Write proj_close Close a project. Write proj_create proj_create Write proj_create_variant proj_create_variant Write proj_cross_probe Jump to and highlight a component in the schematic or PCB. Write proj_export_dxf proj_export_dxf Write proj_export_image proj_export_image Write proj_export_netlist proj_export_netlist Write proj_export_pdf Export the active document to PDF. Write proj_export_step proj_export_step Write proj_generate_fab_package proj_generate_fab_package Write proj_import_document proj_import_document Write proj_lock_designator proj_lock_designator Write proj_print_all_variants proj_print_all_variants Write proj_push_parameters proj_push_parameters Write proj_replace_component proj_replace_component Write proj_save Save the current or specified project. Write proj_set_active_variant Switch the active project variant. Write proj_set_document_parameter proj_set_document_parameter Write proj_set_parameter Set a project-level parameter. Write proj_sync_pcb proj_sync_pcb Write proj_sync_schematic proj_sync_schematic Write route_plan_repairs route_plan_repairs Write sch_add_datafile_link sch_add_datafile_link Write sch_add_directive sch_add_directive Write sch_generate_toc sch_generate_toc Write sch_increment_designators sch_increment_designators Write sch_place_bus sch_place_bus Write sch_place_bus_entry sch_place_bus_entry Write sch_place_components sch_place_components Write sch_place_cross_sheet_connector sch_place_cross_sheet_connector Write sch_place_harness_connector sch_place_harness_connector Write sch_place_image sch_place_image Write sch_place_junction sch_place_junction Write sch_place_line sch_place_line Write sch_place_net_label sch_place_net_label Write sch_place_no_erc sch_place_no_erc Write sch_place_note sch_place_note Write sch_place_port sch_place_port Write sch_place_power_port sch_place_power_port Write sch_place_probe sch_place_probe Write sch_place_rectangle sch_place_rectangle Write sch_place_sheet_entry sch_place_sheet_entry Write sch_place_sheet_symbol sch_place_sheet_symbol Write sch_place_text_frame sch_place_text_frame Write sch_place_wires sch_place_wires Write sch_set_component_part_id sch_set_component_part_id Write sch_set_components_parameters sch_set_components_parameters Write sch_set_net_tie sch_set_net_tie Write sch_set_sheet_size sch_set_sheet_size Write sch_set_units sch_set_units Write sch_stub_pins sch_stub_pins Write sch_toggle_pin_visibility sch_toggle_pin_visibility Write sim_attach_model sim_attach_model Write sim_attach_primitives sim_attach_primitives
READ 126 tools
Read app_diag_workspace Diagnostic: enumerate workspace files via Altium's FindFiles helper. Read app_get_active_document app_get_active_document Read app_get_clipboard app_get_clipboard Read app_get_preferences app_get_preferences Read app_get_report app_get_report Read app_get_status app_get_status Read app_get_version app_get_version Read app_list_documents app_list_documents Read audit_component_param_visibility audit_component_param_visibility Read audit_find_acute_angles audit_find_acute_angles Read audit_find_bad_connections audit_find_bad_connections Read audit_find_components_outside_board_outline audit_find_components_outside_board_outline Read audit_find_designator_collisions audit_find_designator_collisions Read audit_find_floating_ports audit_find_floating_ports Read audit_find_inconsistent_track_widths audit_find_inconsistent_track_widths Read audit_find_invalid_regions audit_find_invalid_regions Read audit_find_mirrored_pcb_text audit_find_mirrored_pcb_text Read audit_find_missing_datasheets audit_find_missing_datasheets Read audit_find_missing_decoupling audit_find_missing_decoupling Read audit_find_mixed_designator_rotation audit_find_mixed_designator_rotation Read audit_find_mpn_inconsistencies audit_find_mpn_inconsistencies Read audit_find_non_embedded_images audit_find_non_embedded_images Read audit_find_off_grid_components audit_find_off_grid_components Read audit_find_orphan_net_labels audit_find_orphan_net_labels Read audit_find_orphan_power_objects audit_find_orphan_power_objects Read audit_find_pads_near_board_edge audit_find_pads_near_board_edge Read audit_find_pin_net_name_mismatches audit_find_pin_net_name_mismatches Read audit_find_placeholder_values audit_find_placeholder_values Read audit_find_removed_pad_shapes audit_find_removed_pad_shapes Read audit_find_signal_vias_without_return audit_find_signal_vias_without_return Read audit_find_single_pin_nets audit_find_single_pin_nets Read audit_find_unconnected_ic_pins audit_find_unconnected_ic_pins Read audit_find_unlocked_component_primitives audit_find_unlocked_component_primitives Read audit_find_unmatched_ports audit_find_unmatched_ports Read audit_find_via_antennas audit_find_via_antennas Read audit_find_visible_supplier_pn audit_find_visible_supplier_pn Read audit_power_port_orientation audit_power_port_orientation Read audit_tented_via_ratio audit_tented_via_ratio Read audit_variant_not_fitted audit_variant_not_fitted Read design_audit_schematic design_audit_schematic Read design_datasheet_checklist design_datasheet_checklist Read design_describe_circuits design_describe_circuits Read design_get_discipline design_get_discipline Read design_lint_report design_lint_report Read design_list_circuit_blocks design_list_circuit_blocks Read design_load_fab_profile design_load_fab_profile Read design_review_snapshot design_review_snapshot Read design_snapshot_inventory design_snapshot_inventory Read design_validate_requirement design_validate_requirement Read design_visual_review design_visual_review Read lib_audit_styles lib_audit_styles Read lib_diff_libraries lib_diff_libraries Read lib_extract_cse_zip lib_extract_cse_zip Read lib_extract_intlib lib_extract_intlib Read lib_get_component_details lib_get_component_details Read lib_get_components lib_get_components Read lib_get_footprints lib_get_footprints Read lib_get_pin_list lib_get_pin_list Read lib_inspect_cse_zip lib_inspect_cse_zip Read lib_search lib_search Read obj_count obj_count Read obj_crossref_net obj_crossref_net Read obj_get_document_info obj_get_document_info Read obj_get_font_id obj_get_font_id Read obj_get_font_spec obj_get_font_spec Read obj_query obj_query Read pcb_audit_pad_center_connected pcb_audit_pad_center_connected Read pcb_calc_impedance pcb_calc_impedance Read pcb_calc_polygon_area pcb_calc_polygon_area Read pcb_calc_track_current_capacity pcb_calc_track_current_capacity Read pcb_check_placement_collision pcb_check_placement_collision Read pcb_export_stackup_csv pcb_export_stackup_csv Read pcb_get_board_outline pcb_get_board_outline Read pcb_get_board_statistics pcb_get_board_statistics Read pcb_get_clearance_violations pcb_get_clearance_violations Read pcb_get_component_pads pcb_get_component_pads Read pcb_get_components pcb_get_components Read pcb_get_design_rules Get all design rules from the active PCB. Read pcb_get_diff_pair_rules pcb_get_diff_pair_rules Read pcb_get_differential_pairs pcb_get_differential_pairs Read pcb_get_fab_stats pcb_get_fab_stats Read pcb_get_layer_stackup pcb_get_layer_stackup Read pcb_get_mech_layer_names pcb_get_mech_layer_names Read pcb_get_net_classes pcb_get_net_classes Read pcb_get_nets Get all unique net names from the active PCB board. Read pcb_get_pad_properties pcb_get_pad_properties Read pcb_get_polygons pcb_get_polygons Read pcb_get_room_rules pcb_get_room_rules Read pcb_get_rule_properties pcb_get_rule_properties Read pcb_get_selected_objects pcb_get_selected_objects Read pcb_get_trace_lengths pcb_get_trace_lengths Read pcb_get_unrouted_nets pcb_get_unrouted_nets Read pcb_get_vias pcb_get_vias Read pcb_render_svg pcb_render_svg Read proj_compare_sch_pcb proj_compare_sch_pcb Read proj_export_bom_html proj_export_bom_html Read proj_export_variant_matrix_csv proj_export_variant_matrix_csv Read proj_find_component proj_find_component Read proj_get_active_variant Get the currently active project variant. Read proj_get_board_info Get PCB board information, outline vertices, layer stack, origin. Read proj_get_bom proj_get_bom Read proj_get_compile_freshness proj_get_compile_freshness Read proj_get_component_info proj_get_component_info Read proj_get_component_info_many proj_get_component_info_many Read proj_get_connectivity proj_get_connectivity Read proj_get_connectivity_many proj_get_connectivity_many Read proj_get_differences proj_get_differences Read proj_get_erc_violations proj_get_erc_violations Read proj_get_focused Get information about the currently focused project. Read proj_get_messages proj_get_messages Read proj_get_nets proj_get_nets Read proj_get_options proj_get_options Read proj_get_parameters Get all parameters defined at the project level. Read proj_get_path Get the full path of the currently focused project file. Read proj_get_stats Get design statistics from the compiled project. Read proj_get_unconnected_pins proj_get_unconnected_pins Read proj_list_documents proj_list_documents Read proj_list_open List all currently open projects in the Altium workspace. Read proj_list_outjob_containers proj_list_outjob_containers Read proj_list_variants proj_list_variants Read proj_load_sheets proj_load_sheets Read sch_get_constraint_groups sch_get_constraint_groups Read sch_get_directives sch_get_directives Read sch_get_sheet_parameters sch_get_sheet_parameters Read sch_render_svg sch_render_svg Read sim_get_readiness sim_get_readiness

Related servers

Other MCP servers with similar tools — same risk classification, starter policies for each.

Questions about Eda Agent

Can an AI agent delete data through the Eda Agent MCP server? +

Yes. The Eda Agent server exposes 12 destructive tools including lib_uninstall_library, obj_batch_delete, obj_delete. These permanently remove resources with no undo. PolicyLayer blocks destructive tools by default so they never reach the upstream server.

How do I prevent bulk modifications through Eda Agent? +

The Eda Agent server has 182 write tools including app_create_document, app_detach, app_ping. Set a rate limit in your policy -- for example, 10 calls per hour prevents an agent from making more than 10 modifications per hour. PolicyLayer enforces this at the gateway, before calls reach Eda Agent.

How many tools does the Eda Agent MCP server expose? +

345 tools across 4 categories: Destructive, Execute, Read, Write. 126 are read-only. 219 can modify, create, or delete data.

How do I enforce a policy on Eda Agent? +

Register the Eda Agent MCP server in PolicyLayer, apply the suggested rules above (adjust the limits to your use case), and point your AI client at the PolicyLayer proxy URL instead of the server directly. Your agents keep the same tools; PolicyLayer evaluates every call against policy before it executes. Nothing to install, live in minutes.

Enforce policy on every Eda Agent tool call.

Deterministic rules across all 345 Eda Agent tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.

Instant setup, no code required.

345 Eda Agent tools catalogued and risk-classified — across an index of 46,500+ MCP servers.

// WHERE THIS COMES FROM

These policies come from Eda Agent's registry record.

The record behind this page: verified identity, auth posture, risk grade, every tool classified, recommended policy — re-checked continuously.

Teams ship this data inside their own products. See what a licence covers →

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.