@striderlabs/mcp-usaa
  
USAA banking and insurance connector for personal AI agents.
Enables AI assistants to manage your USAA accounts — check balances, view transactions, transfer funds, pay bills, manage insurance policies, file claims, access investments, and more — all through the Model Context Protocol.
Features
- Banking — Account balances, transaction history, fund transfers, bill pay, mobile check deposit
- Insurance — View policies (auto, home, renters, life), file claims, track claim status
- Investments — Brokerage, IRA, and 529 account access with holdings
- Credit Cards — Balances, available credit, payment info, transaction history
- Loans — Auto, personal, mortgage, and VA loan balances and payment details
- Session Persistence — Login once, sessions saved to
~/.strider/usaa/
Installation
npm install -g @striderlabs/mcp-usaa
Install the browser (required for automation):
npx patchright install chromium
MCP Client Configuration
Claude Desktop
Add to your ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"usaa": {
"command": "striderlabs-mcp-usaa"
}
}
}
Other MCP Clients
{
"mcpServers": {
"usaa": {
"command": "npx",
"args": ["-y", "@striderlabs/mcp-usaa"]
}
}
}
Available Tools
Authentication
| Tool | Description | |------|-------------| | usaa_status | Check current login status | | usaa_login | Open browser to USAA login page | | usaa_confirm_login | Save session after manual login | | usaa_logout | Clear session and log out |
Banking
| Tool | Description | |------|-------------| | usaa_get_account_balances | All account balances (checking, savings, money market) | | usaa_get_transactions | Transaction history for an account | | usaa_transfer_funds | Transfer between accounts (requires confirm=true) | | usaa_pay_bill | Pay a bill via Bill Pay (requires confirm=true) | | usaa_mobile_deposit | Deposit a check image (requires confirm=true) |
Insurance
| Tool | Description | |------|-------------| | usaa_get_insurance_policies | All policies (auto, home, renters, life, etc.) | | usaa_file_claim | File a new insurance claim (requires confirm=true) | | usaa_get_claim_status | Status of existing claims |
Investments
| Tool | Description | |------|-------------| | usaa_get_investment_accounts | Brokerage, IRA, 529 accounts with holdings |
Credit Cards
| Tool | Description | |------|-------------| | usaa_get_credit_cards | All cards with balances and payment info | | usaa_get_credit_card_transactions | Transaction history for a card |
Loans
| Tool | Description | |------|-------------| | usaa_get_loans | All loans with balances and payment details |
Usage Examples
Check balances
"What are my USAA account balances?"
→ calls usaa_get_account_balances
Transfer money
"Transfer $500 from my checking to savings"
→ calls usaa_transfer_funds with confirm=true
File a claim
"File an auto insurance claim for a fender bender on March 10th"
→ calls usaa_file_claim with confirm=true
Check investments
"How are my USAA investments doing?"
→ calls usaa_get_investment_accounts
Authentication Flow
USAA uses multi-factor authentication, so login is browser-assisted:
- Call
usaa_login— a browser window opens to USAA's login page - Complete login manually in the browser (username, password, MFA code)
- Call
usaa_confirm_login— session cookies are saved to~/.strider/usaa/ - All subsequent calls use the saved session automatically
Sessions persist until they expire or you call usaa_logout.
Safety & Confirmation
Destructive or financial operations require explicit confirmation:
usaa_transfer_funds— requiresconfirm: trueusaa_pay_bill— requiresconfirm: trueusaa_mobile_deposit— requiresconfirm: trueusaa_file_claim— requiresconfirm: true
Calling without confirm: true returns a preview of the action without executing it.
Technical Details
- Built on Patchright (stealth Playwright fork) for browser automation
- Runs headful Chrome to handle USAA's bot detection and MFA
- Session data stored in
~/.strider/usaa/(auth.json + session.json) - Communicates with MCP clients via stdio transport
Limitations
- Manual login required — USAA's security requires human-in-the-loop for initial authentication
- MFA required — Must complete MFA in the browser window during login
- Session expiry — USAA sessions expire; re-login will be needed periodically
- DOM-dependent — Selectors may need updates if USAA changes their web UI
Troubleshooting
"Not logged in" errors → Call usaa_login, complete login in the browser, then usaa_confirm_login
"Timeout" errors → USAA's site may be slow or your session expired. Try re-logging in.
"net::ERR_" errors → Check your internet connection. USAA may be temporarily unavailable.
Browser doesn't open → Run npx patchright install chromium to install the browser
Development
git clone https://github.com/striderlabs/mcp-usaa
cd mcp-usaa
npm install
npm run build
npm start
License
MIT — See LICENSE
---






