list-devices
Retrieve a list of NodeMCU/ESP8266 IoT devices managed by the NodeMCU MCP Service for remote control and AI-assisted integration. Simplify device monitoring and management.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- mcp_server_sdk.js:25-50 (handler)Handler for 'list-devices' tool using official MCP SDK. Calls deviceManager.getAllDevices() and formats response as MCP content.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() in custom MCP server implementation. Fetches and maps devices from DeviceManager.async 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 implementation (no parameters, description provided)."list-devices": { description: "List all registered NodeMCU devices and their status", parameters: {} },
- mcp_server.js:13-57 (registration)Tool definitions object including registration of 'list-devices' sent during MCP initialization.this.toolDefinitions = { "list-devices": { description: "List all registered NodeMCU devices and their status", parameters: {} }, "get-device": { description: "Get detailed information about a specific NodeMCU device", parameters: { deviceId: { type: "string", description: "The ID of the device to get information about" } } }, "send-command": { description: "Send a command to a NodeMCU device", parameters: { deviceId: { type: "string", description: "The ID of the device to send the command to" }, command: { type: "string", description: "The command to send (restart, update, status, etc.)" }, params: { type: "object", description: "Optional parameters for the command" } } }, "update-config": { description: "Update the configuration of a NodeMCU device", parameters: { deviceId: { type: "string", description: "The ID of the device to update configuration for" }, config: { type: "object", description: "Configuration parameters to update" } } } };
- services/DeviceManager.js:76-78 (helper)Core helper method getAllDevices() in DeviceManager that returns all tracked devices.getAllDevices() { return Array.from(this.devices.values()); }