bank-mcp
🏦 bank-mcp
AI 어시스턴트에게 은행 계좌에 대한 안전한 읽기 전용 액세스 권한을 부여하세요.
대부분의 사람들은 은행 포털에 로그인하고, CSV를 다운로드하고, 스프레드시트를 작성하여 재정을 관리합니다. bank-mcp는 AI 어시스턴트가 자연스러운 대화를 통해 잔액, 거래 내역, 지출 분석 등 은행 계좌를 직접 조회할 수 있게 하여 이러한 번거로움을 없애줍니다. Model Context Protocol을 통해 실제 은행 API에 연결되므로 MCP 호환 클라이언트(Claude Code, Claude Desktop 등)라면 무엇이든 귀하의 재정 상태를 이해할 수 있습니다.
5개 제공업체, 15,000개 이상의 기관 — 미국 및 유럽 은행 지원
설계상 읽기 전용 — 쓰기 권한 없음, 이체 불가, 수정 불가
모든 MCP 클라이언트와 호환 — Claude Code, Claude Desktop, Cursor 등
플러그인 가능한 아키텍처 — 100줄 미만의 코드로 나만의 제공업체 추가 가능
목차
지원되는 제공업체
제공업체 | 지역 | 기관 수 | 인증 방식 | 설정 난이도 |
유럽 | 2,000+ | RSA 키 + 세션 | 보통 | |
미국 | 7,000+ | mTLS 인증서 | 보통 | |
미국 / 캐나다 / 유럽 | 12,000+ | 클라이언트 ID + 시크릿 | 쉬움 | |
유럽 | 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를 통해 지원되며, EU 및 영국 전역의 주요 은행을 포함합니다:
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대화형 마법사가 제공업체 선택, 자격 증명, 은행 승인 및 계좌 확인 등 모든 과정을 세련된 터미널 UI로 안내합니다:
┌ 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/serverCursor —
.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. 사용해 보기
AI 어시스턴트에게 자연어로 재정 상태를 물어보세요:
"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/serverClaude Desktop
claude_desktop_config.json에 추가하세요:
{
"mcpServers": {
"bank": {
"command": "npx",
"args": ["@bank-mcp/server"]
}
}
}구성 파일 위치:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%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/serverGemini 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명령어를 사용하여 연결할 수 있습니다.
사용 가능한 도구
도구 | 설명 | 주요 매개변수 |
| 모든 연결의 은행 계좌 목록 조회 |
|
| 필터링을 통한 거래 내역 가져오기 |
|
| 설명 및 가맹점 전체 텍스트 검색 |
|
| 현재 및 가용 잔액 조회 |
|
| 가맹점 또는 카테고리별 지출 요약 |
|
스크린샷
아래 모든 예시는 모의 제공업체(npx @bank-mcp/server --mock)를 사용하는 Claude Code를 기준으로 합니다.
계좌 목록 조회 — "내 은행 계좌 목록 보여줘"

잔액 확인 — "현재 잔액이 얼마야?"

거래 내역 — "지난 15일간의 거래 내역 보여줘"

거래 검색 — "지난 2주 동안 스타벅스에서 결제한 내역 찾아줘"

카테고리별 지출 — "이번 달 카테고리별 지출 보여줘"

주요 가맹점 — "어디서 가장 많이 지출했어?"

구독 추적 — "내 정기 구독 내역 보여줘"

식료품 비교 — "Trader Joe's와 Whole Foods 지출 비교해줘"

전체 재정 현황 — "2월 전체 재정 현황을 알려줘"

아키텍처
파일 구조
~/.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!팁: 마법사가 리디렉션 URI 설정, 은행 선택, 세션 생성 등 전체 OAuth 흐름을 처리합니다. 세션은 90일 후 만료됩니다(PSD2 규정). 새로 고치려면
init을 다시 실행하세요.
Teller (미국 은행)
준비물:
[ ] Teller 개발자 계정
[ ] 애플리케이션 ID (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!팁: 샌드박스로 시작하세요. 인증서가 필요 없으며 즉시 테스트 데이터를 사용할 수 있습니다. 개발/운영 환경의 경우 마법사가 mTLS 인증서 경로를 묻습니다. 무료 티어는 최대 100개의 라이브 연결을 지원합니다.
Plaid (미국/캐나다/유럽)
준비물:
[ ] Plaid 개발자 계정 (무료 가입)
[ ] 클라이언트 ID 및 시크릿 (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팁: 샌드박스로 시작하세요. 마법사가 자동으로 테스트 토큰을 생성하며 브라우저가 필요 없습니다. Plaid는 104개의 하위 카테고리와 신뢰도 점수를 포함한 가장 풍부한 거래 분류를 제공하여 LLM 기반 지출 분석에 이상적입니다.
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는 유럽 전역의 3,400개 이상의 은행을 지원합니다. 샌드박스의 경우 테스트 자격 증명(마법사에 표시됨)과 함께 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는 HTTP 서버가 아닌 stdio 프로세스(stdin/stdout)로 실행됩니다. 열린 포트가 없으며 네트워크를 통한 공격 표면이 없습니다.
최소한의 의존성 — 4개의 런타임 의존성(
@modelcontextprotocol/sdk, `@clack/prompts
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