Token导航 LogoToken导航TokenDH.com
Laravel Quickbooks MCP Server logo
安全风控未说明官方级别未说明来源级核验

Laravel Quickbooks MCP Server

MCP Server

一个PHP/Laravel Composer包,将QuickBooks Online作为模型上下文协议(MCP)服务器,允许AI客户端通过HTTP进行CRUD操作。

工具数

50

提示词数

0

GitHub Stars

8

资源数

0
PHP财务管理多租户ClaudeClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

rajurayhan

提供方

rajurayhan

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Laravel QuickBooks MCP

一个第一方PHP/Lavel Composer包,它公开了 QuickBooks在线(QBO) 作为 模型上下文协议(MCP)服务器.AI客户端——Claude、Cursor、n8n和其他客户端——通过HTTP连接,并使用自然语言对QBO实体执行完整的CRUD操作。

这是生态系统中第一个PHP/Lavel QuickBooks MCP实现。

______________________________________________________________________

特性

  • 50个MCP工具 涵盖11个QBO实体(客户、供应商、发票、账单、估算、采购、员工、项目、账户、日记账分录和账单付款)
  • 远程HTTP传输 --不是本地stdio,因此它适用于任何托管的AI客户端
  • 多用户 --每个Laravel安装都有多个QBO公司
  • 名称到ID解析 --代理传递人类可读的名称;ID查找会自动进行
  • 完整的OAuth 2.0流程 --任何SaaS用户都可以连接自己的QBO公司
  • 生产就绪 从第一天开始(也支持沙盒)
  • Laravel原生身份验证 --与Passport或Sanctum合作,不作任何假设

______________________________________________________________________

需求

要求版本
PHP>=8.2
Laravel>=11.x
laravel/mcp^1.0
spinen/laravel-quickbooks-client^4.0

您的主机应用程序还必须具有:

  • A. users 桌子与a id 列(标准Laravel)
  • HasQuickBooksToken 特征来自 spinen/laravel-quickbooks-clientUser 模型
  • 至少一个已配置的身份验证保护,用于解析 auth()->user() 来自不记名代币(护照或圣所)

______________________________________________________________________

安装

1.通过Composer安装

composer require rajurayhan/laravel-quickbooks-mcp-server

2.发布包资产

# Publish config
php artisan vendor:publish --tag=quickbooks-mcp-config

# Publish migrations
php artisan vendor:publish --tag=quickbooks-mcp-migrations

# Publish routes stub
php artisan vendor:publish --tag=quickbooks-mcp-routes

# Or publish everything at once
php artisan vendor:publish --provider="Raju\QuickBooksMcp\QuickBooksMcpServiceProvider"

3.运行迁移

php artisan migrate

这将创建一个表: quickbooks_connections.

4.配置您的 .env

# Intuit app credentials (from developer.intuit.com)
QUICKBOOKS_CLIENT_ID=your_intuit_app_client_id
QUICKBOOKS_CLIENT_SECRET=your_intuit_app_client_secret
QUICKBOOKS_REDIRECT_URI=https://yourdomain.com/quickbooks/callback
QUICKBOOKS_SCOPE=com.intuit.quickbooks.accounting
QUICKBOOKS_DATA_SOURCE=production   # or: development (sandbox)

# MCP server settings
QBO_MCP_PATH=mcp/quickbooks
QBO_TOKEN_REFRESH_BUFFER=5

5.登记已公布的路线

打开 routes/quickbooks-mcp.php (发布到您的应用程序 routes/ 文件夹)并将其注册到您的应用程序中。选择以下选项之一:

选项A-in app/Providers/AppServiceProvider.php:

public function boot(): void
{
    Route::middleware('web')
        ->group(base_path('routes/quickbooks-mcp.php'));
}

选项B——位于底部 routes/web.phproutes/api.php:

require base_path('routes/quickbooks-mcp.php');

6.设置您的身份验证保护

内部 routes/quickbooks-mcp.php,更改 auth:api 要匹配应用程序的Bearer令牌保护:

// Change 'api' to 'sanctum' if your app uses Laravel Sanctum
Route::middleware([
    'api',
    'auth:api',   // ← change this line if needed
    ResolveQuickBooksRealm::class,
    RefreshQuickBooksToken::class,
])->group(function () {
    Mcp::server(QuickBooksServer::class)->at(config('quickbooks-mcp.path'));
});

7.注册您的Intuit OAuth回调URI

在你的 Intuit Developer应用程序设置,添加此重定向URI:

https://yourdomain.com/quickbooks/callback

它必须与 /quickbooks/callback 路线准确。

8.添加 HasQuickBooksToken 到您的用户模型

use Spinen\QuickBooks\HasQuickBooksToken;

class User extends Authenticatable
{
    use HasQuickBooksToken;
    // ...
}

______________________________________________________________________

OAuth流

安装后,SaaS用户通过您的应用程序连接他们的QBO公司:

1. User visits GET /quickbooks/connect
   → Redirected to Intuit consent screen
   → Grants access to their QBO company
   → Redirected back to GET /quickbooks/callback

2. Callback handler:
   → Exchanges auth code for tokens (stored by spinen in quickbooks_tokens)
   → Package records connection in quickbooks_connections (realm_id + company_name)

3. User authenticates your app with their existing Bearer token (Passport or Sanctum)

4. AI client is configured with:
   MCP URL:  https://yourdomain.com/mcp/quickbooks
   Header:   Authorization: Bearer 

5. Every MCP tool call thereafter:
   → Guard authenticates the Bearer token
   → ResolveQuickBooksRealm finds the user's active QBO connection
   → RefreshQuickBooksToken silently refreshes QBO tokens near expiry
   → Tool runs — zero extra params needed from the AI agent

