sophtron-mcp
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., "@sophtron-mcp Show 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.
sophtron-mcp
A Claude Desktop MCP server for querying bank accounts, credit cards, and transactions via Sophtron's financial data API.
Patched for Claude — forked from sophtron/chagpt-mcp which was built exclusively for ChatGPT. This version replaces the OpenAI-specific transport, auth, and widget code with a standard stdio MCP server that works with Claude Desktop, Claude Code, and any MCP-compatible client.
Free alternative to requiring a paid budgeting app (Monarch Money, YNAB, etc.) as middleware. Sophtron provides free API access for individual use, connecting directly to 12,000+ financial institutions via their data aggregation layer.
Setup
1. Get Sophtron credentials
Sign up at sophtron.com and get your User ID and Access Key.
2. Install
git clone https://github.com/312-dev/sophtron-mcp.git
cd sophtron-mcp
npm install
npm run build3. Configure credentials
cp .env.example .env
# Edit .env with your Sophtron User ID and Access Key4. Add to Claude Desktop
Add this to your ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"sophtron": {
"command": "node",
"args": ["/path/to/sophtron-mcp/dist/index.js"],
"env": {
"SOPHTRON_USER_ID": "your-user-id",
"SOPHTRON_ACCESS_KEY": "your-access-key"
}
}
}
}Or for Claude Code, add to ~/.claude.json under mcpServers:
{
"sophtron": {
"type": "stdio",
"command": "node",
"args": ["/path/to/sophtron-mcp/dist/index.js"],
"env": {
"SOPHTRON_USER_ID": "your-user-id",
"SOPHTRON_ACCESS_KEY": "your-access-key"
}
}
}5. Connect your bank
Bank connections are managed through Sophtron's infrastructure. To link your accounts:
Use the Sophtron widget through their ChatGPT integration or web portal to connect your bank
Once connected, this MCP server can query all your account data from Claude
Related MCP server: simplefin
Available tools
Tool | Description |
| Create or find a Sophtron customer profile (run first) |
| Look up a customer by name |
| List all linked bank connections |
| Manually save a connection reference |
| List all accounts across all connections |
| Get details for a specific account |
| List accounts for a specific bank connection |
| Get transactions for an account (defaults to last 90 days) |
| Get profile/identity info for a connection |
| Search for banks by name |
How it works
This server communicates with Sophtron's REST API using HMAC-SHA256 signed requests. Your credentials never leave your machine — they're used locally to sign API calls.
Data is cached locally in ~/.sophtron-mcp/:
customer.json— your Sophtron customer IDconnections.json— saved bank connection references
What changed from the original
The upstream repo is built for ChatGPT with:
OpenAI-specific widget rendering (
window.openai.setWidgetState)OAuth2 JWT authentication flow
Express HTTP transport only
In-memory connection storage
structuredContentandopenai/*metadata
This fork replaces all of that with:
Standard MCP stdio transport (works with any MCP client)
Direct HMAC API authentication (no OAuth needed)
Disk-based persistence
Clean tool definitions without vendor lock-in
License
MIT
Available Tools
10 toolsanswer_mfaAnswer MFA ChallengeB
Submit an MFA response (security question answer, verification code, captcha, etc.)
Inputs: type (required), jobId (required), value (required).
connect_bankConnect Bank AccountA
Launch an interactive wizard to connect a new bank or credit card account. Renders a guided UI for searching institutions, entering credentials, and handling MFA verification.
Inputs: no named parameters.
create_connectionCreate Bank ConnectionA
Create a new bank connection with login credentials. Returns a job ID for polling.
Inputs: password (required), username (required), institutionId (required), pin.
get_connection_accountsGet Connection AccountsA
List accounts for a specific bank connection
Inputs: userInstitutionId (required).
get_transactionsGet TransactionsARead-only
Get transactions for a bank account. Defaults to last 90 days.
Inputs: accountId (required), endDate, startDate.
list_accountsList AccountsBRead-only
List all accounts for a bank connection. Provide the UserInstitution ID.
Inputs: userInstitutionId (required).
list_connectionsList Bank ConnectionsARead-only
List all linked bank connections (UserInstitutions) for this account.
Inputs: no named parameters.
poll_jobPoll Job StatusA
Check the status of a bank connection job. Used during the connection flow.
Inputs: jobId (required).
refresh_accountRefresh AccountA
Trigger a fresh data pull from the bank for a specific account. Returns a job ID to poll.
Inputs: accountId (required).
search_institutionsSearch InstitutionsB
Search for banks and financial institutions by name
Inputs: query (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 10 tools
There is substantial overlap between get_connection_accounts and list_accounts, which both describe listing accounts for a bank connection with the same UserInstitution ID parameter. connect_bank and create_connection also overlap as alternative ways to create a connection, though the wizard vs. credential distinction helps somewhat.
Tool names consistently use snake_case verb_noun patterns, which is predictable. However, there is a minor inconsistency in using both get_ and list_ verbs for what is essentially the same account-listing operation.
Ten tools is a reasonable size for a bank connection and transaction MCP server. The count feels slightly inflated by the duplicate account-listing functionality, but overall the scope is well-contained.
The surface covers the core connection lifecycle: search, create, MFA, poll, list, transactions, and refresh. However, there is no way to disconnect/delete a bank connection or update credentials, which are significant lifecycle operations for this domain.
Maintenance
Related MCP Connectors
Read-only access to your own bank, card and brokerage accounts for Claude, ChatGPT and other AI agents: balances, transactions, spending, subscriptions, cashflow and investment holdings. It can never move money.
Personal finance, bank account, and shared memory connector for Claude, ChatGPT, Gemini Spark & more
Ask Claude about your income and spending, and import bank statements. No bank login.
Connect AI agents to bank accounts, transactions, balances, and investments.
Related MCP Servers
- AlicenseBqualityCmaintenanceComprehensive Monarch Money integration with read and write support for accounts, transactions, budgets, cashflow, credit history, and more. Secure browser-based auth with tokens stored in the OS keychain. Installs in one click via .mcpb for Claude Desktop.25280 PyPI13MIT
- FlicenseAqualityDmaintenanceExposes SimpleFIN bank data (accounts and transactions) as tools for Claude Code, enabling users to connect to bank accounts, list balances, and fetch transactions.4-
- AlicenseNot gradedqualityDmaintenanceConnects Claude Desktop to Yodlee financial data, enabling account management, transaction queries, spending summaries, and audio narrations.1MIT
- FlicenseAqualityDmaintenanceEnables Claude to query Empower/Personal Capital financial accounts, net worth, transactions, and asset allocation via natural language.5-