Skip to main content
Glama
Pocketsmith MCP Server

Pocketsmith MCP Server

by dannyshaw

Pocketsmith MCP Server

A comprehensive Model Context Protocol (MCP) server for the Pocketsmith personal finance API. Transform your AI assistant into a powerful financial management tool with access to accounts, budgets, transactions, and more.

Python 3.11+ License: MIT

Personal project β€” not published to PyPI. Install from source (see below).

✨ Features

πŸ’° Account Management

  • View all account balances (checking, savings, credit cards, investments)

  • Get detailed account information with transaction history

  • Track net worth across multiple accounts

πŸ“Š Budget & Analysis

  • Get budget summaries for any time period

  • Analyze per-category spending vs. budgets

  • View spending trends across categories

  • Compare actual vs. forecasted amounts

πŸ’³ Transaction Management

  • List, search, and filter transactions

  • Create new transactions (log cash purchases, manual entries)

  • Update transaction details (categorize, add notes, set labels)

  • Delete duplicate or incorrect transactions

  • Filter by account, category, date range, or review status

πŸ“ Category Management

  • List all categories with hierarchical structure

  • Create new categories and subcategories

  • Set up automatic categorization rules

  • Organize spending into custom categories

πŸ”„ Recurring Transactions

  • View upcoming bills and recurring expenses

  • Create recurring events (rent, subscriptions, paychecks)

  • Forecast future cash flow

  • Manage budget scenarios

🏷️ Labels & Organization

  • List and manage transaction labels

  • Tag transactions for easy filtering

  • Track tax-deductible expenses, business spending, etc.

Related MCP server: Actual Budget MCP Server

πŸ“¦ Installation

Install from source

git clone https://github.com/dannyshaw/pocketsmith-mcp.git
cd pocketsmith-mcp
pip install -e .

Or run directly with uv from the source directory (no install needed) β€” configure your MCP client to invoke:

uv --directory /path/to/pocketsmith-mcp run pocketsmith-mcp

πŸ”‘ Configuration

Get Your API Key

  1. Log in to Pocketsmith

  2. Go to Settings β†’ API & Developers

  3. Click Generate New API Key

  4. Copy your API key

⚠️ Security: Treat your API key like a password. It has full access to your financial data.

Set Environment Variable

export POCKETSMITH_API_KEY=your_api_key_here

Or create a .env file:

echo "POCKETSMITH_API_KEY=your_api_key_here" > .env

πŸš€ Usage

With Claude Desktop

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "pocketsmith": {
      "command": "uvx",
      "args": ["pocketsmith-mcp"],
      "env": {
        "POCKETSMITH_API_KEY": "your_api_key_here"
      }
    }
  }
}

With Claude Code

Add to ~/.claude/claude_desktop_config.json:

{
  "mcpServers": {
    "pocketsmith": {
      "command": "pocketsmith-mcp",
      "env": {
        "POCKETSMITH_API_KEY": "your_api_key_here"
      }
    }
  }
}

Standalone

Run the server directly:

pocketsmith-mcp

πŸ’¬ Example Conversations

Once configured, you can ask your AI assistant:

Account & Budget Queries

  • "What are my account balances?"

  • "Show me my credit card balance"

  • "Am I over budget this month?"

  • "What's my spending trend for groceries over the last 3 months?"

Transaction Management

  • "List transactions from my checking account this week"

  • "Log a $50 cash purchase at the grocery store"

  • "Categorize that Amazon transaction as Household"

  • "Delete transaction #12345"

Bills & Recurring Expenses

  • "What bills are coming up this month?"

  • "Create a recurring monthly rent payment of $2000"

  • "Show me all my subscriptions"

Categories & Organization

  • "Create a new category called 'Pet Expenses'"

  • "Show me all transactions in the Dining Out category"

  • "Set up a rule to auto-categorize Starbucks as Coffee"

πŸ› οΈ Available Tools (23 total)

Account Tools

Tool

Description

pocketsmith_list_accounts

List all accounts with balances

pocketsmith_get_account

Get detailed account information

pocketsmith_list_transaction_accounts

List transaction accounts with details

Budget & Analysis Tools

Tool

Description

pocketsmith_get_budget_summary

Get budget summary for a date range

pocketsmith_list_budget

Per-category budget analysis

pocketsmith_get_trend_analysis

Spending trends across categories

Transaction Tools

Tool

Description

pocketsmith_list_transactions

List transactions with filters

