From 4d5a9195a0bd1bfd1fe396248676e5f8bfe0194d Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Fri, 16 Oct 2026 16:55:32 +0000 Subject: [PATCH] feat(quickbooks-online): declare Intuit's HTTP MCP server Relands #642, which was reverted by #643. The listing is gating-only again after the revert: it carries no server definition, so an install produces no mcp_server row and native MCP has nothing to point at. Declare the hosted HTTP endpoint the way Square does, so the marketplace index exposes a type === "HTTP" server for the connector. Restores the 1.1.0 tree exactly as it was published, so the version keeps meaning the same content. Co-authored-by: Danny Jiang --- .../.cursor-plugin/plugin.json | 5 +++-- third_party/quickbooks-online/CHANGELOG.md | 5 +++++ third_party/quickbooks-online/README.md | 18 +++++++++++++----- third_party/quickbooks-online/mcp.json | 8 ++++++++ 4 files changed, 29 insertions(+), 7 deletions(-) create mode 100644 third_party/quickbooks-online/mcp.json diff --git a/third_party/quickbooks-online/.cursor-plugin/plugin.json b/third_party/quickbooks-online/.cursor-plugin/plugin.json index 918a22232..7b15ea1f7 100644 --- a/third_party/quickbooks-online/.cursor-plugin/plugin.json +++ b/third_party/quickbooks-online/.cursor-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "quickbooks-online", "displayName": "QuickBooks Online", - "version": "1.0.0", + "version": "1.1.0", "minClientVersions": { "cursor": "3.19.0" }, @@ -32,5 +32,6 @@ "accounting", "finance", "mcp" - ] + ], + "mcpServers": "./mcp.json" } diff --git a/third_party/quickbooks-online/CHANGELOG.md b/third_party/quickbooks-online/CHANGELOG.md index d51ce4231..684dd2b12 100644 --- a/third_party/quickbooks-online/CHANGELOG.md +++ b/third_party/quickbooks-online/CHANGELOG.md @@ -2,6 +2,11 @@ All notable changes to this plugin will be documented here. +## 1.1.0 + +- Added `mcp.json`: the plugin now declares Intuit's hosted HTTP MCP server at `https://mcp-e2e.quickbooks.intuit.com/mcp` instead of relying on a Cursor-side server definition. +- Auth is unchanged in shape — Cursor-managed OAuth against Intuit, authorized per company file — but it is now the native OAuth client, so existing installs have to reauthorize. + ## 1.0.0 — initial release - Added the `quickbooks-online` plugin, the opt-in for the QuickBooks Online MCP server that Cursor hosts and credentials. diff --git a/third_party/quickbooks-online/README.md b/third_party/quickbooks-online/README.md index b820becc2..7e149a177 100644 --- a/third_party/quickbooks-online/README.md +++ b/third_party/quickbooks-online/README.md @@ -1,6 +1,6 @@ # QuickBooks Online -Cursor plugin that connects agents to [QuickBooks Online](https://quickbooks.intuit.com) — Intuit's cloud accounting product — through a [Model Context Protocol](https://modelcontextprotocol.io/) server that Cursor hosts and credentials. +Cursor plugin that connects agents to [QuickBooks Online](https://quickbooks.intuit.com) — Intuit's cloud accounting product — through Intuit's remote [Model Context Protocol](https://modelcontextprotocol.io/) server, which Cursor credentials for you. Read a company file's accounting data: invoices, bills, expenses, payments, customers and vendors, the chart of accounts, journal entries, and the standard financial reports. @@ -14,11 +14,18 @@ Or run `/add-plugin quickbooks-online` in chat. ## MCP -This plugin ships no `mcp.json`, and that is deliberate. +```json +{ + "mcpServers": { + "quickbooks-online": { + "type": "http", + "url": "https://mcp-e2e.quickbooks.intuit.com/mcp" + } + } +} +``` -Every other connector in this repository either points at a vendor's hosted endpoint or runs a package locally over stdio, so it carries its own server definition. QuickBooks Online does not: Cursor runs the server, and the plugin exists only as the opt-in that turns it on for your account. Installing the plugin is what makes the server available; there is no command to run, no endpoint to reach, and no API key or client secret to paste. - -One consequence worth knowing: because the server is not declared here, you will not find it in a local `mcp.json` and you cannot point another MCP client at it. It is reachable from Cursor only. +Intuit hosts the server. Auth is OAuth against Intuit, which Cursor runs when the plugin connects — there is no command to run, and no API key or client secret to paste. ## Before you connect @@ -51,6 +58,7 @@ The server is the source of truth for tool names and schemas. - QuickBooks Online: https://quickbooks.intuit.com - Intuit Developer: https://developer.intuit.com - Model Context Protocol: https://modelcontextprotocol.io +- Server URL: https://mcp-e2e.quickbooks.intuit.com/mcp Logo is QuickBooks' official mark, from `quickbooks.intuit.com`. diff --git a/third_party/quickbooks-online/mcp.json b/third_party/quickbooks-online/mcp.json new file mode 100644 index 000000000..5fa7fdd8a --- /dev/null +++ b/third_party/quickbooks-online/mcp.json @@ -0,0 +1,8 @@ +{ + "mcpServers": { + "quickbooks-online": { + "type": "http", + "url": "https://mcp-e2e.quickbooks.intuit.com/mcp" + } + } +}