快速鳍
MCP服务器为人工智能助手提供对完整的QuickBooks Online API的受管理、可审核的访问。
它的作用
Quick Fin曝光 244 MCP工具 让Claude、GPT或任何兼容MCP的人工智能助手与QuickBooks Online进行交互,并内置财务控制、审计跟踪和合规护栏。
| 类别 | 工具 | 覆盖范围 |
|---|---|---|
| 会计实体 | 176 | 36个实体(发票、账单、付款、客户、供应商、账户、日记账条目等),具有CRUD、作废、发送、PDF和查询操作 |
| 财务报告 | 30 | 损益表、资产负债表、现金流、试算表、总账、应收账款/应付账款账龄、税务摘要等 |
| 付款 | 10 | 信用卡手续费、退款、ACH/eCheck、PCI代币化(默认禁用,需要双重批准) |
| 基础架构 | 8 | 批处理操作、更改数据捕获、类SQL查询、Webhook、健康检查、连接/断开连接 |
| 治理 | 12 | 审批工作流、审计日志查询、链验证、周期管理、令牌状态 |
| 合规性 | 8 | 职责分离检查、PCI扫描、PII审计、异常检测、Benford法律分析 |
为什么它存在
将人工智能连接到没有控制的金融系统是危险的。Quick Fin是根据三个专家角色的30次迭代安全审计设计的:
- 注册会计师 (56项调查结果)——GAAP合规性、内部控制、审计跟踪、SOX、欺诈检测
- 数据工程师 (25项调查结果)-API可靠性、代币竞争、并发性、速率限制、可观察性
- 首席财务官 (16项调查结果)——支付控制、供应商欺诈(BEC)、审批工作流程、工资隐私、投资回报率
完整的审计报告见 docs/综合所有调查结果的架构计划见 ARCHITECTURE.md.
快速开始
先决条件
- Node.js 20+
- QuickBooks Online开发人员帐户(developer.intitu.com)
- OAuth 2.0应用程序
com.intuit.quickbooks.accounting和com.intuit.quickbooks.payment范围
安装
git clone https://github.com/Alex-Zeo/quick-fin.git
cd quick-fin
npm install
cp .env.example .env
# Edit .env with your QBO OAuth credentials构建与运行
npm run build # Transpile with esbuild (~100ms)
npm start # Start MCP server (stdio transport)发展
npm run dev # Watch mode with tsx
npm test # Run tests with vitest连接到克劳德桌面
添加到您的Claude桌面配置(~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"quick-fin": {
"command": "node",
"args": ["/path/to/quick-fin/dist/server.js"],
"env": {
"QBO_CLIENT_ID": "your-client-id",
"QBO_CLIENT_SECRET": "your-client-secret",
"QBO_REDIRECT_URI": "http://localhost:3000/callback",
"QBO_ENVIRONMENT": "sandbox"
}
}
}
}建筑
MCP Client (Claude, etc.)
|
v
[MCP Server] ── 244 tools registered
|
v
[Governance Pipeline]
RBAC ── SoD ── Period Check ── Materiality ── Approval ── Validation ── Idempotency
|
v
[HTTP Client Layer]
Rate Limiter ── Circuit Breaker ── Retry ── Concurrency Semaphore
|
v
[QuickBooks Online API]
Accounting ── Reports ── Payments ── CDC ── Batch ── Webhooks
|
v
[Audit Logger]
SHA-256 Hash Chain ── Local SQLite ── External Immutable Store关键设计决策
每个突变都要经过一个治理管道。 在达到QBO API之前,创建发票、支付账单、作废支票-所有这些都要通过RBAC、职责分离、期间控制、实质性阈值和审批工作流。
默认情况下,付款被禁用。 首席财务官的审计将支付执行确定为最高风险能力。支付工具是存在的,但每笔交易都需要明确启用和双重批准。
工资单写入被永久阻止。 服务器可以读取工资单数据(带有PII掩码),但永远不会写入工资单端点。这是硬编码的,不可配置。
所有资金用途 Decimal. JavaScript浮点运算不适合金融计算。Quick Fin中的每个货币价值都使用 decimal.js 具有20位精度和银行家四舍五入。
哈希链审计跟踪。 每个API操作都会生成一个审核条目,该条目通过SHA-256哈希链接到前一个条目。该链是可独立验证的,完整性可以通过 qbo_verify_audit_chain 工具。
项目结构
src/
server.ts # Entry point — registers all 244 MCP tools
config/ # Zod-validated configuration with sensible defaults
schemas/entities/ # 36 Zod schemas matching QBO entity shapes
auth/ # OAuth 2.0 with encrypted token storage
audit/ # Hash-chained immutable audit logger
client/ # HTTP pool, rate limiter, circuit breaker, retry
governance/ # RBAC, SoD, approvals, period-close, materiality
security/ # PCI scanner, PII masker, data classification
monitoring/ # Anomaly detection, Benford's law, health checks
sync/ # CDC polling, reconciliation, webhooks
validation/ # Pre-submit checks, idempotency, duplicate detection
tenant/ # Multi-tenant isolation
tools/ # MCP tool definitions (accounting, reports, payments, infra, governance)
utils/ # Logging, fiscal calendar, batch executor, etc.
docs/
AUDIT_CPA.md # Full CPA audit (56 findings, 10 iterations)
AUDIT_DATA_ENGINEER.md # Full Data Engineer audit (25 findings, 10 iterations)
AUDIT_CFO.md # Full CFO audit (16 findings, 10 iterations)
QUICKBOOKS_API_REFERENCE.md # Complete QBO API surface area配置
所有配置都是通过环境变量进行的(参见 .env.example):
| 变量 | 必填 | 描述 |
|---|---|---|
QBO_CLIENT_ID | 是 | Intuit Developer提供的OAuth 2.0客户端ID |
QBO_CLIENT_SECRET | 是 | OAuth 2.0客户端密钥 |
QBO_REDIRECT_URI | 否 | 回调URL(默认值: http://localhost:3000/callback) |
QBO_ENVIRONMENT | 没有 | sandbox 或 production (默认值: sandbox) |
TOKEN_ENCRYPTION_KEY | 用于AES-256令牌加密的32字节十六进制字符串 | |
LOG_LEVEL | 无 | 引脚日志级别(默认值: info) |
WEBHOOK_ENABLED | 否 | 启用webhook接收器(默认值: false) |
WEBHOOK_VERIFIER_TOKEN | 康迪。 | 如果启用了webhooks,则为必填项 |
安全模型
Quick-Fin实现了一个基于角色的5层访问系统:
| 层级 | 角色 | 能力 |
|---|---|---|
| 1 | 查看器 | 读取实体,运行报告 |
| 2 | 分析师 | 第1+层查询,CDC,批量读取 |
| 3 | Transact | Tier 2+创建/更新实体(在审批阈值内) |
| 4 | 控制者 | 第3+层批准操作、管理周期、访问PII |
| 5 | 财政部 | Tier 4+支付操作、账户修改 |
附加控制:
- 职责分离 --冲突矩阵阻止同一会话,例如创建供应商和批准向该供应商付款
- 重要性阈值 --超过可配置美元金额的操作需要单次或双重批准
- 期间关闭执行 --5阶段生命周期(打开、软关闭、硬关闭、归档、存档)可防止回溯
- PCI合规性 --信用卡号从不被存储、记录或传输
- PII屏蔽 --SSN、银行账户、默认掩盖的薪酬
许可证
麻省理工学院
