Skip to main content
Glama
elcukro

bank-mcp

by elcukro

🏦 bank-mcp

Предоставьте своему ИИ-ассистенту безопасный доступ в режиме «только чтение» к вашим банковским счетам.

npm version License: MIT CI Node.js TypeScript


Большинство людей управляют своими финансами, заходя на банковские порталы, скачивая CSV-файлы и создавая электронные таблицы. bank-mcp устраняет эти сложности, позволяя вашему ИИ-ассистенту напрямую запрашивать данные о ваших банковских счетах — балансы, транзакции, детализацию расходов — с помощью естественного общения. Он подключается к реальным банковским API через Model Context Protocol, поэтому любой MCP-совместимый клиент (Claude Code, Claude Desktop и другие) может понимать ваши финансы.

  • 5 провайдеров, 15 000+ учреждений — охват банков США и Европы

  • Только чтение по дизайну — нет доступа на запись, нет переводов, нет изменений

  • Работает с любым MCP-клиентом — Claude Code, Claude Desktop, Cursor и другими

  • Плагинная архитектура — добавьте своего провайдера менее чем за 100 строк кода

Содержание

Поддерживаемые провайдеры

Провайдер

Регион

Учреждения

Метод аутентификации

Сложность настройки

Enable Banking

Европа

2 000+

RSA-ключ + сессия

Средняя

Teller

США

7 000+

mTLS-сертификат

Средняя

Plaid

США / Канада / ЕС

12 000+

Client ID + secret

Легкая

Tink

Европа

3 400+

OAuth2-токен

Легкая

Mock

Демо

Нет

Мгновенно

Банки США

Поддерживаются через Plaid и Teller — охватывают 20 крупнейших банков США и тысячи других:

JPMorgan Chase · Bank of America · Wells Fargo · Citibank · Capital One · U.S. Bank · PNC · Truist · Goldman Sachs · TD Bank · Citizens · Fifth Third · M&T Bank · Huntington · KeyBank · Ally · Regions · BMO · American Express · USAA

Европейские банки

Поддерживаются через Enable Banking и Tink — охватывают основные банки ЕС и Великобритании:

HSBC · BNP Paribas · Deutsche Bank · ING · Crédit Agricole · Santander · Société Générale · UniCredit · Intesa Sanpaolo · Barclays · Lloyds · BBVA · CaixaBank · Commerzbank · Rabobank · ABN AMRO · Swedbank · Handelsbanken · Nordea · PKO Bank Polski

Быстрый старт

1. Запустите мастер настройки

npx @bank-mcp/server init

Интерактивный мастер проведет вас через все этапы — выбор провайдера, учетные данные, авторизация в банке и проверка счета — и все это с удобным терминальным интерфейсом:

┌  bank-mcp — Connect your bank account
│
◇  Choose your banking provider
│  Plaid / Teller / Tink / Enable Banking
│
◇  Environment
│  Sandbox / Development / Production
│
◇  Found 3 account(s) ─────────────────────────╮
│    ****1591 (Bank of America Platinum Card)   │
│    ****3588 (Bank of America My Checking)     │
│    ****2450 (Bank of America Essential Savings)│
├───────────────────────────────────────────────╯
│
└  Setup complete!

2. Добавьте в свой MCP-клиент

В конце настройки мастер спросит, какой MCP-клиент вы используете, и покажет точную конфигурацию:

  • Claude Code — одна команда: claude mcp add bank -- npx @bank-mcp/server

  • Cursor — добавьте в .cursor/mcp.json

  • Windsurf — добавьте в ~/.codeium/windsurf/mcp_config.json

  • Gemini CLI — добавьте в ~/.gemini/settings.json

  • Codex CLI — добавьте в ~/.codex/config.json

Используете другой инструмент? См. Настройка клиента для всех поддерживаемых клиентов, включая Claude Desktop, VS Code и Zed.

3. Попробуйте

Спросите своего ИИ-ассистента о ваших финансах на естественном языке:

"What's my checking account balance?"
"Show my spending by category this month"
"Find all Amazon purchases over $50"
"Compare my spending this month vs last month"

Демо-режим

У вас еще нет банковских учетных данных? Начните с реалистичных фиктивных данных:

npx @bank-mcp/server --mock

Это запустит сервер с фиктивным провайдером, который генерирует детерминированные примеры счетов и транзакций — идеально подходит для тестирования настройки или разработки на базе bank-mcp перед подключением реальных счетов.

Настройка клиента

bank-mcp работает с любым MCP-совместимым клиентом. Выберите свой инструмент ниже.