连接管理路由

方法路线描述
GET/quickbooks/connect重定向到Intuit OAuth同意屏幕
GET/quickbooks/callback处理OAuth回调并存储令牌
DELETE/quickbooks/disconnect撤销QBO令牌并删除连接
GET/quickbooks/connections列出用户的活动QBO连接

______________________________________________________________________

配置

config/quickbooks-mcp.php:

密钥默认值描述
pathmcp/quickbooks暴露MCP服务器的URL路径
multi_tenanttrue从经过身份验证的用户解析领域
search_limit20搜索工具的默认结果限制
search_limit_max100搜索工具的最大结果限制
environmentproductionQBO环境(productiondevelopment)
redirect_uriAPP_URL/quickbooks/callbackOAuth重定向URI
token_refresh_buffer_minutes5到期前几分钟主动刷新

______________________________________________________________________

可用工具

账户(3个工具)

工具说明
create_account在会计科目表中创建新帐户
search_accounts按名称或类型搜索帐户
update_account更新现有帐户

账单(5个工具)

工具说明
create_bill创建新的应付账款账单
get_bill通过ID获取账单
search_bills按供应商、日期范围或未付款状态搜索账单
update_bill更新现有账单
delete_bill永久删除账单

账单支付(5种工具)

工具说明
create_bill_payment支付一张或多张未结账单
get_bill_payment通过ID获得账单付款
search_bill_payments按供应商或日期范围搜索账单付款
update_bill_payment更新现有账单付款
delete_bill_payment永久删除账单付款

客户(5个工具)

工具说明
create_customer创建新客户
get_customer通过ID获取客户
search_customers按姓名、电子邮件或公司搜索客户
update_customer更新现有客户
delete_customer停用客户(QBO软删除)

员工(4个工具)

工具说明
create_employee创建新员工记录
get_employee按ID获取员工
search_employees按姓名或电子邮件搜索员工
update_employee更新现有员工

估算(5个工具)

工具说明
create_estimate创建新的估算/报价
get_estimate按ID获取估计值
search_estimates按客户、状态或日期范围搜索估计值
update_estimate更新或更改估算的状态
delete_estimate永久删除估算

发票(4个工具)

工具说明
create_invoice创建新发票
read_invoice阅读包含所有行项目的完整发票
search_invoices按客户、日期范围或付款状态搜索发票
update_invoice更新现有发票
QBO中不能永久删除发票。

项目(4个工具)

工具说明
create_item创建新产品或服务项
read_item阅读包含定价和帐户分配的完整项目记录
search_items按名称或类型搜索项目
update_item更新现有项目(集 active: false 停用)
无法在QBO中永久删除项目。

日记账录入(5个工具)

工具说明
create_journal_entry创建日记账分录(借方必须等于贷方)
get_journal_entry按ID获取日记条目
search_journal_entries按日期范围或文档编号搜索日记账条目
update_journal_entry更新现有日记账分录
delete_journal_entry永久删除日记条目

购买(5个工具)

工具说明
create_purchase创建采购/支出交易记录
get_purchase按ID购买
search_purchases按付款类型或日期范围搜索购买
update_purchase更新现有购买
delete_purchase永久删除购买

供应商(5个工具)

工具说明
create_vendor创建新供应商
get_vendor按ID获取供应商
search_vendors按名称、电子邮件或公司搜索供应商
update_vendor更新现有供应商
delete_vendor停用供应商(QBO软删除)

______________________________________________________________________

名称解析

引用相关实体(供应商、客户、账户、项目)的工具接受 名字 或一个 数字ID.程序包在调用QBO API之前自动将名称解析为ID。

# These are equivalent when calling create_bill:
vendor: "Office Depot"
vendor: "42"

如果找不到名称,该工具将返回一个描述性错误,并建议先使用相应的搜索工具。

______________________________________________________________________

删除行为

QBO有两类删除:

行为实体
软删除 --套装 Active = false客户、供应商、员工、项目、账户
硬删除 --永久删除账单、账单付款、估算、日记账录入、采购
无法删除发票,项目(使用 update_item 随着 active: false)

______________________________________________________________________

多租户架构

每个经过身份验证的用户在 quickbooks_connections 桌子。这 ResolveQuickBooksRealm 中间件会自动将每个工具调用范围限定到正确的QBO公司——否 realm_id AI代理始终需要参数。

______________________________________________________________________

包装架构

src/
├── QuickBooksMcpServiceProvider.php   — registers service, publishes assets
├── Server/QuickBooksServer.php        — MCP server, registers all 50 tools
├── Services/QuickBooksService.php     — QBO API wrapper, name resolvers
├── Concerns/ResolvesEntityNames.php   — trait for name-to-ID resolution
├── Http/
│   ├── Controllers/QuickBooksOAuthController.php
│   └── Middleware/
│       ├── ResolveQuickBooksRealm.php — scopes QBO service to user's company
│       └── RefreshQuickBooksToken.php — proactive token refresh
├── Models/QuickBooksConnection.php    — tracks user ↔ QBO company links
├── Exceptions/
│   ├── QuickBooksAuthException.php
│   └── QuickBooksToolException.php
└── Tools/                             — 50 tool classes across 11 entities
    ├── Account/, Bill/, BillPayment/, Customer/, Employee/
    ├── Estimate/, Invoice/, Item/, JournalEntry/
    ├── Purchase/, Vendor/

______________________________________________________________________

许可证

麻省理工学院——见 许可证 了解详情。

______________________________________________________________________

作者

拉朱·拉汉

目录标签

目录标签

PHP财务管理多租户Claude本地部署AI集成OAuth认证Laravel

支持客户端

ClaudeCursor

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

oauth

工具数量(toolCount,工具数)

50

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明oauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP