Skip to main content
Glama

Binalyze AIR MCP Server

Official
by binalyze
MIT License
66
7
  • Linux
  • Apple
export.ts4.4 kB
/** * Cases Export API Module * * This module provides functions to interact with the Binalyze AIR API * for exporting case information. */ import axios from 'axios'; import { config } from '../../../config'; export interface ExportCasesResponse { success: boolean; statusCode: number; errors: string[]; } export interface ExportCaseNotesResponse { success: boolean; statusCode: number; errors: string[]; } export interface ExportCaseEndpointsResponse { success: boolean; statusCode: number; errors: string[]; } export interface ExportCaseActivitiesResponse { success: boolean; statusCode: number; errors: string[]; } export const exportApi = { async exportCases(organizationIds: string | string[] = '0'): Promise<ExportCasesResponse> { try { const orgIds = Array.isArray(organizationIds) ? organizationIds.join(',') : organizationIds; const response = await axios.get( `${config.airHost}/api/public/cases/export`, { params: { 'filter[organizationIds]': orgIds }, headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${config.airApiToken}` } } ); return { success: response.status === 200, statusCode: response.status, errors: [] }; } catch (error) { console.error('Error exporting cases:', error); if (axios.isAxiosError(error) && error.response) { return { success: false, statusCode: error.response.status, errors: [error.message] }; } throw error; } }, async exportCaseNotes(caseId: string): Promise<ExportCaseNotesResponse> { try { const response = await axios.get( `${config.airHost}/api/public/cases/${caseId}/notes/export`, { headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${config.airApiToken}` } } ); return { success: response.status === 200, statusCode: response.status, errors: [] }; } catch (error) { console.error('Error exporting case notes:', error); if (axios.isAxiosError(error) && error.response) { return { success: false, statusCode: error.response.status, errors: [error.message] }; } throw error; } }, async exportCaseEndpoints(caseId: string, organizationIds: string | string[] = '0'): Promise<ExportCaseEndpointsResponse> { try { const orgIds = Array.isArray(organizationIds) ? organizationIds.join(',') : organizationIds; const response = await axios.get( `${config.airHost}/api/public/cases/${caseId}/endpoints/export`, { params: { 'filter[organizationIds]': orgIds }, headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${config.airApiToken}` } } ); return { success: response.status === 200, statusCode: response.status, errors: [] }; } catch (error) { console.error('Error exporting case endpoints:', error); if (axios.isAxiosError(error) && error.response) { return { success: false, statusCode: error.response.status, errors: [error.message] }; } throw error; } }, async exportCaseActivities(caseId: string): Promise<ExportCaseActivitiesResponse> { try { const response = await axios.get( `${config.airHost}/api/public/cases/${caseId}/activities/export`, { headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${config.airApiToken}` } } ); return { success: response.status === 200, statusCode: response.status, errors: [] }; } catch (error) { console.error('Error exporting case activities:', error); if (axios.isAxiosError(error) && error.response) { return { success: false, statusCode: error.response.status, errors: [error.message] }; } throw error; } } };

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/binalyze/air-mcp'

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