Claude Code

Добавьте в .mcp.json в корне вашего проекта (или ~/.claude/.mcp.json для всех проектов):

{
  "mcpServers": {
    "bank": {
      "command": "npx",
      "args": ["@bank-mcp/server"]
    }
  }
}

Или добавьте через CLI:

claude mcp add bank -- npx @bank-mcp/server

Claude Desktop

Добавьте в ваш claude_desktop_config.json:

{
  "mcpServers": {
    "bank": {
      "command": "npx",
      "args": ["@bank-mcp/server"]
    }
  }
}

Расположение файла конфигурации:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Cursor

Добавьте в .cursor/mcp.json в корне вашего проекта (или ~/.cursor/mcp.json глобально):

{
  "mcpServers": {
    "bank": {
      "command": "npx",
      "args": ["@bank-mcp/server"]
    }
  }
}

VS Code (Copilot)

Добавьте в .vscode/mcp.json в вашем рабочем пространстве:

{
  "servers": {
    "bank": {
      "type": "stdio",
      "command": "npx",
      "args": ["@bank-mcp/server"]
    }
  }
}

Windsurf

Добавьте в ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "bank": {
      "command": "npx",
      "args": ["@bank-mcp/server"]
    }
  }
}

OpenAI Codex CLI

Добавьте в ~/.codex/config.toml (или .codex/config.toml в вашем проекте):

[mcp_servers.bank]
command = "npx"
args = ["@bank-mcp/server"]

Или добавьте через CLI:

codex mcp add bank -- npx @bank-mcp/server

Gemini CLI

Добавьте в ~/.gemini/settings.json (или .gemini/settings.json в вашем проекте):

{
  "mcpServers": {
    "bank": {
      "command": "npx",
      "args": ["@bank-mcp/server"]
    }
  }
}

Zed

Добавьте в ваш Zed settings.json:

{
  "context_servers": {
    "bank": {
      "command": {
        "path": "npx",
        "args": ["@bank-mcp/server"]
      }
    }
  }
}

Не видите свой инструмент? bank-mcp использует стандартный транспорт MCP stdio. Любой клиент, поддерживающий MCP stdio-серверы, может подключиться, используя npx @bank-mcp/server в качестве команды.

Доступные инструменты

Инструмент

Описание

Ключевые параметры

list_accounts

Список всех банковских счетов по подключениям

connectionId?

list_transactions

Получение транзакций с фильтрацией

accountId, from?, to?, minAmount?, maxAmount?

search_transactions

Полнотекстовый поиск по описаниям и продавцам

query, accountId?, from?, to?

get_balance

Текущие и доступные балансы

accountId, connectionId?

spending_summary

Расходы, сгруппированные по продавцу или категории

accountId, from?, to?, groupBy?

Скриншоты

Все примеры ниже используют Claude Code с фиктивным провайдером (npx @bank-mcp/server --mock).

Список счетов«Покажи мои банковские счета»

Список банковских счетов

Проверка баланса«Какой у меня текущий баланс?»

Балансы счетов

История транзакций«Покажи мои транзакции за последние 15 дней»

Последние транзакции с детализацией расходов

Поиск транзакций«Найди все покупки в Starbucks за последние 2 недели»

Поиск покупок в Starbucks

Расходы по категориям«Покажи мои расходы по категориям в этом месяце»

Детализация по категориям с графиком

Топ продавцов«На каких продавцов я трачу больше всего?»

Детализация расходов по продавцам

Отслеживание подписок«Покажи мои регулярные подписки»

Анализ регулярных подписок

Сравнение продуктов«Сравни расходы в Trader Joe's и Whole Foods»

Анализ Trader Joe's против Whole Foods

Полная финансовая картина«Дай мне полную финансовую картину за февраль»

Ежемесячный доход, расходы и сбережения

Архитектура

Структура файлов

~/.bank-mcp/
  config.json          # Connections & credentials (permissions: 600)
  keys/                # RSA keys and certificates

src/
  providers/
    base.ts            # Abstract BankProvider class
    registry.ts        # Provider registration
    enable-banking/    # PSD2 via Enable Banking API
    teller/            # US banks via mTLS
    plaid/             # US/CA/EU via Plaid API
    tink/              # EU Open Banking via Tink API
    mock/              # Deterministic fake data
  tools/               # MCP tool implementations
  utils/
    cache.ts           # In-memory TTL cache
    http.ts            # Fetch with timeout + retry

Интерфейс провайдера

Каждый провайдер расширяет один и тот же абстрактный класс, что упрощает добавление новых интеграций:

abstract class BankProvider {
  abstract listAccounts(config): Promise<BankAccount[]>;
  abstract listTransactions(config, accountId, filter?): Promise<Transaction[]>;
  abstract getBalance(config, accountId): Promise<Balance[]>;
  abstract getConfigSchema(): ConfigField[];
}

Руководства по настройке провайдеров

Enable Banking (PSD2)

Что вам нужно:

  • [ ] Учетная запись Enable Banking с зарегистрированным приложением

  • [ ] Ваш закрытый RSA-ключ (файл .pem, загруженный при создании приложения)

npx @bank-mcp/server init
# Select: Enable Banking → enter App ID + key path
# Pick your country → select your bank
# Log in at your bank → paste the redirect URL
# → Session created, accounts verified!

Совет: Мастер берет на себя весь процесс OAuth — настройку URI перенаправления, выбор банка и создание сессии. Сессии истекают через 90 дней (регулирование PSD2); перезапустите init для обновления.

Teller (Банки США)

Что вам нужно:

  • [ ] Учетная запись разработчика Teller

  • [ ] Ваш идентификатор приложения (из панели управления Teller)

npx @bank-mcp/server init
# Select: Teller → enter Application ID
# Pick environment (sandbox for testing)
# → Teller Connect opens in your browser
# → Link your bank, token captured automatically!

Совет: Начните с песочницы (sandbox) — сертификаты не нужны, мгновенные тестовые данные. Для разработки/продакшена мастер запросит пути к mTLS-сертификатам. Бесплатный уровень поддерживает до 100 активных подключений.

Plaid (США/Канада/ЕС)

Что вам нужно:

npx @bank-mcp/server init
# Select: Plaid → enter client ID + secret
# Pick environment (sandbox for testing)
# → Sandbox: token created automatically!
# → Dev/Prod: paste an existing access token

Совет: Начните с песочницы (sandbox) — мастер автоматически создает тестовый токен, браузер не нужен. Plaid предоставляет самую богатую категоризацию транзакций — 104 подкатегории с оценками достоверности — идеально подходит для анализа расходов с помощью LLM.

Tink (Открытый банкинг ЕС)

Что вам нужно:

  • [ ] Учетная запись разработчика Tink (бесплатно для тестирования)

  • [ ] Ваш Client ID и Client Secret (из консоли Tink)

npx @bank-mcp/server init
# Select: Tink → enter Client ID + Secret
# Pick your market (country)
# → Tink Link opens in your browser
# → Connect your bank, paste redirect URL

Совет: Tink охватывает более 3400 банков по всей Европе. Для песочницы используйте Demo Bank с тестовыми учетными данными (показаны в мастере). Транзакции включают категории PFM с обогащением данных о продавцах.

Кэширование

Все данные кэшируются в оперативной памяти (без сохранения на диск — кэш удаляется вместе с процессом):

Данные

TTL

Почему

Список счетов

1 час

Счета редко меняются; минимизирует вызовы API

Транзакции

15 минут

Баланс между новыми транзакциями и свежестью данных

Балансы

5 минут

Самые чувствительные ко времени; пользователи ожидают актуальные данные

Кэш привязан к подключению и счету. Перезапуск сервера очищает все кэши.

Несколько подключений

Настройте столько банковских подключений, сколько вам нужно — даже от разных провайдеров:

{
  "connections": [
    { "id": "ing-main", "provider": "enable-banking", "..." : "..." },
    { "id": "chase-checking", "provider": "plaid", "..." : "..." },
    { "id": "revolut", "provider": "tink", "..." : "..." }
  ]
}

Все инструменты принимают необязательный параметр connectionId для выбора конкретного подключения. Если он опущен, опрашиваются все подключения, а результаты объединяются — поэтому «покажи все мои балансы» автоматически работает для всех банков.

Безопасность

Принципы проектирования

bank-mcp обрабатывает чувствительные финансовые учетные данные. Его подход к безопасности основан на минимизации поверхности атаки:

  • Только чтение по дизайну — интерфейс BankProvider предоставляет только методы чтения (listAccounts, listTransactions, getBalance). Нет методов записи — нет переводов, нет изменений счетов, нет инициирования платежей. Это обеспечивается на уровне типов, а не по соглашению.

  • Нет сетевого слушателя — bank-mcp работает как процесс stdio (stdin/stdout), а не как HTTP-сервер.

Install Server
A
security – no known vulnerabilities
A
license - permissive license
-
quality - not tested

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/elcukro/bank-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server