@baruchiro/actual-mcp
Version:
Actual Budget MCP server exposing API functionality
107 lines • 3.99 kB
TypeScript
import { TransactionData, UpdateTransactionData } from './types.js';
import { APIAccountEntity, APICategoryEntity, APICategoryGroupEntity, APIPayeeEntity } from '@actual-app/api/@types/loot-core/src/server/api-models.js';
import { RuleEntity, TransactionEntity } from '@actual-app/api/@types/loot-core/src/types/models/index.js';
/**
* Initialize the Actual Budget API
*/
export declare function initActualApi(): Promise<void>;
/**
* Shutdown the Actual Budget API
*/
export declare function shutdownActualApi(): Promise<void>;
/**
* Get all accounts (ensures API is initialized)
*/
export declare function getAccounts(): Promise<APIAccountEntity[]>;
/**
* Get all categories (ensures API is initialized)
*/
export declare function getCategories(): Promise<APICategoryEntity[]>;
/**
* Get all category groups (ensures API is initialized)
*/
export declare function getCategoryGroups(): Promise<APICategoryGroupEntity[]>;
/**
* Get all payees (ensures API is initialized)
*/
export declare function getPayees(): Promise<APIPayeeEntity[]>;
/**
* Get transactions for a specific account and date range (ensures API is initialized)
*/
export declare function getTransactions(accountId: string, start: string, end: string): Promise<TransactionEntity[]>;
/**
* Get all rules (ensures API is initialized)
*/
export declare function getRules(): Promise<RuleEntity[]>;
/**
* Create a new payee (ensures API is initialized)
*/
export declare function createPayee(args: Record<string, unknown>): Promise<string>;
/**
* Update a payee (ensures API is initialized)
*/
export declare function updatePayee(id: string, args: Record<string, unknown>): Promise<unknown>;
/**
* Delete a payee (ensures API is initialized)
*/
export declare function deletePayee(id: string): Promise<unknown>;
/**
* Create a new rule (ensures API is initialized)
*/
export declare function createRule(args: Record<string, unknown>): Promise<RuleEntity>;
/**
* Update a rule (ensures API is initialized)
*/
export declare function updateRule(args: Record<string, unknown>): Promise<RuleEntity>;
/**
* Delete a rule (ensures API is initialized)
*/
export declare function deleteRule(id: string): Promise<boolean>;
/**
* Create a new category (ensures API is initialized)
*/
export declare function createCategory(args: Record<string, unknown>): Promise<string>;
/**
* Update a category (ensures API is initialized)
*/
export declare function updateCategory(id: string, args: Record<string, unknown>): Promise<unknown>;
/**
* Delete a category (ensures API is initialized)
*/
export declare function deleteCategory(id: string): Promise<{
error?: string;
}>;
/**
* Create a new category group (ensures API is initialized)
*/
export declare function createCategoryGroup(args: Record<string, unknown>): Promise<string>;
/**
* Update a category group (ensures API is initialized)
*/
export declare function updateCategoryGroup(id: string, args: Record<string, unknown>): Promise<unknown>;
/**
* Delete a category group (ensures API is initialized)
*/
export declare function deleteCategoryGroup(id: string): Promise<unknown>;
/**
* Create a transaction (ensures API is initialized)
*/
export declare function createTransaction(accountId: string, data: TransactionData): Promise<string>;
/**
* Update a transaction (ensures API is initialized)
*/
export declare function updateTransaction(id: string, data: UpdateTransactionData): Promise<unknown>;
/**
* Delete a transaction (ensures API is initialized)
*/
export declare function deleteTransaction(id: string): Promise<unknown>;
/**
* Run bank sync for accounts (ensures API is initialized)
*
* @param accountId - Optional. Specific account ID, or special value:
* - "onbudget": sync all on-budget linked accounts
* - "offbudget": sync all off-budget linked accounts
* - undefined: sync ALL linked accounts
*/
export declare function runBankSync(accountId?: string): Promise<void>;
//# sourceMappingURL=actual-api.d.ts.map