get-device
Retrieve detailed information about a specific NodeMCU/ESP8266 IoT device by providing its unique device ID, enabling efficient remote management and control.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| deviceId | Yes | The ID of the device to get information about |
Implementation Reference
- mcp_server_sdk.js:53-81 (handler)SDK-based handler for the 'get-device' tool. Validates input with Zod, retrieves device from DeviceManager, and returns formatted JSON response.server.tool( "get-device", { deviceId: z.string().describe("The ID of the device to get information about") }, async ({ deviceId }) => { try { if (!deviceId) { throw new Error('Device ID is required'); } const device = deviceManager.getDevice(deviceId); if (!device) { throw new Error(`Device not found: ${deviceId}`); } return { content: [{ type: "text", text: JSON.stringify(device, null, 2) }] }; } catch (error) { console.error('Error getting device:', error); throw new Error(`Failed to get device: ${error.message}`); } } );
- mcp_server.js:132-145 (handler)Custom MCP implementation handler for 'get-device' tool. Validates deviceId, fetches from DeviceManager, returns device object.// Tool implementation: Get device details async getDevice(deviceId) { if (!deviceId) { throw new Error('Device ID is required'); } const device = deviceManager.getDevice(deviceId); if (!device) { throw new Error(`Device not found: ${deviceId}`); } return device; }
- mcp_server.js:18-26 (registration)Tool registration and schema definition for 'get-device' in custom MCP server toolDefinitions."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" } } },
- services/DeviceManager.js:85-87 (helper)Core helper method in DeviceManager that retrieves device by ID from internal map.getDevice(deviceId) { return this.devices.get(deviceId) || null; }
- mcp_server_sdk.js:55-57 (schema)Zod schema for 'get-device' tool parameters in SDK implementation.{ deviceId: z.string().describe("The ID of the device to get information about") },