pocketsmith-mcp
Version:
MCP server for managing budgets via PocketSmith API
147 lines (146 loc) • 4.24 kB
TypeScript
/**
* @fileoverview Get a specific transaction by ID from PocketSmith
*/
import { z } from "zod";
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { RequestContext } from "../../../utils/index.js";
export declare const GetTransactionInputSchema: z.ZodObject<{
apiKey: z.ZodOptional<z.ZodString>;
accessToken: z.ZodOptional<z.ZodString>;
transactionId: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
transactionId: number;
apiKey?: string | undefined;
accessToken?: string | undefined;
}, {
transactionId: number;
apiKey?: string | undefined;
accessToken?: string | undefined;
}>;
export type GetTransactionInput = z.infer<typeof GetTransactionInputSchema>;
export declare const GetTransactionResponseSchema: z.ZodObject<{
transaction: z.ZodObject<{
id: z.ZodNumber;
payee: z.ZodString;
amount: z.ZodNumber;
date: z.ZodString;
note: z.ZodNullable<z.ZodString>;
category: z.ZodOptional<z.ZodObject<{
id: z.ZodNumber;
title: z.ZodString;
colour: z.ZodNullable<z.ZodString>;
}, "strip", z.ZodTypeAny, {
title: string;
id: number;
colour: string | null;
}, {
title: string;
id: number;
colour: string | null;
}>>;
account: z.ZodObject<{
id: z.ZodNumber;
name: z.ZodString;
type: z.ZodString;
}, "strip", z.ZodTypeAny, {
type: string;
name: string;
id: number;
}, {
type: string;
name: string;
id: number;
}>;
currency_code: z.ZodString;
type: z.ZodString;
created_at: z.ZodOptional<z.ZodString>;
updated_at: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
type: string;
id: number;
date: string;
currency_code: string;
payee: string;
amount: number;
note: string | null;
account: {
type: string;
name: string;
id: number;
};
category?: {
title: string;
id: number;
colour: string | null;
} | undefined;
created_at?: string | undefined;
updated_at?: string | undefined;
}, {
type: string;
id: number;
date: string;
currency_code: string;
payee: string;
amount: number;
note: string | null;
account: {
type: string;
name: string;
id: number;
};
category?: {
title: string;
id: number;
colour: string | null;
} | undefined;
created_at?: string | undefined;
updated_at?: string | undefined;
}>;
}, "strip", z.ZodTypeAny, {
transaction: {
type: string;
id: number;
date: string;
currency_code: string;
payee: string;
amount: number;
note: string | null;
account: {
type: string;
name: string;
id: number;
};
category?: {
title: string;
id: number;
colour: string | null;
} | undefined;
created_at?: string | undefined;
updated_at?: string | undefined;
};
}, {
transaction: {
type: string;
id: number;
date: string;
currency_code: string;
payee: string;
amount: number;
note: string | null;
account: {
type: string;
name: string;
id: number;
};
category?: {
title: string;
id: number;
colour: string | null;
} | undefined;
created_at?: string | undefined;
updated_at?: string | undefined;
};
}>;
export type GetTransactionResponse = z.infer<typeof GetTransactionResponseSchema>;
export declare function getTransactionLogic(params: GetTransactionInput, context: RequestContext): Promise<GetTransactionResponse>;
export declare const registerGetTransactionTool: (server: McpServer) => Promise<void>;