UNPKG

@sanlim/home-assistant-switch-mcp-server

Version:
29 lines (28 loc) 1.15 kB
import { z } from "zod"; import { BaseToolsController } from "./base/BaseToolsController.js"; export class HomeAssistantStateToolsController extends BaseToolsController { service; constructor(server, service) { super(server); this.service = service; } registerTools() { this.registerStateServiceHandler(); } registerStateServiceHandler() { this.server.tool("home-assistant-states", "Get Home Assistant entity states. Can get all states, a specific entity state, or search by friendly name", { entity_id: z.string().optional().describe("The entity ID to get state for (e.g., 'switch.living_room_light')"), friendly_name: z.string().optional().describe("Search for entities by friendly name (e.g., 'living room')"), }, async ({ entity_id, friendly_name }) => { const text = await this.service.getStates({ entity_id, friendly_name }); return { content: [ { type: "text", text: text, }, ], }; }); } }