会计异常检测平台

一个基于AI的会计异常检测平台,提供完整的生产级认证系统,支持财务交易数据分析、异常检测和AI解释生成。

  • by Eduardo-Lucas
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Eduardo-Lucas/mcp-accounting

使用说明

MCP会计平台

一 基于人工智能的会计异常检测平台 建于 FastAPI、PostgreSQL、React和OpenAI,具有完整的 生产就绪认证系统.


🚀 概述

MCP Accounting是一个全栈系统,旨在:

  • 摄取金融交易数据
  • 检测异常(大额交易、重复)
  • 生成人工智能驱动的解释
  • 将功能公开为 MCP风格的可调用API

🧱 技术栈

后端

  • 快速API
  • SQLAlchemy
  • PostgreSQL
  • Passlib(加密)
  • JWT(身份验证)
  • 码头工人

前端

  • React(TypeScript)
  • Tailwind CSS

AI层

  • OpenAI API(说明)

🔐 认证系统(生产就绪)

已实现的功能

  • ✅ 用户注册
  • ✅ 电子邮件验证(基于令牌)
  • ✅ 安全密码散列(bcrypt)
  • ✅ 使用JWT登录(无状态身份验证)
  • ✅ 密码重置流程
  • ✅ 受保护的路线(JWT就绪)

身份验证流程

注册

  1. 用户寄存器
  2. 用户创建为 未激活/未验证
  3. 生成的验证令牌(DB)
  4. 发送带有验证链接的电子邮件

邮件验证

  • 令牌已验证

  • 用户标记为:

    • is_active = True
    • is_verified = True
  • 令牌使用后失效

登录

  • 验证:

    • 电子邮件已存在
    • 密码匹配(bcrypt)
    • 用户已验证
  • 返回JWT:

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

密码重置

  1. 请求重置
  2. 生成令牌并通过电子邮件发送
  3. 用户提交新密码
  4. 令牌无效

🏗️ 建筑

Frontend (React)
        ↓
FastAPI (API Layer)
        ↓
Service Layer (Business Logic)
        ↓
SQLAlchemy ORM
        ↓
PostgreSQL
        ↓
AI Layer (OpenAI)

🔄 数据流

Register → Verify Email → Login → Upload CSV
        ↓
Store Transactions → Detect Anomalies
        ↓
Generate Report → AI Explanation

🧩 API终点

认证

  • POST /auth/register
  • POST /auth/login
  • GET /verify-email
  • POST /forgot-password
  • POST /reset-password

核心功能

  • POST /upload-transactions
  • POST /tools/get_transactions
  • POST /tools/detect_large_expenses
  • POST /tools/find_duplicate_payments
  • POST /report/anomalies
  • POST /report/anomalies/explain

🐳 使用Docker运行

docker compose up --build

访问权限:

  • API文件:http://localhost:8000/docs
  • 前端:http://localhost:3000

⚙️ 环境变量

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

🧠 关键技术决策

1.令牌类型的分离

用例 机制
电子邮件验证 DB令牌
密码重置 DB令牌
身份验证 JWT

2.安全实践

  • 通过bcrypt进行密码哈希
  • 无明文密码存储
  • 令牌使用后失效
  • 一般登录错误(无用户枚举)

3.SQLAlchemy最佳实践

  • 单 Base 例子
  • 正确的模型注册
  • 注入依赖关系的数据库会话

4.Docker化环境

  • 基于服务的网络(db)
  • 环境驱动配置
  • 清洁容器重建

🧪 当前状态

  • ✅ 端到端功能
  • ✅ 身份验证已完全实施
  • ✅ 稳定的Docker环境
  • ✅ 清洁API合同
  • ✅ AI集成工作

📌 后续步骤

  • []Alembic迁移(模式版本控制)
  • []JWT保护的端点
  • []基于角色的访问控制(RBAC)
  • []后台作业(电子邮件队列)
  • []令牌哈希(安全强化)
  • []可观察性(日志+指标)

💡 项目目的

该项目展示了:

  • 真实世界后端架构
  • 安全身份验证设计
  • AI集成到财务工作流程中
  • MCP-型API自动化曝光

👨‍💻 作者

开发为a 生产风格后端系统 展示:

  • Python/FastAPI专业知识
  • 系统设计与架构
  • 安全身份验证流程
  • 人工智能驱动的应用程序设计

📄 许可证

MIT许可证