Skip to main content
Glama
sophtron-mcp

sophtron-mcp

sophtron-mcp

MCP server for Sophtron — connect bank accounts and retrieve financial data (accounts, balances, transactions) through the Model Context Protocol.

Sophtron is a financial data aggregation platform. This server wraps the Sophtron API and exposes it as a set of MCP tools that Claude (or any MCP client) can use to search for banks, connect accounts with credential and MFA handling, list accounts, and pull transaction history.

Tools

Tool

Description

connect_bank

Launch an interactive wizard to connect a new bank or credit card account (UI-based)

manage_accounts

Open the account management UI to select, rename, and organize linked bank accounts (UI-based)

search_institutions

Search for banks and financial institutions by name

create_connection

Create a new bank connection with login credentials; returns a job ID for polling

poll_job

Check the status of a connection or refresh job; poll every 4-5 seconds until complete

answer_mfa

Submit an MFA response (security question, verification code, token choice, phone verification, or captcha)

get_connection_accounts

List accounts for a specific bank connection

save_account_preferences

Save account selection and custom names after connecting a bank

get_account_preferences

Read stored account preferences (selection, custom names) for a connection

rename_account

Set or clear a custom display name for a bank account

toggle_account

Show or hide a bank account from the active list

list_connections

List all linked bank connections for this account

list_accounts

List accounts for a bank connection (selected accounts only by default)

get_transactions

Get transactions for a bank account (defaults to last 90 days)

refresh_account

Trigger a fresh data pull from the bank for a specific account; returns a job ID to poll

Related MCP server: poke-bank

Environment Variables

Variable

Required

Description

SOPHTRON_USER_ID

Yes

Your Sophtron API user ID

SOPHTRON_ACCESS_KEY

Yes

Your Sophtron API access key (secret)

SOPHTRON_API_ENDPOINT

No

API base URL (defaults to https://api.sophtron.com/api)

SOPHTRON_CUSTOMER_NAME

No

Customer name override

Installation

npm ci

Usage

stdio mode (for MCP clients like Claude Desktop)

SOPHTRON_USER_ID=your-id SOPHTRON_ACCESS_KEY=your-key node dist/index.js

Claude Desktop configuration

Add to your Claude Desktop MCP config:

{
  "mcpServers": {
    "sophtron": {
      "command": "node",
      "args": ["/path/to/sophtron-mcp/dist/index.js"],
      "env": {
        "SOPHTRON_USER_ID": "your-id",
        "SOPHTRON_ACCESS_KEY": "your-key"
      }
    }
  }
}

HTTP mode (with mcp-proxy)

mcp-proxy --port 8001 -- node dist/index.js

Data Storage

Account preferences (custom names, selected/hidden status) are stored locally in ~/.sophtron-mcp/connections.json. No bank credentials are stored locally.

License

MIT

Available Tools

15 tools
answer_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_account_preferencesGet Account PreferencesA
Read-only

Read stored account preferences (selection, custom names) for a connection.

Inputs: userInstitutionId (required).

get_connection_accountsGet Connection AccountsA

List accounts for a specific bank connection

Inputs: userInstitutionId (required).

get_transactionsGet TransactionsA
Read-only

Get transactions for a bank account. Defaults to last 90 days.

Inputs: accountId (required), endDate, startDate.

list_accountsList AccountsA
Read-only

List accounts for a bank connection. By default only shows selected (active) accounts with custom name overrides. Use includeAll to show hidden accounts too.

Inputs: userInstitutionId (required), includeAll.

list_connectionsList Bank ConnectionsA
Read-only

List all linked bank connections (UserInstitutions) for this account, with local storage overlays (logo, selected account count).

Inputs: no named parameters.

manage_accountsManage Bank AccountsA

Open the account management UI to select, rename, and organize your linked bank accounts.

Inputs: no named parameters.

poll_jobPoll Job StatusA

Check the status of a connection or refresh job. Poll every 4-5 seconds. If MFA fields appear (SecurityQuestion, TokenMethod, TokenSentFlag, CaptchaImage), use answer_mfa. Done when LastStatus is "Completed" — SuccessFlag true or null means success, false means failure. Refresh jobs may never set SuccessFlag.

Inputs: jobId (required).

refresh_accountRefresh AccountA

Trigger a fresh data pull from the bank for a specific account. Returns a job ID. IMPORTANT: You must poll this job with poll_job (every 4-5 seconds) just like a new connection — the bank may require MFA during refresh. Use answer_mfa if MFA fields appear. Poll until SuccessFlag is true or false.

Inputs: accountId (required).

rename_accountRename AccountA

Set or clear a custom display name for a bank account. Pass null to restore the original name.

Inputs: accountId (required), customName (required), userInstitutionId (required).

save_account_preferencesSave Account PreferencesA

Save account selection and custom names after connecting a bank. Called by the wizard after the user configures their accounts.

Inputs: accounts (required), institutionId (required), institutionName (required), userInstitutionId (required), +2 more.

search_institutionsSearch InstitutionsB

Search for banks and financial institutions by name

Inputs: query (required).

toggle_accountToggle Account VisibilityA

Show or hide a bank account from the active list.

Inputs: selected (required), accountId (required), userInstitutionId (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.8/5.0

    Scored across 15 tools

    Disambiguation4/5

    Most tools target distinct resources and actions. The main overlap is get_connection_accounts and list_accounts, which both list accounts for a connection, though list_accounts includes filtering and preference overrides. This is just one pair, so mostly distinct.

    Naming Consistency5/5

    All tools use a consistent verb_noun pattern with snake_case, such as connect_bank, poll_job, list_accounts. No mixed conventions.

    Tool Count4/5

    15 tools is at the upper end of the typical range but each tool addresses a specific part of the bank connection lifecycle. One redundancy (get_connection_accounts vs list_accounts) makes it slightly over-scoped.

    Completeness3/5

    The server covers connection creation, polling, MFA, account listing, preferences, transactions, and refresh. However, there is no tool for deleting or disconnecting a bank connection, which is a notable gap in lifecycle management.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      An MCP server that exposes Enable Banking API tools for interacting with bank accounts through Open Banking. It enables users to authenticate sessions, list accounts, and fetch transaction history or balances via a secure self-hosted server.
      2
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      MCP server for accessing and managing Banktivity personal finance data, enabling account, transaction, and budget operations through natural language.
      3
      MIT