list-devices
Retrieve a list of connected ESP8266/NodeMCU IoT devices from the NodeMCU MCP Service for streamlined device management and monitoring.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- mcp_server_sdk.js:25-50 (handler)Primary handler for 'list-devices' tool using official MCP SDK. Registers the tool, defines empty schema, and implements logic to list devices via DeviceManager.getAllDevices()server.tool( "list-devices", {}, // No parameters required async () => { try { const devices = deviceManager.getAllDevices(); return { content: [{ type: "text", text: JSON.stringify({ devices: devices.map(device => ({ id: device.id, name: device.name, status: device.status, lastSeen: device.lastSeen })), count: devices.length }, null, 2) }] }; } catch (error) { console.error('Error listing devices:', error); throw new Error(`Failed to list devices: ${error.message}`); } } );
- mcp_server.js:119-130 (handler)Handler function listDevices() implementing the core tool logic in the custom MCP server implementationasync listDevices() { const devices = deviceManager.getAllDevices(); return { devices: devices.map(device => ({ id: device.id, name: device.name, status: device.status, lastSeen: device.lastSeen })), count: devices.length }; }
- mcp_server.js:14-17 (schema)Schema definition for 'list-devices' tool in custom MCP server (no parameters, description provided)"list-devices": { description: "List all registered NodeMCU devices and their status", parameters: {} },
- services/DeviceManager.js:76-78 (helper)Supporting helper method getAllDevices() that returns all devices from the internal devices Map, called by both tool handlersgetAllDevices() { return Array.from(this.devices.values()); }
- mcp_server_sdk.js:25-27 (registration)Tool registration call in MCP SDK with name and schemaserver.tool( "list-devices", {}, // No parameters required