Skip to main content
Glama

MCP Accounting Platform

An AI-powered accounting anomaly detection platform built with FastAPI, PostgreSQL, React, and OpenAI, featuring a complete production-ready authentication system.


๐Ÿš€ Overview

MCP Accounting is a full-stack system designed to:

  • Ingest financial transaction data

  • Detect anomalies (large transactions, duplicates)

  • Generate AI-powered explanations

  • Expose functionality as MCP-style callable APIs


Related MCP server: Quack MCP

๐Ÿงฑ Tech Stack

Backend

  • FastAPI

  • SQLAlchemy

  • PostgreSQL

  • Passlib (bcrypt)

  • JWT (authentication)

  • Docker

Frontend

  • React (TypeScript)

  • Tailwind CSS

AI Layer

  • OpenAI API (explanations)


๐Ÿ” Authentication System (Production-Ready)

Features Implemented

  • โœ… User registration

  • โœ… Email verification (token-based)

  • โœ… Secure password hashing (bcrypt)

  • โœ… Login with JWT (stateless auth)

  • โœ… Password reset flow

  • โœ… Protected routes (JWT-ready)


Auth Flow

Registration

  1. User registers

  2. User is created as inactive/unverified

  3. Verification token generated (DB)

  4. Email sent with verification link

Email Verification

  • Token validated

  • User marked as:

    • is_active = True

    • is_verified = True

  • Token invalidated after use

Login

  • Validates:

    • Email exists

    • Password matches (bcrypt)

    • User is verified

  • Returns JWT:

{
  "access_token": "jwt-token",
  "token_type": "bearer"
}

Password Reset

  1. Request reset

  2. Token generated and emailed

  3. User submits new password

  4. Token invalidated


๐Ÿ—๏ธ Architecture

Frontend (React)
        โ†“
FastAPI (API Layer)
        โ†“
Service Layer (Business Logic)
        โ†“
SQLAlchemy ORM
        โ†“
PostgreSQL
        โ†“
AI Layer (OpenAI)

๐Ÿ”„ Data Flow

Register โ†’ Verify Email โ†’ Login โ†’ Upload CSV
        โ†“
Store Transactions โ†’ Detect Anomalies
        โ†“
Generate Report โ†’ AI Explanation

๐Ÿงฉ API Endpoints

Auth

  • POST /auth/register

  • POST /auth/login

  • GET /verify-email

  • POST /forgot-password

  • POST /reset-password

Core Features

  • POST /upload-transactions

  • POST /tools/get_transactions

  • POST /tools/detect_large_expenses

  • POST /tools/find_duplicate_payments

  • POST /report/anomalies

  • POST /report/anomalies/explain


๐Ÿณ Running with Docker

docker compose up --build

Access:


โš™๏ธ Environment Variables

DATABASE_URL=postgresql://postgres:postgres@db:5432/mcp_accounting
SECRET_KEY=your-secret-key
FRONTEND_URL=http://localhost:3000

๐Ÿง  Key Technical Decisions

1. Separation of Token Types

Use Case

Mechanism

Email verification

DB token

Password reset

DB token

Authentication

JWT


2. Security Practices

  • Password hashing via bcrypt

  • No plaintext password storage

  • Token invalidation after use

  • Generic login errors (no user enumeration)


3. SQLAlchemy Best Practices

  • Single Base instance

  • Proper model registration

  • Dependency-injected DB sessions


4. Dockerized Environment

  • Service-based networking (db)

  • Environment-driven configuration

  • Clean container rebuilds


๐Ÿงช Current Status

  • โœ… End-to-end functional

  • โœ… Authentication fully implemented

  • โœ… Stable Docker environment

  • โœ… Clean API contracts

  • โœ… AI integration working


๐Ÿ“Œ Next Steps

  • Alembic migrations (schema versioning)

  • JWT-protected endpoints

  • Role-based access control (RBAC)

  • Background jobs (email queue)

  • Token hashing (security hardening)

  • Observability (logs + metrics)


๐Ÿ’ก Project Purpose

This project demonstrates:

  • Real-world backend architecture

  • Secure authentication design

  • AI integration into financial workflows

  • MCP-style API exposure for automation


๐Ÿ‘จโ€๐Ÿ’ป Author

Developed as a production-style backend system to showcase:

  • Python / FastAPI expertise

  • System design & architecture

  • Secure authentication flows

  • AI-driven application design


๐Ÿ“„ License

MIT License

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    AI-first CSV analysis tool that enables AI agents to analyze, query, and audit large CSV files directly within conversations, turning raw data into actionable insights.
    2
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables LLM agents to load, explore, and analyze CSV and Excel files using DuckDB, with tools for SQL querying, statistical analysis, expense optimization, and anomaly detection.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides financial audit reporting and ledger query tools for AI agents, enabling generation of compliance, risk, and transaction reports and querying of transaction data, balances, and summaries from an in-memory SQLite database via MCP.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to perform financial analysis, budget forecasting, compliance checks, expense categorization, and risk assessment, returning structured JSON with audit-ready governance receipts.
    5
    63 npm
    1
    Business Source 1.1