PCBI_AI_Agent.MCP.Implementations Namespace

 

Classes

ActivateLayersCommand Command that activates one or more layers by name. Expects a comma-separated list of layer names and a flag indicating whether to first deactivate all layers. Returns a message indicating how many layers were activated.
ActivateStepCommand Command that activates a specified step by name. Expects the step name as a parameter and returns a confirmation message if successful.
AddMPNPackageCommand Command that adds missing test models to all components of the currently loaded design.
AddTestModelsCommand Command that adds missing test models to all components of the currently loaded design.
ClearSelectionCommand Command that clears the current selection. Returns a confirmation message upon successful clearance.
ExecuteMenuButtonCommand Command that executes another command identified by its CommandID. Expects the command ID as a parameter. Returns a confirmation message if the execution was successful.
GetActivateLayersCommand Command that retrieves the names of all active layers in the current step. Returns a comma-separated string of layer names. In case of an error (e.g. invalid JSON), a descriptive error message is returned.
GetAllComponentPackageNamesCommand Returns distinct package names with optional side filter (top/bottom) and counts. Optionally includes a comma separated list of component references per package.
GetAllComponentPartNumbersCommand Returns distinct part numbers with optional side filter (top/bottom) and counts. Optionally includes a comma separated list of component references per part number.
GetAllComponentReferencesCommand Command that retrieves a comma-separated list of all component references (names) from the currently active step. Return Value: A comma-separated string of component references.
GetAllLayerNamesCommand Command that retrieves a list of all layers along with their types. Returns a JSON object with an array of layers; each layer includes its name and type. Example JSON: { "layers": [ { "name": "layer1", "type": "signal" }, { "name": "layer2", "type": "power" } ] }
GetAllNetNamesCommand Command that retrieves a comma-separated list of all net names from the currently active step. Return Value: A comma-separated string of net names.
GetAllStepNamesCommand Command that retrieves a list of all steps with their details. Returns a JSON object with an array of steps. Each step contains its name, bounds, panel flag, and active flag. Example JSON: { "steps": [ { "name": "step1", "bounds": "[x,y,w,h]", "isPanel": false, "isActive": true }, { "name": "step2", "bounds": "[x,y,w,h]", "isPanel": true, "isActive": false } ] }
GetComponentPropertiesCommand Command that retrieves selected properties for specified components. Always includes "Name" as the first field. Supports filtering by known fields and dynamic properties. If no fields are specified, all standard fields and all dynamic properties are returned.
GetComponentsByPropertyCommand MCP-Tool zum Filtern von Komponenten anhand Standard- und benutzerdefinierter Eigenschaften. Unterstützt Filter wie partnumber, packagename, mpn, manufacturer, reference, topside, notinbom, pincount, mounttype sowie beliebige weitere Property-Namen. Gibt eine Liste von Komponenten-Referenzen zurück, die den angegebenen Kriterien entsprechen.
GetComponentStandardAttributesCommand Lists standard component attribute metadata (enum name, display name, type, min, max, unit dependencies, enum options). Does not include user attributes.
GetConnectedPinsForNetCommand Command that returns a list of all connected pins for a specified net in the currently active step. The pins are returned in the format "RefName-PinIndex" and included in both structured and human-readable output.
GetCurrentImage Command that retrieves a Base64-encoded PNG image of the currently visible CAD data area in PCB-Investigator. The image is returned using the standard image content format (type, data, mimeType).
GetDesignHistoryCommand Command that retrieves design history entries from the loaded job based on specified filter parameters. Supports filtering by date, user, machine, category, task and description. Filters can be combined with logical AND or OR. Supported filters: - fromDate (string): UTC date/time in format 'yyyy-MM-ddTHH:mm:ss' to filter logs after or on this date. - toDate (string): UTC date/time in format 'yyyy-MM-ddTHH:mm:ss' to filter logs before or on this date. - userName (string): Exact or wildcard match (e.g., '*admin') for user name. - machineName (string): Exact or wildcard match for machine name. - category (string): Must be a valid enum name from TaskCategory (e.g., 'MachineExport'). - task (string): Exact or wildcard match for task name. - description (string): Exact or wildcard match for log description. - andFilters (bool): If true, combine filters with AND; if false, with OR. Default: true.
GetJobInfoCommand Command that retrieves job-related information. Returns a JSON object containing the job name and the design metadata (excluding any keys containing 'image'). Example JSON: { "jobInfo": { "jobName": "MyJob", "designMetadata": { "key1": "value1", "key2": "value2", ... } } }
GetMainWindowImageWithDialogs Command that retrieves screenshots of the main PCB-Investigator window and all open dialog windows. Each image is returned using the standard image content format (type, data, mimeType).
GetMenuButtonListCommand Command that retrieves a list of all available commands along with their details. Returns a JSON object containing an array of command details.
GetNetDetailsCommand Command that retrieves detailed information for specified net names from the currently active step. Parameters: - names (string): A comma-separated list of net names for which details should be retrieved. Return Value: A JSON object containing an array named "netDetails" with the details of the matching nets. Each net detail includes the net name, its bounds, the number of net elements, and the component count.
GetNetsByPropertyCommand Command that retrieves a comma-separated list of nets (names) from the currently active step that satisfy the specified filter criteria. Return Value: A comma-separated string of net names that match all the provided filters.
GetSelectedComponentsCommand Command that retrieves the references (names) of all components currently selected. Returns a comma-separated string of component references.
GetSelectedNetsCommand Command that retrieves the net names of all nets that are currently selected. Returns a comma-separated string of net names.
GetStepRepeatCountsCommand 
GetURLContentCommand Command that retrieves a specified URL and returns its text content.
MeasureDistanceCommand 
OpenDocumentOrLinkCommand Command that opens a specified URL or PDF document. Expects a string representing the URL or PDF filename. Returns a confirmation message upon success or an error message if the document type is invalid.
SearchInRagIndexCommand Command to search in a RAG index
SearchWebCommand Command that searches the web for a specific search text.
SelectComponentsCommand Command that selects components based on their references. Expects a comma-separated list of component references and a boolean flag indicating whether to clear the current selection first. Returns a message indicating the number of components selected.
SelectNetsCommand Command that selects nets based on their names. Expects a comma-separated list of net names and a boolean flag indicating whether to clear the current selection first. Returns a message indicating the number of nets selected.
SetColorCommand Command that sets the color of specified components. Accepts a comma-separated list of component names and a color value (as an integer). Returns a confirmation message stating how many components were updated.
SetComponentPropertiesCommand Tool to batch update component data: standard attributes, properties, and internal fields (PartName, location, rotation, mirror). Only standard component attributes (FeatureAttributeEnum from IAttribute.GetAllComponentAttributeEnums) are supported (no user attributes). Deletion is done by passing null as value (attributeValue/propertyValue). Empty string does NOT delete. Location values are provided in locationUnit (mm or mil); rotation normalized to [0..360). FLOAT attributes: If IsUnitDependingINCHMM => input value expected in mm and converted internally to inch; If IsUnitDependingMILSMICRON => value expected in mil (no conversion). OPTION attributes must use one of EnumOptions. BOOLEAN accepts true/false. INTEGER must be numeric. TEXT stored verbatim.
ZoomToRectCommand Command that zooms the view to a specified rectangular area defined in world coordinates. Expects the X and Y coordinates, width, and height (all in mils) as parameters. Returns a confirmation message upon successful zoom.