get-device
Retrieve detailed information about a specific ESP8266/NodeMCU IoT device using its unique device ID. Integrates with REST/WebSocket APIs and the Model Context Protocol for streamlined IoT management.
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)Primary handler for the 'get-device' tool using the official MCP SDK. Validates the deviceId parameter using Zod schema and retrieves detailed device information from the DeviceManager.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 server handler for the 'get-device' tool. Fetches and returns device details by ID from the DeviceManager.// 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; }
- services/DeviceManager.js:85-87 (helper)Core helper method in DeviceManager that retrieves a device object by ID from the internal devices Map.getDevice(deviceId) { return this.devices.get(deviceId) || null; }
- mcp_server.js:18-25 (schema)Input schema definition for the 'get-device' tool in the custom MCP server, specifying the required deviceId parameter."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" } }
- mcp_server_sdk.js:55-57 (schema)Zod-based input schema for the 'get-device' tool in the MCP SDK implementation.{ deviceId: z.string().describe("The ID of the device to get information about") },