Skip to main content
Glama
Abishai95141

fincon

by Abishai95141

증명으로 장부를 마감하세요, 때우는 게 아니라.

FinCon은 결제 게이트웨이가 지급했다고 말하는 금액을 은행이 실제로 수령한 금액과 대사하고, 복식부기를 작성하며, 남은 항목을 순위·가격·배정하여 데스크로 보냅니다. 모든 매칭에는 감사자가 우리의 도움 없이 재도출할 수 있는 산술 증명이 함께합니다.


문제

대사 소프트웨어는 이미 거래의 90~99%를 매칭합니다. Trintech는 99% 이상을 공표합니다. NetSuite는 신뢰도 점수 보조 기능이 있는 N:M 규칙을 제공합니다. 그 문제는 이미 해결되었고, *"우리 AI가 더 잘 매칭한다"*고 내세우는 것은 누구도 도움을 필요로 하지 않는 단 한 가지 차원에서 경쟁하는 것입니다.

자동화 이후에도 살아남는 비용은 두 가지이며, 어느 것도 매칭 문제가 아닙니다.

꼬리(tail)는 이유 없이 돌아옵니다. 은행 피드 자동화는 대사 시간을 약 47분에서 예외 처리만으로 줄입니다. 이는 한 가지 통계로 전체를 설명합니다. 매칭된 기록은 결코 비용이 아니었다는 것입니다. 그러나 실패하는 1~10%는 평평한 큐로 돌아오고, 컨트롤러는 행마다 수작업으로 맥락을 재구성합니다. 거래량은 줄었습니다. 건당 비용은 그대로였습니다.

그리고 매칭률은 하락합니다. 자동 매칭률은 유지되는 것이 아니라 달성되는 것입니다. 새로운 벤더 형식은 누군가 규칙을 작성하기 전까지 조용히 매칭 품질을 떨어뜨리고, 규칙 작성은 엔지니어링 뒤에 막혀 있습니다. 따라서 예외를 이해하는 사람이 그것을 고칠 수 있는 사람이 결코 될 수 없습니다.

오늘날 컨트롤러가 하는 일: 세 개의 내역을 내려받고, 행 수준이 불가능하므로 지급 수준에서 매칭하고, 차액을 때움 항목(plug)으로 계상하고, 맞지 않으면 Excel에서 사흘을 보내고, 분개장을 수기로 입력하고, 다음 달에도 동일한 꼬리가 다시 돌아오는 것을 지켜봅니다.


Related MCP server: MCP-Finance-Reconciliation

해결책

개방형 수집, 검증된 확정. 모델이 제안합니다. 결정론적 엔진이 증명합니다. 이름 있는 사람이 결정합니다.

AI는 세 가지 일을 하며, 그것들은 정확히 AI가 필요한 세 가지입니다

이것은 챗봇을 붙인 규칙 엔진도 아니고, 산술을 추측하는 모델도 아닙니다. 모델은 결정론적 시스템이 할 수 없는 작업에 정확히 배정됩니다:

아무도 설정하지 않은 형식을 읽습니다

한 번도 본 적 없는 레이아웃의 정산 파일. 모델은 원시 라인 12줄을 읽고 파싱 스펙(구분자, 헤더 행, 소수 단위, 비 ISO 날짜)을 작성합니다. 통합 프로젝트 없이 수집합니다.

꼬리에 이름을 붙입니다

산술로 해결하지 못한 항목은 엔진이 도출한 근접 후보들과 함께 모델로 전달되고, 약 2.1초 만에 코드, 가설, 인용 증거와 함께 돌아옵니다.

내일의 규칙을 작성합니다

자신의 말로 브레이크를 해결하면, 모델이 이를 방지했을 결정론적 규칙을 유도합니다. R-DUP-06은 컨트롤러의 한 문장에서 이렇게 작성되었으며, 이후 모든 마감에서 발동합니다.

시스템은 시간이 지날수록 더 에이전트적이지 않고, 더 결정론적으로 변합니다. 이것은 에이전트 제품이 일반적으로 노화하는 방식과 정반대이며, 전체 논지입니다.

그리고 울타리가 쳐져 있어서 켤 수 있습니다

