pocketsmith-mcp
Version:
MCP server for managing budgets via PocketSmith API
89 lines (88 loc) • 3.23 kB
TypeScript
/**
* @fileoverview Get automatic categorization rules from PocketSmith
* Retrieves all automatic categorization rules for a user, which define how
* transactions are automatically categorized based on payee name patterns.
* Rules match against transaction payee names and automatically assign categories.
*/
import { z } from "zod";
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { RequestContext } from "../../../utils/index.js";
export declare const GetCategoryRulesInputSchema: z.ZodObject<{
apiKey: z.ZodOptional<z.ZodString>;
accessToken: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
apiKey?: string | undefined;
accessToken?: string | undefined;
}, {
apiKey?: string | undefined;
accessToken?: string | undefined;
}>;
export type GetCategoryRulesInput = z.infer<typeof GetCategoryRulesInputSchema>;
export declare const GetCategoryRulesResponseSchema: z.ZodObject<{
rules: z.ZodArray<z.ZodObject<{
id: z.ZodNumber;
category_id: z.ZodNumber;
category_title: z.ZodOptional<z.ZodString>;
payee_matches: z.ZodOptional<z.ZodString>;
created_at: z.ZodOptional<z.ZodString>;
updated_at: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
id: number;
category_id: number;
created_at?: string | undefined;
updated_at?: string | undefined;
category_title?: string | undefined;
payee_matches?: string | undefined;
}, {
id: number;
category_id: number;
created_at?: string | undefined;
updated_at?: string | undefined;
category_title?: string | undefined;
payee_matches?: string | undefined;
}>, "many">;
summary: z.ZodObject<{
totalRules: z.ZodNumber;
rulesWithPayeeMatching: z.ZodNumber;
categoriesWithRules: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
totalRules: number;
rulesWithPayeeMatching: number;
categoriesWithRules: number;
}, {
totalRules: number;
rulesWithPayeeMatching: number;
categoriesWithRules: number;
}>;
}, "strip", z.ZodTypeAny, {
summary: {
totalRules: number;
rulesWithPayeeMatching: number;
categoriesWithRules: number;
};
rules: {
id: number;
category_id: number;
created_at?: string | undefined;
updated_at?: string | undefined;
category_title?: string | undefined;
payee_matches?: string | undefined;
}[];
}, {
summary: {
totalRules: number;
rulesWithPayeeMatching: number;
categoriesWithRules: number;
};
rules: {
id: number;
category_id: number;
created_at?: string | undefined;
updated_at?: string | undefined;
category_title?: string | undefined;
payee_matches?: string | undefined;
}[];
}>;
export type GetCategoryRulesResponse = z.infer<typeof GetCategoryRulesResponseSchema>;
export declare function getCategoryRulesLogic(params: GetCategoryRulesInput, context: RequestContext): Promise<GetCategoryRulesResponse>;
export declare const registerGetCategoryRulesTool: (server: McpServer) => Promise<void>;