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()); }

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