# PocketSmith — MCP server on mcp.ai > Connect your PocketSmith account and use 14 tools for accounting straight from your AI agent. Connect with your own API key. PocketSmith is a personal finance platform for tracking accounts and transactions, managing budgets, and forecasting financial outcomes. By: mcp.ai · official Page: https://mcp.ai/pocketsmith ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_pocketsmith?ms=1787291520000 Add it as a custom/remote MCP connector, then authenticate when prompted. ## REST API (no MCP client required) Every tool is also a REST endpoint, authed with a workspace API key. Discover: GET https://api.mcp.ai/api/pocketsmith/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/pocketsmith/ Authorization: Bearer sk_live_… # create one at https://mcp.ai/settings/api-keys Content-Type: application/json Body: { …args } → { "ok": true, "tool": "", "result": { … } } ## Developer docs How to use (MCP or REST), markdown: https://mcp.ai/pocketsmith/skill.md Postman collection (v2.1): https://mcp.ai/pocketsmith/postman.json ## Tools - pocketsmith_create_category(color?: string, title: string, is_bill?: boolean, roll_up?: boolean, user_id: integer, is_transfer?: boolean, refund_behavior?: string, parent_category_id?: integer) — Create one category for a PocketSmith user with optional hierarchy and budgeting behavior. - pocketsmith_create_transaction(date: string, memo?: string, note?: string, payee: string, amount: number, labels?: string[], category_id?: integer, is_transfer?: boolean, needs_review?: boolean, cheque_number?: string, transaction_account_id: integer) — Create one transaction in a specified transaction account and return the created financial record. - pocketsmith_get_budget(roll_up?: boolean, user_id: integer) — Return a PocketSmith user's current category-level actual and forecast budget analysis. During probing, this read coincided with forecast cache access/update timestamps changing to the call timestamp - pocketsmith_get_budget_summary(period: string, user_id: integer, end_date: string, interval: integer, start_date: string) — Analyze the user's combined income and expense budget over a required date range and period interval. - pocketsmith_get_current_user() — Return the PocketSmith user authorized by the connected developer key, including the user ID needed by user-scoped tools. - pocketsmith_get_transaction(transaction_id: integer) — Return one PocketSmith transaction by ID with its amount, date, payee, category, labels, and review state. - pocketsmith_list_accounts(user_id: integer) — Return all financial accounts belonging to a PocketSmith user, including account, primary transaction-account, and scenario IDs. - pocketsmith_list_categories(user_id: integer) — Return all categories belonging to a PocketSmith user, including hierarchy and budgeting flags. - pocketsmith_list_transaction_accounts(user_id: integer) — Return the transaction accounts belonging to a PocketSmith user, including IDs and balances needed to create and query transactions. - pocketsmith_list_transactions(search?: string, user_id: integer, end_date?: string, per_page?: integer, start_date?: string, next_cursor?: string, needs_review?: boolean, uncategorized?: boolean, updated_since?: string, transaction_type?: string) — Return one page of a user's transactions with optional date, state, type, and keyword filters, plus a cursor for the next page. - pocketsmith_update_account(title?: string, account_id: integer, account_type?: string, is_net_worth?: boolean, currency_code?: string) — Update selected metadata on one financial account without deleting it or changing transaction-account balances. - pocketsmith_update_category(color?: string, title?: string, is_bill?: boolean, roll_up?: boolean, category_id: integer, is_transfer?: boolean, refund_behavior?: string, parent_category_id?: integer) — Update selected hierarchy, display, and budgeting fields on one category without deleting it. - pocketsmith_update_transaction(date?: string, memo?: string, note?: string, payee?: string, amount?: number, labels?: string[], category_id?: integer, is_transfer?: boolean, needs_review?: boolean, cheque_number?: string, clear_category?: boolean, transaction_id: integer) — Update selected fields on one existing transaction without deleting or splitting it. - pocketsmith_update_transactions(updates: object[]) — Update 1-20 distinct transactions sequentially. The operation is not atomic: successful updates are not rolled back, each item has an explicit outcome, and processing stops after an authentication, pe ## Example prompts - "What can I do in PocketSmith?" - "Show me a summary of my PocketSmith account" ## Links Docs: https://mcp.ai/docs/mcps/pocketsmith Website: https://mcp.ai/mcps/pocketsmith