언어 모델은 조회에서 95.6%에서 다변량 계산에서 거의 0으로 붕괴하며, 자신 있게 실패합니다. 따라서 모델은 구조적으로 산술에서 차단됩니다. 아래의 모든 경계는 누군가 제거하면 실패하는 테스트입니다:

  • 마감 중 모델 호출 없음. 6단계, 모델 호출 0회, 영수증에 그렇게 명시됩니다.

  • 제안은 도출된 답을 덮어쓸 수 없습니다. 기껏해야 P2이며, P0 ARITHMETIC을 덮어쓸 수 없습니다. 엔진이 도출한 항목은 제안조차 되지 않습니다.

  • 생성된 코드는 실행되지 않습니다. evalexec도 없습니다. 어댑터는 폐쇄된 파싱 동사 어휘로 읽히는 선언적 스펙입니다.

  • 어떤 도구도 권한을 가지지 않습니다. 어떤 MCP 도구도 정책, 허용 오차, 부호 규약 또는 규칙 세트를 받아들이지 않습니다. 생성된 스키마에 대해 검사됩니다.

모든 행에 증명, 그리고 네 가지 정직한 결말

모든 수용된 매칭은 신뢰도 점수가 아닌 산술 객체를 방출합니다: 양쪽의 레코드 ID, 0으로 수렴하는 잔차, 소비된 허용 오차, 발동된 규칙. 통과하는 증명이 없는 매칭은 매칭이 아니며 매칭 수에 포함되지 않습니다.

match M-0412   tier T2 subset-sum   rule R-017@v3
  payout    BANK/2026-08-14/CR         +4,378.21
  charges   87 × settlement rows       +4,612.90
  refunds    4 × settlement rows         -118.40
  fees     162 × settlement rows         -114.02
  ────────────────────────────────────────────
  residual                                  0.00    tolerance used 0.00 / 0.50
  verdict   PROVEN      provenance  P0 ARITHMETIC

남은 모든 항목은 현금 영향 × 경과일로 순위가 매겨져 데스크로 배정됩니다. 각 항목은 복식부기로 종결됩니다 — 계상, 이월, 추적, 또는 상각 — 귀하의 이름으로, 서명된 정책에 의해 두 번 경계가 설정됩니다.


영향

엔진이 존재하기 전에 작성된 라벨을 기준으로 측정되었으며, 결정 로그만으로 재도출되었습니다:

자동 매칭

90.9% — 앵커 22개 중 20개, 티어별 T0=17 T1=2 T4=1

오매칭

0.00%

예외 커버리지

6 / 6 — 심어진 모든 결함 발견

분류

4 / 6 정확

모호성

1 / 1 감지 및 추측 대신 거부

분개장

23개 항목, 균형 — beancount 내보내기는 beancount 자체가 다시 로드합니다

마감 시간

1.4초, 모델 호출 0회

일반성은 주장이 아니라 측정됩니다. 두 번째 대사 — 소득세청의 Form 26AS를 TDS 미수금 원장과 TAN + 섹션 + 분기로 매칭, 4월~3월 회계연도 — 는 동일한 엔진에서 엔진 변경 없이 실행되며, 게이트가 바이트 단위로 검증합니다.

모른다고 명시하는 곳. 실제 마감에서 7개 항목 중 4개는 E14엔진이 이유를 말할 수 없음 — 이며, 그 사실은 그럴듯한 추측으로 다듬어져 잘못된 데스크로 보내지지 않고 꼬리 맨 위에 인쇄됩니다. E09는 멈춰야 할 항목입니다: 두 개의 서로 다른 부분집합이 허용 오차 내에서 동일한 대변에 합산되므로 선택할 올바른 답이 존재하지 않으며, 찾은 첫 번째 부분집합을 반환하는 모든 도구는 그 지점에서 자신 있게 틀립니다.


어시스턴트를 연결하세요 — MCP

FinCon은 Model Context Protocol 서버입니다. *"10월 마감을 막는 것이 무엇인지, 큰 것부터 알려줘"*라고 물으면 레코드를 읽고, 결정론적 마감을 실행하고, 증명을 검증하고, 항목을 해결하고, 서명합니다 — 귀하로서, 귀하가 발급한 토큰을 보유하고 있기 때문입니다.