pocketsmith_list_transactions_by_account

Filter transactions by account

pocketsmith_list_transactions_by_category

Filter transactions by category

pocketsmith_get_transaction

Get transaction details

pocketsmith_create_transaction

Create new transaction

pocketsmith_update_transaction

Update transaction details

pocketsmith_delete_transaction

Delete a transaction

pocketsmith_search_transactions

Search by keyword

pocketsmith_categorize_transaction

Quick categorization

Category Tools

Tool

Description

pocketsmith_list_categories

List all categories

pocketsmith_create_category

Create new category

pocketsmith_list_category_rules

List auto-categorization rules

pocketsmith_create_category_rule

Create categorization rule

Event Tools (Recurring Transactions)

Tool

Description

pocketsmith_list_events

List recurring transactions

pocketsmith_create_event

Create recurring transaction

Other Tools

Tool

Description

pocketsmith_list_labels

List all transaction labels

pocketsmith_get_status

Check connection status

πŸ”’ Security

This Server Can

  • βœ… Read all your financial data (transactions, accounts, balances)

  • βœ… Create, update, and delete transactions

  • βœ… Modify categories and create rules

  • βœ… Access budget and forecast data

Security Best Practices

  • βœ… Store API keys in environment variables (never in code)

  • βœ… Use different API keys for development vs. production

  • βœ… Rotate API keys periodically

  • βœ… Only use with trusted AI assistants on secure machines

  • ❌ Never commit API keys to version control

  • ❌ Never share API keys publicly

See SECURITY.md for detailed security information.

πŸ“Š API Coverage

20 out of 44 Pocketsmith API endpoints (45%)

Focused on the most useful endpoints for personal finance management:

  • βœ… User & account management

  • βœ… Transaction CRUD operations

  • βœ… Budget & trend analysis

  • βœ… Category management

  • βœ… Recurring events/bills

  • βœ… Labels & organization

πŸ§ͺ Development

Setup

# Clone repository
git clone https://github.com/dannyshaw/pocketsmith-mcp.git
cd pocketsmith-mcp

# Install dependencies
uv sync

# Run tests
pytest

# Run tests with coverage
pytest --cov=src/pocketsmith_mcp

# Lint and format
ruff check .
ruff format .

# Type check
mypy src

Testing

# Run all tests
pytest -v

# Run specific test file
pytest tests/test_client.py -v

# Run with coverage report
pytest --cov=src/pocketsmith_mcp --cov-report=html

Project Structure

pocketsmith-mcp/
β”œβ”€β”€ src/pocketsmith_mcp/
β”‚   β”œβ”€β”€ __init__.py      # Package initialization
β”‚   β”œβ”€β”€ client.py        # Pocketsmith API client
β”‚   β”œβ”€β”€ config.py        # Configuration settings
β”‚   └── server.py        # MCP server implementation
β”œβ”€β”€ tests/
β”‚   β”œβ”€β”€ conftest.py      # Test fixtures
β”‚   └── test_client.py   # Client tests
β”œβ”€β”€ pyproject.toml       # Project configuration
β”œβ”€β”€ README.md            # This file
└── SECURITY.md          # Security documentation

🀝 Contributing

Contributions are welcome! Please:

  1. Fork the repository

  2. Create a feature branch (git checkout -b feature/amazing-feature)

  3. Write tests for your changes

  4. Ensure all tests pass (pytest)

  5. Commit your changes (git commit -m 'Add amazing feature')

  6. Push to the branch (git push origin feature/amazing-feature)

  7. Open a Pull Request

See CONTRIBUTING.md for detailed guidelines.

πŸ“ License

MIT License - see LICENSE for details.

πŸ™ Acknowledgments

πŸ“ž Support

πŸ—ΊοΈ Roadmap

Future enhancements:

  • Attachment management

  • Institution connections management

  • Budget calendar export

  • Spending analytics and insights

  • Multi-currency support enhancements

  • Batch transaction operations


Made with ❀️ for personal finance management

Available Tools

23 tools
pocketsmith_categorize_transactionA

Categorize a transaction by setting its category. This is a convenience wrapper around update_transaction.

Inputs: transaction_id (required), category_id (required), note, mark_reviewed.

pocketsmith_create_categoryC

Create a new category

Inputs: title (required), colour, parent_id, is_transfer, +3 more.

pocketsmith_create_category_ruleB

Create a rule to automatically categorize future transactions matching a payee pattern

