StatementKit - bank statement normalizer
Normalize bank statements (CSV, camt, MT940, OFX, QIF) to JSON, analyze, export.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"statementkit": {
"url": "https://statementkit.erikssonanton2001.workers.dev/mcp"
}
}
}원격 엔드포인트
https://statementkit.erikssonanton2001.workers.dev/mcpstreamable-http할 수 있는 일
도구 목록
도구 (5)
🟢list_formats
List the supported statement formats, CSV column synonyms, limits and prices. Free.
입력 스키마
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢parse_statement_demo(content, format, delimiter, decimal, dateFormat, ...)
Free demo: parse a statement (max 24 KB) into normalized JSON; returns the first 100 transactions plus an analysis preview. Rate limited to 20 calls per hour.
입력 스키마
{
"type": "object",
"properties": {
"content": {
"type": "string",
"description": "The statement file as text (UTF-8). PDF and scanned images are not supported."
},
"format": {
"type": "string",
"enum": [
"csv",
"camt",
"mt940",
"ofx",
"qif"
],
"description": "Skip auto-detection."
},
"delimiter": {
"type": "string",
"description": "CSV delimiter override: comma, semicolon, tab or pipe."
},
"decimal": {
"type": "string",
"enum": [
",",
"."
],
"description": "CSV decimal separator override."
},
"dateFormat": {
"type": "string",
"enum": [
"ymd",
"dmy",
"mdy"
],
"description": "CSV date order override for ambiguous dates."
},
"currency": {
"type": "string",
"description": "Fallback ISO 4217 currency when the file has none, e.g. SEK."
},
"columns": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "CSV: map field names (date, amount, description, ...) to exact header names."
},
"includeRaw": {
"type": "boolean",
"description": "Add the raw source fields to every transaction."
}
},
"required": [
"content"
],
"additionalProperties": false
}🟢parse_statement(content, format, delimiter, decimal, dateFormat, ...)
Paid ($0.005): Parses a bank statement (CSV from any bank, camt.052/053/054, MT940, OFX/QFX, QIF) into normalized JSON: accounts, balances and signed transactions with ISO dates, counterparty, reference and OCR number. Deterministic, no AI, nothing stored. JSON body up to 1000 KB. Failed calls (4xx/5xx) are not settled. Without a payment header the result is the x402 payment requirements.
입력 스키마
{
"type": "object",
"properties": {
"content": {
"type": "string",
"description": "The statement file as text (UTF-8). PDF and scanned images are not supported."
},
"format": {
"type": "string",
"enum": [
"csv",
"camt",
"mt940",
"ofx",
"qif"
],
"description": "Skip auto-detection."
},
"delimiter": {
"type": "string",
"description": "CSV delimiter override: comma, semicolon, tab or pipe."
},
"decimal": {
"type": "string",
"enum": [
",",
"."
],
"description": "CSV decimal separator override."
},
"dateFormat": {
"type": "string",
"enum": [
"ymd",
"dmy",
"mdy"
],
"description": "CSV date order override for ambiguous dates."
},
"currency": {
"type": "string",
"description": "Fallback ISO 4217 currency when the file has none, e.g. SEK."
},
"columns": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "CSV: map field names (date, amount, description, ...) to exact header names."
},
"includeRaw": {
"type": "boolean",
"description": "Add the raw source fields to every transaction."
}
},
"required": [
"content"
],
"additionalProperties": false
}🟢analyze_statement(content, format, delimiter, decimal, dateFormat, ...)
Paid ($0.01): Parses a statement and adds analysis: monthly totals, top counterparties, recurring payments, suspected duplicates, largest transactions and balance reconciliation. Set include_transactions=false to receive only the analysis. JSON body up to 1000 KB. Failed calls (4xx/5xx) are not settled. Without a payment header the result is the x402 payment requirements.
입력 스키마
{
"type": "object",
"properties": {
"content": {
"type": "string",
"description": "The statement file as text (UTF-8). PDF and scanned images are not supported."
},
"format": {
"type": "string",
"enum": [
"csv",
"camt",
"mt940",
"ofx",
"qif"
],
"description": "Skip auto-detection."
},
"delimiter": {
"type": "string",
"description": "CSV delimiter override: comma, semicolon, tab or pipe."
},
"decimal": {
"type": "string",
"enum": [
",",
"."
],
"description": "CSV decimal separator override."
},
"dateFormat": {
"type": "string",
"enum": [
"ymd",
"dmy",
"mdy"
],
"description": "CSV date order override for ambiguous dates."
},
"currency": {
"type": "string",
"description": "Fallback ISO 4217 currency when the file has none, e.g. SEK."
},
"columns": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "CSV: map field names (date, amount, description, ...) to exact header names."
},
"includeRaw": {
"type": "boolean",
"description": "Add the raw source fields to every transaction."
},
"today": {
"type": "string",
"description": "YYYY-MM-DD; flags recurring payments that stopped before this date."
},
"include_transactions": {
"type": "boolean",
"description": "Default true. false returns only the analysis."
}
},
"required": [
"content"
],
"additionalProperties": false
}🟢convert_statement(content, format, delimiter, decimal, dateFormat, ...)
Paid ($0.005): Parses a statement and exports it as normalized CSV, an hledger journal, a SIE4 file (experimental) or JSON. The converted file is returned as a string in the content field. JSON body up to 1000 KB. Failed calls (4xx/5xx) are not settled. Without a payment header the result is the x402 payment requirements.
입력 스키마
{
"type": "object",
"properties": {
"content": {
"type": "string",
"description": "The statement file as text (UTF-8). PDF and scanned images are not supported."
},
"format": {
"type": "string",
"enum": [
"csv",
"camt",
"mt940",
"ofx",
"qif"
],
"description": "Skip auto-detection."
},
"delimiter": {
"type": "string",
"description": "CSV delimiter override: comma, semicolon, tab or pipe."
},
"decimal": {
"type": "string",
"enum": [
",",
"."
],
"description": "CSV decimal separator override."
},
"dateFormat": {
"type": "string",
"enum": [
"ymd",
"dmy",
"mdy"
],
"description": "CSV date order override for ambiguous dates."
},
"currency": {
"type": "string",
"description": "Fallback ISO 4217 currency when the file has none, e.g. SEK."
},
"columns": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "CSV: map field names (date, amount, description, ...) to exact header names."
},
"includeRaw": {
"type": "boolean",
"description": "Add the raw source fields to every transaction."
},
"to": {
"type": "string",
"enum": [
"csv",
"hledger",
"sie4",
"json"
],
"description": "Target format."
},
"bankAccount": {
"type": "string",
"description": "Bank account number (SIE4, e.g. 1930) or ledger account (hledger)."
},
"expenseAccount": {
"type": "string",
"description": "Counter account for outgoing money."
},
"incomeAccount": {
"type": "string",
"description": "Counter account for incoming money."
},
"assetAccount": {
"type": "string",
"description": "hledger asset account name."
},
"company": {
"type": "string",
"description": "Company name for the SIE4 header."
}
},
"required": [
"content",
"to"
],
"additionalProperties": false
}커뮤니티
증거