UNPKG

@asanstefanski/everhour-mcp-server

Version:

Complete Everhour API integration for Model Context Protocol (MCP) with 100% endpoint coverage

85 lines 5.15 kB
import { EverHourClient, EverHourProject, EverHourTask, EverHourTimeRecord, EverHourTimer, EverHourUser, EverHourSection, CreateTimeRecordParams, UpdateTimeRecordParams, CreateProjectParams, UpdateProjectParams, CreateTaskParams, UpdateTaskParams, CreateClientParams, UpdateClientParams, CreateSectionParams, UpdateSectionParams, TimerStartParams, ListParams } from '../types/everhour.js'; export declare class EverHourApiClient { private client; private apiKey; private baseUrl; constructor(apiKey: string, baseUrl?: string); getProjects(params?: ListParams): Promise<EverHourProject[]>; getProject(id: string): Promise<EverHourProject>; createProject(params: CreateProjectParams): Promise<EverHourProject>; updateProject(id: string, params: UpdateProjectParams): Promise<EverHourProject>; deleteProject(id: string): Promise<void>; getTasks(params?: ListParams): Promise<EverHourTask[]>; getTask(id: string): Promise<EverHourTask>; createTask(projectId: string, params: CreateTaskParams): Promise<EverHourTask>; updateTask(id: string, params: UpdateTaskParams): Promise<EverHourTask>; deleteTask(id: string): Promise<void>; getTasksForProject(projectId: string, params?: ListParams): Promise<EverHourTask[]>; updateTaskEstimate(id: string, estimate: number): Promise<EverHourTask>; deleteTaskEstimate(id: string): Promise<void>; addTimeToTask(id: string, timeParams: CreateTimeRecordParams): Promise<EverHourTimeRecord>; updateTaskTime(id: string, timeParams: UpdateTimeRecordParams): Promise<EverHourTimeRecord>; deleteTaskTime(id: string): Promise<void>; getTaskTime(id: string): Promise<EverHourTimeRecord[]>; getProjectTime(id: string): Promise<EverHourTimeRecord[]>; getUserTime(id: number, params?: { from?: string; to?: string; limit?: number; page?: number; }): Promise<EverHourTimeRecord[]>; getTimeRecords(params?: ListParams): Promise<EverHourTimeRecord[]>; createTimeRecord(params: CreateTimeRecordParams): Promise<EverHourTimeRecord>; updateTimeRecord(id: number, params: UpdateTimeRecordParams): Promise<EverHourTimeRecord>; deleteTimeRecord(id: number): Promise<void>; getTimeRecord(id: number): Promise<EverHourTimeRecord>; getCurrentTimer(): Promise<EverHourTimer | null>; getRunningTimer(): Promise<EverHourTimer | null>; getAllTeamTimers(): Promise<EverHourTimer[]>; startTimer(params: TimerStartParams): Promise<EverHourTimer>; startTimerForTask(taskId: string, comment?: string): Promise<EverHourTimer>; stopTimer(timerId?: number): Promise<EverHourTimeRecord>; getTimers(params?: ListParams): Promise<EverHourTimer[]>; getClients(params?: ListParams): Promise<EverHourClient[]>; getClient(id: number): Promise<EverHourClient>; createClient(params: CreateClientParams): Promise<EverHourClient>; updateClient(id: number, params: UpdateClientParams): Promise<EverHourClient>; deleteClient(id: number): Promise<void>; getUsers(params?: ListParams): Promise<EverHourUser[]>; getCurrentUser(): Promise<EverHourUser>; getTimecards(params?: ListParams): Promise<any[]>; getTimecard(id: number): Promise<any>; getUserTimecards(userId: number, params?: ListParams): Promise<any[]>; updateTimecard(id: number, params: any): Promise<any>; deleteTimecard(id: number): Promise<void>; clockIn(userId: number, date?: string): Promise<any>; clockOut(userId: number): Promise<any>; getInvoices(params?: ListParams): Promise<any[]>; getInvoice(id: number): Promise<any>; createInvoice(params: any): Promise<any>; updateInvoice(id: number, params: any): Promise<any>; deleteInvoice(id: number): Promise<void>; refreshInvoiceLineItems(id: number): Promise<any>; updateInvoiceStatus(id: number, status: 'draft' | 'sent' | 'paid'): Promise<any>; exportInvoice(id: number, system: 'xero' | 'quickbooks' | 'freshbooks'): Promise<any>; getExpenses(params?: ListParams): Promise<any[]>; createExpense(params: any): Promise<any>; updateExpense(id: number, params: any): Promise<any>; deleteExpense(id: number): Promise<void>; getExpenseCategories(): Promise<any[]>; createExpenseCategory(name: string): Promise<any>; updateExpenseCategory(id: number, name: string): Promise<any>; deleteExpenseCategory(id: number): Promise<void>; createExpenseAttachment(file: any): Promise<any>; addAttachmentToExpense(expenseId: number, attachmentId: number): Promise<any>; getAllSections(params?: ListParams): Promise<EverHourSection[]>; getSections(projectId: string, params?: ListParams): Promise<EverHourSection[]>; getSection(id: string): Promise<EverHourSection>; createSection(params: CreateSectionParams): Promise<EverHourSection>; updateSection(id: string, params: UpdateSectionParams): Promise<EverHourSection>; deleteSection(id: string): Promise<void>; testConnection(): Promise<boolean>; formatTime(seconds: number): string; parseTimeToSeconds(timeString: string): number; } //# sourceMappingURL=everhour-client.d.ts.map