Skip to main content
Glama

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
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • 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}`);
        }
      }
    );
  • 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
      };
    }
  • 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"
          }
        }
      }
    };
  • Core helper method getAllDevices() in DeviceManager that returns all tracked devices.
    getAllDevices() {
      return Array.from(this.devices.values());
    }
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/mcp-server-nodemcu'

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