Skip to main content
Glama
lukew0824

plaid-mcp

by lukew0824

plaid-mcp

Claude가 Plaid를 통해 귀하의 은행 계좌, 잔액 및 거래 내역을 조회할 수 있게 해주는 자체 호스팅 MCP 서버입니다.

도구

도구

설명

accounts

연결된 모든 은행 계좌

balances

현재/사용 가능한 잔액 및 신용 한도

transactions

특정 기간의 전체 거래 내역

total_spending

카테고리별 총 지출

transactions_by_category

Plaid PFC 카테고리별 거래 필터링

merchants

특정 기간의 모든 가맹점 (총 지출 기준 정렬)

transactions_by_merchant

가맹점 이름별 거래 필터링

작동 방식

  • Google을 ID 공급자로 사용하는 OAuth 2.1 + PKCE

  • **이메일 허용 목록(allowlist)**을 통한 보안 경계

  • Claude.ai는 30일간 유효한 베어러 토큰을 받으며, 귀하의 Plaid 액세스 토큰은 서버 외부로 유출되지 않습니다.

  • Caddy가 FastAPI 앞에 위치하여 포트 443에서 TLS를 종료하고, Let's Encrypt 인증서를 자동 발급하며 localhost:8080으로 리버스 프록시를 수행합니다.

요구 사항

  • 공인 IP가 있는 Linux 서버 (이 가이드는 AWS EC2 t3.micro를 사용합니다)

  • 서버를 가리키는 도메인 이름 (이 가이드는 무료 DuckDNS 하위 도메인을 사용합니다)

  • 프로덕션 액세스 권한이 있는 Plaid 개발자 계정

  • OAuth 클라이언트를 위한 Google Cloud 계정

설정

1. Plaid

  1. dashboard.plaid.com에서 Plaid 계정을 생성합니다.

  2. 대시보드에서 Production access를 요청합니다 (Plaid에서 애플리케이션을 검토하며, 며칠이 소요될 수 있습니다).

  3. 승인되면 Team Settings → Keys에서 client_id와 Production 비밀 키를 저장합니다.

2. Google OAuth

  1. console.cloud.google.com에서 프로젝트를 생성합니다.

  2. APIs & Services → OAuth consent screen에서 "External" 앱을 설정하고 본인을 테스트 사용자로 추가합니다.

  3. APIs & Services → Credentials → Create credentials → OAuth client ID를 선택합니다.

  4. 애플리케이션 유형: Web application

  5. Authorized redirect URIs: https://yourdomain.com/auth/google/callback (아래 4단계에서 사용할 실제 도메인을 입력하세요)

  6. Client ID와 Client secret을 저장합니다.

3. 서버

이 가이드는 AWS EC2를 가정합니다:

  1. t3.micro Ubuntu 24.04 인스턴스를 시작합니다.

  2. 보안 그룹: 인바운드 TCP 22 (본인 IP에서 SSH 접속), 80, 443을 허용합니다.

  3. 탄력적 IP(Elastic IP)를 할당하고 인스턴스에 연결합니다.

  4. SSH 접속: ssh -i your-key.pem ubuntu@<elastic-ip>

4. 도메인

DuckDNS를 사용하는 무료 옵션:

  1. Google/GitHub/Reddit으로 로그인합니다.

  2. 하위 도메인을 예약합니다 (예: plaid-yourname).

  3. IP를 탄력적 IP로 설정합니다.

  4. 이제 도메인은 plaid-yourname.duckdns.org가 됩니다.

2.5단계로 돌아가서 리디렉션 URI를 https://plaid-yourname.duckdns.org/auth/google/callback으로 설정합니다.

5. 설치

서버에서:

git clone https://github.com/lukew0824/plaid-mcp.git
cd plaid-mcp
cp .env.example .env
nano .env   # fill in everything
./install.sh

스크립트 내용:

  • Python, Caddy 및 종속성 설치

  • systemd 서비스(plaid-mcp) 설정

  • Let's Encrypt를 통한 자동 HTTPS 설정으로 Caddy를 리버스 프록시로 구성

6. Claude.ai에서 연결

  1. Claude.ai → Settings → Connectors → Add custom connector

  2. URL: https://yourdomain.com/mcp

  3. Connect 클릭

  4. ALLOWED_EMAIL과 일치하는 Google 계정으로 로그인

  5. 최초 1회: Plaid Link 팝업이 나타나면 은행을 연결합니다.

  6. 완료. 다음을 시도해보세요: "지난달에 식비로 얼마를 썼지?"

구성

.env 값:

키

설명

PLAID_ENV

production

PLAID_CLIENT_ID

Plaid 대시보드에서 확인

PLAID_PRODUCTION_SECRET

Plaid 대시보드에서 확인

GOOGLE_CLIENT_ID

Google Cloud Console에서 확인

GOOGLE_CLIENT_SECRET

Google Cloud Console에서 확인

ALLOWED_EMAIL

인증이 허용된 단일 Google 이메일

BASE_URL

이 서버의 공용 HTTPS URL (마지막 슬래시 제외)

DATABASE_URL

sqlite:///./plaid_mcp.db (자체 호스팅 시 기본값 사용 가능)

라이선스

MIT

Related MCP Connectors