// Claude Desktop, Claude Code, or any MCP client
{
  "mcpServers": {
    "fincon": { "url": "https://fincon.astutecomputer.com/mcp" }
  }
}

Cognito를 통한 OAuth, RFC 9728에 따른 오리진에서의 검색, 동적 클라이언트 등록. 또는 stdio에서 자신의 파일로 실행할 수 있습니다: make mcp.

21개 도구; 그중 4개는 쓰기 작업입니다. 어시스턴트는 낯선 사람이 아닙니다. 귀하의 자격 증명을 보유하며, 해당 토큰의 sub는 브라우저 세션이 해석하는 것과 동일한 문자열입니다. 따라서 귀하가 할 수 있는 일을 할 수 있고, 모든 결정은 들어온 문을 기록하므로 1년 후 어떤 항목을 직접 읽었고 어떤 항목을 위임했는지 알 수 있습니다. 중요한 경계 — 상각 상한, 예산, 잔액 확인, 아무도 열지 않은 항목 — 는 누가 호출했는지에 대한 질문이 아니었으며, 에이전트에게도 동일하게 적용됩니다.


아키텍처

모델이 제안 → 엔진이 증명 → 사람이 결정합니다. 증명이나 이름 없이는 어떤 경계도 넘지 않습니다.

  SOURCES                    ENGINE  (no model, ever)                 RECORD
  ─────────                  ────────────────────────                 ──────
  bank CAMT.053 ┐            ┌──────────────────────┐
  settlement    ├─ intake ──▶│ block → match         │──▶ verify ──┐
  order register┘   │        │ T0 exact              │   re-derive │
  Form 26AS     ┘   │        │ T1 tolerant           │   from raw  │
                    │        │ T2 subset-sum         │   records   │
              5 proofs       │ T4 declared           │             ▼
              row count      └──────────┬───────────┘      ┌──────────────┐
              control total             │                  │ double entry │
              roll-forward         unmatched               │ + balance    │
              type/domain              │                   │   assertion  │
              idempotence              ▼                   └──────┬───────┘
                              ┌────────────────┐                  │
                              │ near-miss      │                  ▼
                              │ diagnosis      │           hash-chained
                              │ (arithmetic)   │           decision log
                              └───────┬────────┘                  │
                                      │ genuinely unexplained     │
                                      ▼                           │
                        ╔═════════════════════════╗               │
                        ║  MODEL  (proposes only) ║               │
                        ║  adapter synthesis      ║               │
                        ║  classification         ║               │
                        ║  rule induction         ║               │
                        ╚═══════════╤═════════════╝               │
                                    │ P2 at best, never overwrites P0
                                    ▼                             │
                        ┌───────────────────────┐                 │
                        │  HUMAN decides        │◀────────────────┘
                        │  book · carry · chase │
                        │  · write off · sign   │
                        └───────────┬───────────┘
                                    ▼
                          close pack · journal.csv
                          journal.beancount · POST /v1/verify

증명 티어(Proof tiers), 실제 마감에는 산술만으로는 누구도 도출할 수 없는 항목이 포함되기 때문입니다. 규칙은 조용히 움직이지 말 것이지, 증명할 수 없는 것을 거부할 것이 아닙니다:

P0 ARITHMETIC 누구나 재도출 가능 · P1 RULE 승격되고 회귀 테스트된 규칙이 발동 · P2 ATTESTED 이름 있는 사람이 승인 · P3 DECLARED 명시된 차이를 인정하고 수용.

AWS에서 호스팅

https://fincon.astutecomputer.com 에서 운영 중 — ap-south-1의 단일 CloudFormation 스택. 논쟁할 가치가 있는 네 가지 결정과 이 인프라가 의도적으로 갖추지 않은 것을 포함한 전체 분석은 docs/14-AWS.md 에 있습니다.

   Cloudflare DNS ──▶ ALB (ACM, TLS 1.3) ──▶ ECS Fargate ──┬─▶ EFS  runs + uploads
                       :80 → :443           1 task          ├─▶ Cognito   identity
                       /healthz 30s         256cpu/512mb    ├─▶ Secrets Manager
                                            screens · API   └─▶ CloudWatch Logs
                                            · MCP /mcp

