pocketsmith-mcp
Version:
MCP server for managing budgets via PocketSmith API
117 lines (116 loc) • 3.59 kB
TypeScript
/**
* @fileoverview Get budget analysis from PocketSmith
*/
import { z } from "zod";
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { RequestContext } from "../../../utils/index.js";
export declare const GetBudgetsInputSchema: 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 GetBudgetsInput = z.infer<typeof GetBudgetsInputSchema>;
export declare const GetBudgetsResponseSchema: z.ZodObject<{
budgetAnalysis: z.ZodArray<z.ZodObject<{
category: z.ZodObject<{
id: z.ZodNumber;
title: z.ZodString;
}, "strip", z.ZodTypeAny, {
title: string;
id: number;
}, {
title: string;
id: number;
}>;
budget: z.ZodOptional<z.ZodNumber>;
actual: z.ZodNumber;
difference: z.ZodNumber;
percentage: z.ZodOptional<z.ZodNumber>;
period: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
category: {
title: string;
id: number;
};
actual: number;
difference: number;
period?: string | undefined;
budget?: number | undefined;
percentage?: number | undefined;
}, {
category: {
title: string;
id: number;
};
actual: number;
difference: number;
period?: string | undefined;
budget?: number | undefined;
percentage?: number | undefined;
}>, "many">;
summary: z.ZodObject<{
totalBudgeted: z.ZodNumber;
totalActual: z.ZodNumber;
totalDifference: z.ZodNumber;
categoriesOverBudget: z.ZodNumber;
categoriesUnderBudget: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
totalBudgeted: number;
totalActual: number;
totalDifference: number;
categoriesOverBudget: number;
categoriesUnderBudget: number;
}, {
totalBudgeted: number;
totalActual: number;
totalDifference: number;
categoriesOverBudget: number;
categoriesUnderBudget: number;
}>;
}, "strip", z.ZodTypeAny, {
summary: {
totalBudgeted: number;
totalActual: number;
totalDifference: number;
categoriesOverBudget: number;
categoriesUnderBudget: number;
};
budgetAnalysis: {
category: {
title: string;
id: number;
};
actual: number;
difference: number;
period?: string | undefined;
budget?: number | undefined;
percentage?: number | undefined;
}[];
}, {
summary: {
totalBudgeted: number;
totalActual: number;
totalDifference: number;
categoriesOverBudget: number;
categoriesUnderBudget: number;
};
budgetAnalysis: {
category: {
title: string;
id: number;
};
actual: number;
difference: number;
period?: string | undefined;
budget?: number | undefined;
percentage?: number | undefined;
}[];
}>;
export type GetBudgetsResponse = z.infer<typeof GetBudgetsResponseSchema>;
export declare function getBudgetsLogic(params: GetBudgetsInput, context: RequestContext): Promise<GetBudgetsResponse>;
export declare const registerGetBudgetsTool: (server: McpServer) => Promise<void>;