Inputs: category_id (required), payee_matches (required), apply_to_uncategorised, apply_to_all.

pocketsmith_create_eventB

Create a new event (recurring transaction)

Inputs: scenario_id (required), category_id (required), date (required), amount (required), +3 more.

pocketsmith_create_transactionC

Create a new transaction

Inputs: transaction_account_id (required), payee (required), amount (required), date (required), +6 more.

pocketsmith_delete_transactionB

Delete a transaction by ID

Inputs: transaction_id (required).

pocketsmith_get_accountB

Get details of a specific account by ID

Inputs: account_id (required).

pocketsmith_get_budget_summaryC

Get budget summary for a period and date range

Inputs: start_date (required), end_date (required), period, interval.

pocketsmith_get_statusB

Get connection status and authenticated user info

Inputs: no named parameters.

pocketsmith_get_transactionB

Get details of a specific transaction by ID

Inputs: transaction_id (required).

pocketsmith_get_trend_analysisB

Get trend analysis across categories and scenarios

Inputs: start_date (required), end_date (required), period, interval, +2 more.

pocketsmith_list_accountsA

List all accounts with balances and details

Inputs: no named parameters.

pocketsmith_list_budgetC

List per-category budget analysis

Inputs: roll_up.

pocketsmith_list_categoriesA

List all categories. Returns a flat list with full category paths for easy lookup.

Inputs: no named parameters.

pocketsmith_list_category_rulesA

List all category rules (automatic categorization rules)

Inputs: no named parameters.

pocketsmith_list_eventsB

List events (recurring transactions) for a date range

Inputs: start_date (required), end_date (required).

pocketsmith_list_labelsA

List all labels used in transactions

Inputs: no named parameters.

pocketsmith_list_transaction_accountsA

List all transaction accounts with balances and details

Inputs: no named parameters.

pocketsmith_list_transactionsB

List transactions from Pocketsmith with optional filters. Transfers excluded by default.

Inputs: start_date, end_date, needs_review, uncategorised, +6 more.

pocketsmith_list_transactions_by_accountA

List transactions for a specific account with optional filters. Transfers excluded by default.

Inputs: account_id (required), start_date, end_date, needs_review, +6 more.

pocketsmith_list_transactions_by_categoryB

List transactions for one or more categories. Transfers excluded by default.

Inputs: category_ids (required), start_date, end_date, needs_review, +6 more.

pocketsmith_search_transactionsA

Search transactions by keyword (payee, category, notes). Transfers excluded by default.

Inputs: query (required), limit, exclude_transfers, exclude_zero, +1 more.

pocketsmith_update_transactionB

Update a transaction's category, payee, note, labels, or review status

Inputs: transaction_id (required), category_id, payee, note, +2 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 23 tools

    Disambiguation5/5

    Each tool targets a specific resource and action (e.g., get, list, create, update, search) with no overlapping purposes. Even similar tools like list_transactions and list_transactions_by_account are clearly distinguished by scope.

    Naming Consistency5/5

    All tools follow a consistent 'pocketsmith_verb_noun' pattern in snake_case, with verbs like get, list, create, update, delete, search, categorize. No mixing of styles.

    Tool Count5/5

    23 tools is well-scoped for a personal finance management server covering accounts, transactions, categories, budgets, events, labels, trends, and status. Each tool serves a distinct purpose without redundancy.

    Completeness4/5

    The tool set covers core CRUD operations for transactions and basic operations for categories, events, and accounts. However, missing update/delete for categories and events are minor gaps that agents can work around.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables AI assistants to interact with YNAB budgets through natural language. Supports managing accounts, categories, transactions, and budget months with 21 tools for comprehensive budget operations.
      -
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables AI assistants to interact with Actual Budget for personal finance management through natural language, supporting transactions, account balances, budget tracking, spending analysis, and payment searches.
      636 npm
      1
      MIT
    • A
      license
      B
      quality
      D
      maintenance
      Enables AI agents to interact with your Lunch Money personal finance data, providing tools for managing transactions, categories, budgets, assets, and accounts.
      15
      15 npm
      ISC
    • F
      license
      Not graded
      quality
      A
      maintenance
      Enables AI assistants and MCP clients to access and manage personal finance data through LunchMoney's API, including transactions, budgets, categories, tags, recurring items, accounts, crypto holdings, and balance history. Provides full CRUD operations, advanced filtering, and automated financial insights for personal finance workflows.
      15 npm
      -