@sanlim/home-assistant-switch-mcp-server
Version:
A MCP server for Home Assistant switch services.
34 lines (33 loc) • 1.02 kB
JavaScript
export class HomeAssistantApiClientService {
baseUrl;
token;
constructor(config) {
this.baseUrl = config.baseUrl;
this.token = config.token;
}
async makeRequest(endpoint, method = 'GET', data) {
const url = `${this.baseUrl}/api/${endpoint}`;
const headers = {
'Authorization': `Bearer ${this.token}`,
'Content-Type': 'application/json',
};
const requestOptions = {
method,
headers,
};
if (data && method === 'POST') {
requestOptions.body = JSON.stringify(data);
}
try {
const response = await fetch(url, requestOptions);
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
return (await response.json());
}
catch (error) {
process.stderr.write(`Error making Home Assistant request: ${error}\n`);
return null;
}
}
}