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).
- View all account balances (checking, savings, credit cards, investments)
- Get detailed account information with transaction history
- Track net worth across multiple accounts
- Get budget summaries for any time period
- Analyze per-category spending vs. budgets
- View spending trends across categories
- Compare actual vs. forecasted amounts
- 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
- List all categories with hierarchical structure
- Create new categories and subcategories
- Set up automatic categorization rules
- Organize spending into custom categories
- View upcoming bills and recurring expenses
- Create recurring events (rent, subscriptions, paychecks)
- Forecast future cash flow
- Manage budget scenarios
- List and manage transaction labels
- Tag transactions for easy filtering
- Track tax-deductible expenses, business spending, etc.
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- Log in to Pocketsmith
- Go to Settings β API & Developers
- Click Generate New API Key
- Copy your API key
export POCKETSMITH_API_KEY=your_api_key_hereOr create a .env file:
echo "POCKETSMITH_API_KEY=your_api_key_here" > .envAdd 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"
}
}
}
}Add to ~/.claude/claude_desktop_config.json:
{
"mcpServers": {
"pocketsmith": {
"command": "pocketsmith-mcp",
"env": {
"POCKETSMITH_API_KEY": "your_api_key_here"
}
}
}
}Run the server directly:
pocketsmith-mcpOnce configured, you can ask your AI assistant:
- "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?"
- "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"
- "What bills are coming up this month?"
- "Create a recurring monthly rent payment of $2000"
- "Show me all my subscriptions"
- "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"
| 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 |
| 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 |
| 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 |
| 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 |
| Tool | Description |
|---|---|
pocketsmith_list_events |
List recurring transactions |
pocketsmith_create_event |
Create recurring transaction |
| Tool | Description |
|---|---|
pocketsmith_list_labels |
List all transaction labels |
pocketsmith_get_status |
Check connection status |
- β Read all your financial data (transactions, accounts, balances)
- β Create, update, and delete transactions
- β Modify categories and create rules
- β Access budget and forecast data
- β 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.
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
# 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# 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=htmlpocketsmith-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
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.
MIT License - see LICENSE for details.
- Built with the Model Context Protocol
- Powered by the Pocketsmith API
- Designed for use with Claude
- Issues: GitHub Issues
- Security: See SECURITY.md
- Discussions: GitHub Discussions
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