Pocketsmith MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Pocketsmith MCP Server How much have I spent on groceries so far this month?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.
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
Log in to Pocketsmith
Go to Settings β API & Developers
Click Generate New API Key
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_hereOr 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 |
| List all accounts with balances |
| Get detailed account information |
| List transaction accounts with details |
Budget & Analysis Tools
Tool | Description |
| Get budget summary for a date range |
| Per-category budget analysis |
| Spending trends across categories |
Transaction Tools
Tool | Description |
| List transactions with filters |
| Filter transactions by account |
| Filter transactions by category |
| Get transaction details |
| Create new transaction |
| Update transaction details |
| Delete a transaction |
| Search by keyword |
| Quick categorization |
Category Tools
Tool | Description |
| List all categories |
| Create new category |
| List auto-categorization rules |
| Create categorization rule |
Event Tools (Recurring Transactions)
Tool | Description |
| List recurring transactions |
| Create recurring transaction |
Other Tools
Tool | Description |
| List all transaction labels |
| 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 srcTesting
# 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=htmlProject 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:
Fork the repository
Create a feature branch (
git checkout -b feature/amazing-feature)Write tests for your changes
Ensure all tests pass (
pytest)Commit your changes (
git commit -m 'Add amazing feature')Push to the branch (
git push origin feature/amazing-feature)Open a Pull Request
See CONTRIBUTING.md for detailed guidelines.
π License
MIT License - see LICENSE for details.
π Acknowledgments
Built with the Model Context Protocol
Powered by the Pocketsmith API
Designed for use with Claude
π Support
Issues: GitHub Issues
Security: See SECURITY.md
Discussions: GitHub Discussions
πΊοΈ 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 toolspocketsmith_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
Scored across 23 tools
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.
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.
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.
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
Related MCP Connectors
Work with transactions, budgets, forecasts and insights from the PocketSmith personal finance tool.
Read-only: transactions, budgets, forecasts and insights from the PocketSmith personal finance tool.
Read-only personal finance for AI agents: budgets, receipts, net worth, bills. OAuth 2.1.
Personal finance for AI agents: accounts, budgets, goals, 9-strategy debt payoff, reports. OAuth 2.1
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables 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.-
- AlicenseNot gradedqualityCmaintenanceEnables 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 npm1MIT
- AlicenseBqualityDmaintenanceEnables AI agents to interact with your Lunch Money personal finance data, providing tools for managing transactions, categories, budgets, assets, and accounts.1515 npmISC
- FlicenseNot gradedqualityAmaintenanceEnables 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-