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: @cynco/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

F
license - not found
Not graded
quality - not tested
D
maintenance

Maintenance

โ€“Maintainers
โ€“Response time
โ€“Release cycle
โ€“Releases (12mo)
Commit activity

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

  • F
    license
    Not graded
    quality
    D
    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
    C
    maintenance
    Enables AI agents to read and write Cynco accounting data, including querying books, creating invoices, reconciling transactions, and generating financial reports.
    10
    1
    MIT
  • 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
  • F
    license
    A
    quality
    B
    maintenance
    Exposes a ledger system (invoice queue, duplicate control, VAT register, contractor history, decision journal) as MCP tools for AI agents, enabling accurate invoice processing with deterministic validation.
    7

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/Eduardo-Lucas/mcp-accounting'

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