🚀 QuickFile MCP 服务器
QuickFile MCP 服务器是专为 QuickFile UK 会计软件打造的模型上下文协议(MCP)服务器。借助该服务器,AI 助手能够全面访问发票开具、客户管理、采购记录、银行事务以及财务报告等功能,为会计工作提供更智能、高效的支持。
🚀 快速开始
1. 克隆并安装项目
cd ~/git
git clone https://github.com/marcusquinn/quickfile-mcp.git
cd quickfile-mcp
npm install
npm run build
2. 配置凭证
创建 QuickFile API 凭证:
mkdir -p ~/.config/.quickfile-mcp
cat > ~/.config/.quickfile-mcp/credentials.json << 'EOF'
{
"accountNumber": "YOUR_ACCOUNT_NUMBER",
"apiKey": "YOUR_API_KEY",
"applicationId": "YOUR_APPLICATION_ID"
}
EOF
chmod 600 ~/.config/.quickfile-mcp/credentials.json
获取凭证的位置:
- 账户编号:在 QuickFile 仪表盘的右上角可见。
- API 密钥:进入账户设置 → 第三方集成 → API 密钥。
- 应用程序 ID:进入账户设置 → 创建 QuickFile 应用 → 复制应用程序 ID。
3. 安装 OpenCode(若尚未安装)
OpenCode 是一款开源的 AI 编码助手,可在终端中运行,它支持像本项目这样的 MCP(模型上下文协议)服务器。
npm install -g opencode
npx opencode
更多安装选项和配置信息,请参阅 OpenCode 文档。
4. 配置 OpenCode
在 ~/.config/opencode/opencode.json 中添加以下内容:
{
"mcp": {
"quickfile": {
"type": "local",
"command": ["node", "/path/to/quickfile-mcp/dist/index.js"],
"enabled": true
}
}
}
或者使用设置脚本:
./setup.sh opencode
5. 开始使用
重启 OpenCode 并尝试以下指令:
"Show me my QuickFile account details"
"List my recent invoices"
"Search for clients named 'Smith'"
"Get the profit and loss report for this year"
✨ 主要特性
- 40 多种 MCP 工具:全面覆盖 QuickFile API 的各项功能。
- 客户管理:支持创建、搜索、更新和删除客户及联系人。
- 发票开具:可创建发票、估算单、信用票据,通过电子邮件发送,并获取 PDF 格式文件。
- 采购管理:记录和管理来自供应商的采购发票。
- 供应商管理:提供完整的供应商创建、读取、更新和删除(CRUD)操作。
- 银行事务:管理银行账户、交易记录和账户余额。
- 财务报告:生成利润与损失报表、资产负债表、增值税义务报表和账龄分析报告等。
- 系统操作:查看账户详情、事件日志和备注信息。
📦 安装指南
克隆项目
cd ~/git
git clone https://github.com/marcusquinn/quickfile-mcp.git
cd quickfile-mcp
安装依赖
npm install
构建项目
npm run build
💻 使用示例
基础用法
在配置好凭证和 OpenCode 后,重启 OpenCode 并输入以下指令:
"Show me my QuickFile account details"
此指令将调用 quickfile_system_get_account 工具,获取 QuickFile 账户的详细信息。
高级用法
若要获取特定时间段内的利润与损失报表,可在 OpenCode 中输入:
"Get the profit and loss report from 2024-01-01 to 2024-12-31"
该指令将调用 quickfile_report_profit_loss 工具,并传入相应的日期参数,以生成指定时间段的利润与损失报表。
📚 详细文档
可用工具
系统工具(3 个)
| 工具名称 |
描述 |
quickfile_system_get_account |
获取账户详情(公司信息、增值税状态、财年结束日期) |
quickfile_system_search_events |
搜索审计事件日志 |
quickfile_system_create_note |
为发票、客户等添加备注 |
客户工具(7 个)
| 工具名称 |
描述 |
quickfile_client_search |
按名称、电子邮件、邮政编码搜索客户 |
quickfile_client_get |
获取完整的客户详情 |
quickfile_client_create |
创建新客户 |
quickfile_client_update |
更新客户详情 |
quickfile_client_delete |
删除客户 |
quickfile_client_insert_contacts |
为客户添加联系人 |
quickfile_client_login_url |
获取客户门户的无密码登录 URL |
发票工具(8 个)
| 工具名称 |
描述 |
quickfile_invoice_search |
按类型、客户、日期、状态搜索发票 |
quickfile_invoice_get |
获取包含明细项的完整发票信息 |
quickfile_invoice_create |
创建发票、估算单或信用票据 |
quickfile_invoice_delete |
删除发票 |
quickfile_invoice_send |
通过电子邮件发送发票 |
quickfile_invoice_get_pdf |
获取 PDF 下载 URL |
quickfile_estimate_accept_decline |
接受或拒绝估算单 |
quickfile_estimate_convert_to_invoice |
将估算单转换为发票 |
采购工具(4 个)
| 工具名称 |
描述 |
quickfile_purchase_search |
搜索采购发票 |
quickfile_purchase_get |
获取采购详情 |
quickfile_purchase_create |
创建采购发票 |
quickfile_purchase_delete |
删除采购发票 |
供应商工具(4 个)
| 工具名称 |
描述 |
quickfile_supplier_search |
搜索供应商 |
quickfile_supplier_get |
获取供应商详情 |
quickfile_supplier_create |
创建新供应商 |
quickfile_supplier_delete |
删除供应商 |
银行工具(5 个)
| 工具名称 |
描述 |
quickfile_bank_get_accounts |
列出所有银行账户 |
quickfile_bank_get_balances |
获取账户余额 |
quickfile_bank_search |
搜索交易记录 |
quickfile_bank_create_account |
创建银行账户 |
quickfile_bank_create_transaction |
添加银行交易记录 |
报告工具(6 个)
| 工具名称 |
描述 |
quickfile_report_profit_loss |
生成利润与损失报表 |
quickfile_report_balance_sheet |
生成资产负债表 |
quickfile_report_vat_obligations |
查看增值税申报情况(已提交和未提交) |
quickfile_report_ageing |
进行债务人/债权人账龄分析 |
quickfile_report_chart_of_accounts |
列出名义代码 |
quickfile_report_subscriptions |
查看定期订阅信息 |
API 速率限制
QuickFile 每个账户默认的 API 调用限制为 每天 1000 次。如需提高此限制,请联系 QuickFile 支持团队。
开发相关
npm install
npm run build
npm run dev
npm test
npm run test:integration
npm run test:all
npm run typecheck
npm run lint
QUICKFILE_DEBUG=1 node dist/index.js
使用 MCP Inspector 进行测试
在开发和调试过程中,建议使用官方的 MCP Inspector 工具,而非通过 AI 助手运行。该工具提供以下功能:
- 直接调用工具:使用自定义参数直接调用 MCP 工具。
- 实时查看响应:无需 AI 解释,直接查看完整的 JSON 响应。
- 快速迭代:无需等待 AI 处理请求。
- 调试可见性:查看原始服务器输出和错误信息。
快速开始
npm install -g @modelcontextprotocol/inspector
npx @modelcontextprotocol/inspector node dist/index.js
然后在浏览器中打开 http://localhost:5173,进行以下操作:
- 查看所有 37 个可用工具的列表。
- 点击工具查看其输入模式。
- 填写参数并执行。
- 查看原始 JSON 响应。
示例测试工作流程
- 测试账户访问:使用
{} 调用 quickfile_system_get_account。
- 测试客户搜索:使用
{"companyName": "test"} 调用 quickfile_client_search。
- 测试报告生成:使用
{"startDate": "2024-01-01", "endDate": "2024-12-31"} 调用 quickfile_report_profit_loss。
- 测试发票列表:使用
{"invoiceType": "INVOICE"} 调用 quickfile_invoice_search。
此方法适用于以下场景:
- 调试 API 响应问题。
- 验证新工具是否正常工作。
- 测试参数验证。
- 调查错误响应。
贡献指南
QuickFile API 文档
QuickFile API 对元素顺序和必填字段有严格要求。在贡献代码时,请遵循以下步骤:
- 始终查看官方 API 模式:访问 https://api.quickfile.co.uk/。
- 使用 Context7 进行 AI 辅助开发:访问 https://context7.com/websites/api_quickfile_co_uk。
- Context7 已对完整的 QuickFile API 文档进行索引。
- 使用它查询确切的字段名称、必填参数和元素顺序。
- 示例:“What are the required fields for Purchase_Search?”
关键 API 特性
- 元素顺序很重要:XML 模式验证要求特定的字段顺序。
- 必填字段因端点而异:大多数搜索端点需要
OrderResultsBy 和 OrderDirection。
- 字段命名不一致:例如,
FromDate/ToDate 与 DateFrom/DateTo。
- SearchParameters 包装器:大多数端点需要在查询参数周围使用此包装器。
- 名义代码类型:有时为字符串,有时为整数(请查看模式)。
架构
quickfile-mcp/
├── src/
│ ├── index.ts # MCP 服务器入口点
│ ├── api/
│ │ ├── auth.ts # MD5 身份验证
│ │ └── client.ts # HTTP 客户端
│ ├── tools/
│ │ ├── index.ts # 工具注册表和导出
│ │ ├── utils.ts # 共享实用程序(错误处理、日志记录)
│ │ ├── schemas.ts # Zod 验证模式
│ │ ├── system.ts # 系统工具
│ │ ├── client.ts # 客户工具
│ │ ├── invoice.ts # 发票工具
│ │ ├── purchase.ts # 采购工具
│ │ ├── supplier.ts # 供应商工具
│ │ ├── bank.ts # 银行工具
│ │ └── report.ts # 报告工具
│ └── types/
│ └── quickfile.ts # TypeScript 类型
├── tests/
│ ├── unit/ # 单元测试(201 个测试)
│ └── integration/ # API 集成测试(16 个测试)
├── .agent/ # AI 助手文档
└── .opencode/agent/ # OpenCode 代理文件
凭证安全
- 凭证存储在
~/.config/.quickfile-mcp/credentials.json 中。
- 文件权限应为 600(仅所有者可读写)。
- 切勿将凭证提交到版本控制系统。
- API 密钥可提供完全访问权限,请像对待密码一样妥善保管。
- Secretlint 会在提交前自动运行,以防止意外泄露机密信息。
- 可手动运行
npm run secretlint 扫描机密信息。
相关项目
📄 许可证
本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。
作者:Marcus Quinn - 版权所有 © 2025