Skip to main content
Glama

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
NameRequiredDescriptionDefault
deviceIdYesThe ID of the device to get information about

Implementation Reference

  • 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}`);
        }
      }
    );
  • 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;
    }
  • 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;
    }
  • 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"
        }
      }
  • 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")
    },
Install Server

Other Tools

Related Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/amanasmuei/nodemcu-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server