UNPKG

mcp-vessel-accounts

Version:

MCP server for vessel account management including EyeShare API integration, vessel expenses, and purchase orders

135 lines (134 loc) 3.21 kB
export interface EyeShareTokenResponse { access_token: string; expires_in: number; token_type: string; scope: string; } export interface Vessel { key: string; name: string; imo?: string; mmsi?: string; callSign?: string; flag?: string; vesselType?: string; grossTonnage?: number; netTonnage?: number; deadweight?: number; length?: number; beam?: number; draft?: number; yearBuilt?: number; builder?: string; owner?: string; manager?: string; operator?: string; } export interface Invoice { id: string; invoiceNumber: string; invoiceDate: string; dueDate: string; amount: number; currency: string; status: string; vessel: { key: string; name: string; }; supplier: { name: string; code: string; }; description: string; attachments?: Attachment[]; } export interface Attachment { id: string; fileName: string; fileSize: number; contentType: string; uploadDate: string; description?: string; } export interface SearchRequest { Page: { Skip: number; Limit: number; }; Filters: { Equality: Array<{ Field: string; StringValue?: string; BoolValue?: boolean; ExactMatch?: boolean; }>; Contains: Array<{ Field: string; StringValue?: string; StringList?: string[]; ExactMatch?: boolean; }>; OpenInterval: any[]; ClosedInterval: Array<{ Field: string; FromDateTimeValue: string; ToDateTimeValue: string; }>; Regex: any[]; Arrays: any[]; SubSet: Array<{ FilterSet: { Equality: Array<{ Field: string; StringValue?: string; BoolValue?: boolean; ExactMatch?: boolean; }>; Contains: any[]; OpenInterval: any[]; ClosedInterval: any[]; Regex: any[]; Arrays: any[]; SubSet: any[]; TextIndex: any[]; StartsWith: Array<{ Field: string; Value: string; CaseSensitive: boolean; AllowStartWithWildcard: boolean; }>; WildCard: any[]; }; Or?: boolean; }>; TextIndex: any[]; StartsWith: Array<{ Field: string; Value: string; CaseSensitive?: boolean; AllowStartWithWildcard: boolean; }>; WildCard: any[]; Features: { ExtendedAccess: boolean; View: string; }; }; Sort: any[]; CountOnly: boolean; } export interface ToolArguments { [key: string]: any; } export type ToolResponse = Array<{ type: "text"; text: string; }>; export interface ApiConfig { baseUrl: string; clientId: string; clientSecret: string; companyCode: string; module: string; }