UNPKG

domotz-mcp

Version:

MCP server for Domotz API and BMS (Building Management System) integration with IoT device monitoring

51 lines (50 loc) 1.72 kB
import { z } from "zod"; import axios from "axios"; import { BaseDomotzTool } from "./BaseDomotzTool.js"; export default class GetAllAgentsTool extends BaseDomotzTool { name = "get_all_agents"; description = "Get a list of all Domotz agents"; schema = { page_size: { type: z.number().min(1).max(100).default(50), description: "Number of agents per page (1-100)" }, page_number: { type: z.number().min(0).default(0), description: "Page number (0-based)" } }; async execute(input) { const apiEndpoint = process.env.DOMOTZ_API_ENDPOINT || "https://api-eu-west-1-cell-1.domotz.com/public-api/v1/"; if (!this.apiKey) { throw new Error("DOMOTZ_API_KEY environment variable is not set"); } try { const response = await axios.get(`${apiEndpoint}agent`, { headers: { "X-Api-Key": this.apiKey, "Content-Type": "application/json" }, params: { page_size: input.page_size || 50, page_number: input.page_number || 0 } }); return { success: true, agents: response.data, count: response.data.length, page_size: input.page_size || 50, page_number: input.page_number || 0 }; } catch (error) { return { success: false, error: error.message, status: error.response?.status, data: error.response?.data }; } } }