Repository navigation
feat(quickbooks-online): declare Intuit's HTTP MCP server (reland of #650) - #4
Draft
djiang-jq wants to merge 1 commit into
Conversation
Relands cursor#650, which was reverted by cursor#651, which itself relanded cursor#642, reverted by cursor#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 unchanged, including the mcp-e2e host that Bugbot flagged as non-production on cursor#650. That host is carried over deliberately rather than silently corrected, since it is the value the paired everysphere override expects. Co-authored-by: Danny Jiang <djiang-jq@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Applies the change to current upstream
main(2f83774). Third attempt: #642 merged then reverted by #643; #650 merged then reverted by #651 four minutes later.Why the last two got reverted
Unlike the first round, there is now a concrete finding. Bugbot left a High Severity inline review comment on cursor#650 at
mcp.json:5:That is corroborated by Intuit's own documentation. The
IntuitDeveloper/intuit-3p-ai-pilotrepo lists the hosted endpoint as:https://mcp.quickbooks.intuit.com/mcppartner_app_[AppName]The
validateCI check passed on cursor#650, so neither revert was CI-driven. The e2e host is the only substantive objection raised on either attempt.This PR carries the
-e2ehost over unchanged, because the request was to apply the same change and because that is the value the paired everysphere override (#1132191) expects — a URL change needs to be agreed on both sides, not made silently here. If you want production instead, say so and I will push a one-line change tomcp.jsonplus the two doc mentions; otherwise expect a third revert for the same reason.Also worth noting from Intuit's docs: the hosted endpoint expects a
User-Agentofpartner_app_[AppName]and is gated to allowlisted partner apps. A plain{"type": "http", "url": ...}declaration sends no such header, which may matter regardless of which host is used.What
third_party/quickbooks-online/mcp.jsonthird_party/quickbooks-online/.cursor-plugin/plugin.json"mcpServers": "./mcp.json", version1.0.0→1.1.0third_party/quickbooks-online/README.mdthird_party/quickbooks-online/CHANGELOG.md1.1.0entry{ "mcpServers": { "quickbooks-online": { "type": "http", "url": "https://mcp-e2e.quickbooks.intuit.com/mcp" } } }The tree is byte-identical to what shipped as 1.1.0 in both cursor#642 and cursor#650 (verified against
4d5a919). Built by reverting the revert commit1348397, not by rebasing — the earlier commits are already in upstream history via the merges, so a rebase would drop them and yield an empty PR.Version stays
1.1.0: it has only ever meant this exact tree, and clients on the reverted1.0.0will see it as an upgrade.This PR's base
The real target is
cursor/pluginsmain; this agent has no write access there (Permission to cursor/plugins.git denied to cursor[bot]), so the PR lives on thedjiang-jq/pluginsfork with its base pinned atcursor/plugins@2f83774so the diff shows only the 4 changed files.To open it upstream, the same path cursor#642 and cursor#650 took:
https://github.com/cursor/plugins/compare/main...djiang-jq:plugins:cursor/quickbooks-online-native-mcp-reland-2-fbc4?expand=1
Validation
node scripts/validate-plugins.mjspasses against current upstreammainwith this change applied.