mcp_call_mac_system_profiler
Retrieve detailed Mac system information for debugging and analysis. Access hardware specs, network settings, software details, and device connections to understand system configuration.
Instructions
Call the system_profiler with the given datatype. Allow LLM to deepdive into the
system information.
This function is used to get the system information to help user to understand the
system and potentially debug.
Allowed datatypes:
- SPAirPortDataType - Airport/WiFi information
- SPApplicationsDataType - Application information
- SPAudioDataType - Audio device information
- SPBluetoothDataType - Bluetooth information
- SPCameraDataType - Camera information
- SPDiagnosticsDataType - Diagnostic information
- SPDisplaysDataType - Display and graphics information
- SPFirewallDataType - Firewall settings
- SPHardwareDataType - Hardware specifications
- SPLocationDataType - Location services information
- SPMemoryDataType - Memory information
- SPNetworkDataType - Network settings and interfaces
- SPNVMeDataType - NVMe storage details
- SPPCIDataType - PCI devices information
- SPPowerDataType - Battery and power information
- SPSoftwareDataType - Software and OS information
- SPStorageDataType - Storage devices and volumes
- SPThunderboltDataType - Thunderbolt ports and connections
- SPUSBDataType - USB devices and connections
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| datatype | Yes |
Implementation Reference
- src/mcp_server_my_mac/server.py:48-77 (handler)The handler function for the 'mcp_call_mac_system_profiler' tool, including the registration decorator. It receives the datatype parameter and delegates to the load_system_profiler helper function.@mcp.tool(name="mcp_call_mac_system_profiler") async def mcp_call_mac_system_profiler(datatype: str) -> str: """ Call the system_profiler with the given datatype. Allow LLM to deepdive into the system information. This function is used to get the system information to help user to understand the system and potentially debug. Allowed datatypes: - SPAirPortDataType - Airport/WiFi information - SPApplicationsDataType - Application information - SPAudioDataType - Audio device information - SPBluetoothDataType - Bluetooth information - SPCameraDataType - Camera information - SPDiagnosticsDataType - Diagnostic information - SPDisplaysDataType - Display and graphics information - SPFirewallDataType - Firewall settings - SPHardwareDataType - Hardware specifications - SPLocationDataType - Location services information - SPMemoryDataType - Memory information - SPNetworkDataType - Network settings and interfaces - SPNVMeDataType - NVMe storage details - SPPCIDataType - PCI devices information - SPPowerDataType - Battery and power information - SPSoftwareDataType - Software and OS information - SPStorageDataType - Storage devices and volumes - SPThunderboltDataType - Thunderbolt ports and connections - SPUSBDataType - USB devices and connections """ return load_system_profiler(datatype)
- Core helper function that validates the input datatype and executes the macOS 'system_profiler' command using os.popen to retrieve system information.def load_system_profiler(datatype: str): if datatype not in ALLOWED_DATATYPES: raise ValueError( f"Invalid datatype: {datatype}. Allowed datatypes are: {ALLOWED_DATATYPES}" ) return os.popen(f"system_profiler {datatype}").read()
- Schema definition: Set of allowed datatypes for the system_profiler tool, used to validate input and restrict access to specific system information categories.ALLOWED_DATATYPES = set( [ "SPAirPortDataType", "SPApplicationsDataType", "SPAudioDataType", "SPBluetoothDataType", "SPCameraDataType", "SPDiagnosticsDataType", "SPDisplaysDataType", # Display information (resolution, graphics) "SPFirewallDataType", "SPHardwareDataType", "SPLocationDataType", "SPMemoryDataType", "SPNetworkDataType", "SPNVMeDataType", # NVMe storage details "SPPCIDataType", # PCI devices information "SPPowerDataType", # Battery and power information "SPSoftwareDataType", "SPStorageDataType", "SPThunderboltDataType", # Thunderbolt connections "SPUSBDataType", # USB devices ] )