UNPKG

@blario/mcp

Version:

Blar Model Context Protocol server

93 lines (92 loc) 2.82 kB
import { BLAR_API_BASE_ENV } from './config.js'; export const BLAR_API_BASE = BLAR_API_BASE_ENV; if (!BLAR_API_BASE) throw new Error('BLAR_API_BASE environment variable is not set'); class BlarAPIClient { getHeaders() { const API_KEY = process.env.API_KEY; if (!API_KEY) throw new Error('API_KEY environment variable is not set'); return { Authorization: `Api-Key ${API_KEY}`, 'Content-Type': 'application/json', }; } async makeRequest(url) { try { console.log(url); const response = await fetch(url, { headers: this.getHeaders(), }); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } return (await response.json()); } catch (error) { console.error('Error making Blar request:', error); return null; } } async makeRequestWithErrorHandling(url) { try { const response = await fetch(url, { headers: this.getHeaders(), }); if (!response.ok) { const errorData = await response.json(); return { data: null, error: errorData, status: response.status, }; } const data = (await response.json()); return { data, error: null, status: response.status, }; } catch (error) { console.error('Error making Blar request:', error); return { data: null, error: error, status: 500, }; } } async makePostRequest(url, data) { try { const response = await fetch(url, { method: 'POST', headers: this.getHeaders(), body: JSON.stringify(data), }); if (!response.ok) { const errorData = await response.json(); return { data: null, error: errorData, status: response.status, }; } const responseData = (await response.json()); return { data: responseData, error: null, status: response.status, }; } catch (error) { console.error('Error making Blar POST request:', error); return { data: null, error: error, status: 500, }; } } } export const blarAPIClient = new BlarAPIClient();