UNPKG

@takashito/linode-mcp-server

Version:

MCP server for Linode API

92 lines (91 loc) 2.51 kB
import { AxiosInstance } from 'axios'; import { PaginatedResponse, PaginationParams } from './instances'; export interface LongviewClient { id: number; label: string; api_key: string; install_code: string; apps: { apache: boolean; nginx: boolean; mysql: boolean; }; created: string; updated: string; } export interface LongviewSubscription { id: string; label: string; clients_included: number; price: { hourly: number; monthly: number; }; } export interface LongviewData { timestamp: number; uptime: number; packages: { updates: number; }; load: [number, number, number]; cpu: { user: number; nice: number; system: number; wait: number; idle: number; }; memory: { total: number; used: number; free: number; buffers: number; cached: number; swap_total: number; swap_used: number; swap_free: number; }; network: { [networkInterface: string]: { rx_bytes: number; tx_bytes: number; rx_packets: number; tx_packets: number; }; }; disk: { [device: string]: { fs: string; mount_point: string; total: number; used: number; free: number; }; }; processes: { [process: string]: { user: string; count: number; cpu: number; mem: number; }; }; } export interface CreateLongviewClientRequest { label?: string; } export interface UpdateLongviewClientRequest { label: string; } export interface LongviewClientInterface { getLongviewClients(params?: PaginationParams): Promise<PaginatedResponse<LongviewClient>>; getLongviewClient(id: number): Promise<LongviewClient>; createLongviewClient(data?: CreateLongviewClientRequest): Promise<LongviewClient>; updateLongviewClient(id: number, data: UpdateLongviewClientRequest): Promise<LongviewClient>; deleteLongviewClient(id: number): Promise<void>; getLongviewSubscriptions(params?: PaginationParams): Promise<PaginatedResponse<LongviewSubscription>>; getLongviewSubscription(id: string): Promise<LongviewSubscription>; getLongviewData(id: number): Promise<LongviewData>; } export declare function createLongviewClient(axiosInstance: AxiosInstance): LongviewClientInterface;