Skip to main content
Glama

Home Assistant MCP Server

light.ts3.16 kB
// https://www.home-assistant.io/integrations/light/#action-lightturn_on import { z } from "zod"; export default z.object({ action: z.enum(["turn_on", "turn_off", "toggle"]), domain: z.literal("light"), service_data: z.object({ entity_id: z .union([ z.string().describe("Single entity ID of the light"), z .array(z.string()) .nonempty() .describe("Array of entity IDs for multiple lights"), ]) .describe("Entity ID(s) of the light(s) to control"), }), transition: z .number() .nonnegative() .default(0) .describe("Transition duration in seconds (default: 0)"), profile: z.string().optional().describe("Name of built-in or custom profile"), hs_color: z .tuple([ z.number().min(0).max(360).describe("Hue value (0-360)"), z.number().min(0).max(100).describe("Saturation value (0-100)"), ]) .optional() .describe("Hue and saturation color values"), xy_color: z .tuple([ z.number().min(0).max(1).describe("X coordinate (0-1)"), z.number().min(0).max(1).describe("Y coordinate (0-1)"), ]) .optional() .describe("XY color coordinates"), rgb_color: z .tuple([ z.number().min(0).max(255), z.number().min(0).max(255), z.number().min(0).max(255), ]) .optional() .describe("RGB color values (0-255)"), rgbw_color: z .tuple([ z.number().min(0).max(255), z.number().min(0).max(255), z.number().min(0).max(255), z.number().min(0).max(255), ]) .optional() .describe("RGBW color values (0-255)"), rgbww_color: z .tuple([ z.number().min(0).max(255), z.number().min(0).max(255), z.number().min(0).max(255), z.number().min(0).max(255), z.number().min(0).max(255), ]) .optional() .describe("RGBWW color values (0-255)"), color_temp_kelvin: z .number() .min(1000) .max(40000) .optional() .describe("Color temperature in Kelvin"), kelvin: z .number() .min(1000) .max(40000) .optional() .describe("Deprecated: Use color_temp_kelvin instead"), color_temp: z .number() .optional() .describe("Deprecated: Color temperature in Mireds"), color_name: z.string().optional().describe("CSS3 color name"), brightness: z .number() .min(0) .max(255) .optional() .describe("Brightness level (0-255)"), brightness_pct: z .number() .min(0) .max(100) .optional() .describe("Brightness percentage (0-100)"), brightness_step: z .number() .min(-255) .max(255) .optional() .describe("Incremental brightness adjustment (-255 to 255)"), brightness_step_pct: z .number() .min(-100) .max(100) .optional() .describe("Incremental brightness percentage adjustment (-100 to 100)"), white: z.boolean().default(false).describe("Set the light to white mode"), flash: z .enum(["short", "long"]) .optional() .describe("Flash duration: short or long"), effect: z .string() .optional() .describe("Effect name (e.g., colorloop, random)"), });

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/oleander/home-assistant-mcp-server'

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