pocketsmith-mcp
Click on "Install 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-mcpshow my recent transactions"
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.
Features
43 MCP Tools - Complete coverage of PocketSmith API v2 endpoints
Production Ready - Rate limiting, retry with exponential backoff, circuit breaker
Universal Compatibility - Works with Claude Desktop, Cursor, and any MCP-compatible client
Type Safe - Pydantic models for all API entities
Related MCP server: Pocketsmith MCP Server
Quick Start
Installation
# Run directly with uvx (recommended)
uvx pocketsmith-mcp
# Or install with pip
pip install pocketsmith-mcpGetting Your API Key
Navigate to Security & Integrations - Click your profile icon, then select "Security & integrations"
Create a Developer Key - Go to "Manage developer keys" and click "Create Key"
Configuration
Set your environment variable:
export POCKETSMITH_API_KEY=your_api_key_hereRun the server:
uvx pocketsmith-mcpClaude Desktop Integration
Add to your Claude Desktop config:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"pocketsmith": {
"command": "uvx",
"args": ["pocketsmith-mcp"],
"env": {
"POCKETSMITH_API_KEY": "your_api_key_here"
}
}
}
}Available Tools
Tool | Description |
| Get authenticated user info |
| Get user by ID |
| Update user settings |
Tool | Description |
| List all accounts |
| Get account details |
| Update account |
| Delete account |
Tool | Description |
| List transaction accounts |
| Get transaction account details |
| Update transaction account |
Tool | Description |
| List transactions with filters |
| Get transaction details |
| Create new transaction |
| Update transaction |
| Delete transaction |
Tool | Description |
| List all categories |
| Get category details |
| Create new category |
| Update category |
| Delete category |
Tool | Description |
| Get budget data |
| Get budget summary |
| Get spending trends |
| Clear forecast cache |
Tool | Description |
| List financial institutions |
| Get institution details |
| Create institution |
| Update institution |
| Delete institution |
Tool | Description |
| List budget events |
| Get event details |
| Create budget event |
| Update event |
| Delete event |
Tool | Description |
| List attachments |
| Get attachment details |
| Upload attachment |
| Update attachment |
| Delete attachment |
Tool | Description |
| List all labels |
| List saved searches |
Tool | Description |
| List supported currencies |
| List supported time zones |
Testing
Running Tests
# Run all tests
uv run pytest
# Run with coverage report
uv run pytest --cov=src/pocketsmith_mcp --cov-report=term-missing
# Run specific test file
uv run pytest tests/unit/tools/test_transactions.py
# Run tests by marker
uv run pytest -m unit # Unit tests only
uv run pytest -m integration # Integration tests only
uv run pytest -m e2e # End-to-end tests (requires API key)Test Structure
tests/
├── unit/ # Fast, isolated tests with mocked API
│ ├── test_api_client.py
│ ├── test_errors.py
│ ├── test_rate_limiter.py
│ ├── test_circuit_breaker.py
│ ├── test_user_context.py
│ └── tools/ # Tool-specific unit tests
├── integration/ # Tests with mocked HTTP responses
│ ├── test_server.py
│ └── test_tools.py
└── conftest.py # Shared fixturesCoverage
The project maintains a 70% coverage threshold. Coverage reports are generated automatically:
uv run pytest --cov=src/pocketsmith_mcp --cov-report=html
open htmlcov/index.htmlDevelopment
Setup
# Clone the repository
git clone https://github.com/ajanderson1/mcp_pocketsmith.git
cd pocketsmith-mcp
# Install dependencies (including dev)
uv sync --dev
# Copy environment template
cp .env.example .env
# Edit .env and add your API keyArchitecture
pocketsmith-mcp/
├── src/pocketsmith_mcp/
│ ├── __main__.py # Entry point
│ ├── server.py # FastMCP server setup
│ ├── config.py # Environment configuration
│ ├── client/ # API client with resilience patterns
│ │ ├── api_client.py # HTTP client wrapper
│ │ ├── rate_limiter.py # Token bucket algorithm
│ │ ├── circuit_breaker.py # Fault tolerance
│ │ └── retry.py # Exponential backoff
│ ├── models/ # Pydantic data models
│ └── tools/ # MCP tool implementations
└── tests/ # Unit and integration testsAPI Resilience
The client includes production-grade resilience:
Rate Limiting - Token bucket algorithm (60 req/min default)
Retry Logic - Exponential backoff with jitter for transient failures
Circuit Breaker - Prevents cascade failures during outages
Environment Variables
Variable | Required | Default | Description |
| Yes | - | Your PocketSmith API key |
| No |
| Enable debug logging |
| No |
| Request timeout (seconds) |
| No |
| Retry attempts for failed requests |
| No |
| API rate limit |
License
This project is licensed under the MIT License - see the LICENSE file for details.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ajanderson1/mcp_pocketsmith'
If you have feedback or need assistance with the MCP directory API, please join our Discord server