S3 대신 EFS — 결정 로그는 추가 전용(append-only)이고 해시 체인이며 작성자가 POSIX 잠금을 사용하기 때문입니다. 그리고 flock은 EFS에서 조용히 작동하지 않으며, 이 사실이 선택을 거의 뒤집을 뻔했습니다. 퍼블릭 서브넷, NAT 없음 — 단일 태스크 인프라를 위한 월 32달러 게이트웨이를 ALB만 허용하는 보안 그룹으로 대체했습니다. 커밋 sha로 태그된 이미지, 절대 latest가 아니므로 롤백에 이름을 붙일 수 있습니다.


실행

make setup     # uv sync
make gen       # regenerate the synthetic batches from a seed
make verify    # every green gate
make serve     # → http://127.0.0.1:8000/
make eval      # 4 ablation arms, 9 metrics, batches A and B
make mcp       # MCP on stdio

make testmake verifyAPI 키가 필요 없습니다 — 모델 기반 게이트는 제외되고 출력에 명시됩니다. 조용히 건너뛰어 초록색으로 보이는 게이트는 이 저장소 전체가 다루는 실패이기 때문입니다.


우리 없이 검증하세요

주장은 *"우리 숫자를 믿으세요"*가 아닙니다. 감사자에게 결정 로그와 소스 파일을 건네면, 계정이 필요 없고 우리 상태를 전혀 건드리지 않는 공개 엔드포인트에서 모든 매칭을 재도출합니다:

curl -X POST https://fincon.astutecomputer.com/v1/verify \
     -H 'content-type: application/json' -d @proof.json

모든 판정은 어떤 정책 하에서 생성되었는지 명시하고, 해당 정책이 시행 중(in force) 이었는지 호출자 제공(caller-supplied) 이었는지 스탬프를 찍습니다. 누군가 가져온 정책 하에서 생성된 판정이 우리 정책 하에서 생성된 것과 구분할 수 없게 돌아와서는 안 되기 때문입니다.


아직 할 수 없는 것

작동하는 것만 나열한 README는 브로슈어입니다.

  • 소규모로 검증됨 — 수백 개의 행, 두 개의 게이트웨이, 하나의 통화.

  • 일곱 개의 중단 중 네 개는 아직 이름이 없다. 보고만 했지, 추측하지 않았다.

  • 꼬리는 기억하지 못한다. 중단은 콘텐츠 지문으로 식별되므로, 같은 중단은 다음 달에도 알아볼 수 있다 — 하지만 아직 *"4개월 연속"*이라고 말해주는 것은 없다.

  • settlement_3way는 두 개의 다리를 묶지, 세 개가 아니다. 게이트웨이 ↔ 은행은 완료; 주문 등록부 ↔ 게이트웨이가 다음이고, 바로 거기서 수익 누수가 숨어 있다.

  • 하나의 모델, 하나의 프롬프트, 하나의 공급자, 그리고 생성기와 엔진을 같은 저자가 작성했다 — 그래서 적대적 세트가 고정되어 있고 변형 스위트가 존재하는 것이다.


문서

CLAUDE.md

상시 컨텍스트 — 규칙, 용어, 여덟 가지 불변 조건

STATUS.md

실시간 빌드 상태, 각 게이트를 증명하는 명령 출력 포함

docs/01-DECISION-SPEC.md

문제, 해결책, 트레이드오프

docs/08-AS-BUILT.md

오늘 실제로 실행되는 것

docs/10-THE-USER-FLOW.md

흐름, 그리고 그 가치

docs/13-THE-SCREENS.md

모든 화면, 그리고 각 화면이 답하는 질문

docs/14-AWS.md

AWS 자산 전체

docs/decisions/

ADR — 그중 두 개는 되돌릴 수 없음

FinCon 사용해 보기 →  ·  문의

Install Server
F
license - not found
B
quality
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Automates month-end close reconciliation tasks including bank statement matching, GL account reconciliation, intercompany balance checking, and close task tracking.
    1
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    An accounting-ops agent that reconciles payments against open orders, auto-books provably safe payments through a deterministic policy gate, and escalates exceptions to a human queue with audit trails.
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Deterministic verification for AI-generated analysis. Reconciliation, consistency and Excel-integrity checks that stop the line when the numbers don't add up.
    1
    MIT

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

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/Abishai95141/FinCon'

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