HubSpot Remote MCP Server vs daeda-mcp: Capabilities, Architecture, and When Each One Fits
Two options that both let you “ask your HubSpot a question from an AI client”. Same high-level job description, but the architectures, scopes, and trade-offs are completely different. Here’s the honest side-by-side.
HubSpot’s Remote MCP Server - hosted, OAuth, read and write
HubSpot ships a first-party Remote MCP Server at https://mcp.hubspot.com. It went generally available on 2026-04-13 after about seven months in public beta. Any MCP-compatible AI client with OAuth 2.1 + PKCE support can connect: Claude Desktop, Cursor, VS Code with an MCP extension, MCP Inspector, the HubSpot Connector for ChatGPT, and others on modelcontextprotocol.io/clients.
What it covers.
- Read and write on 12 standard CRM object types: contacts, companies, deals, tickets, carts, products, orders, line items, invoices, quotes, subscriptions, segments (lists).
- Read and write on all 5 engagement types: calls, emails, meetings, notes, tasks.
- Read-only on organizational context (users, teams, reporting structures, owners, roles, seats) and marketing content (campaigns and metrics, landing pages, website pages, blog posts).
What it doesn’t cover today.
- Custom object schemas. Not exposed via the Remote MCP Server. Only the standard object set above.
- Vector/semantic search. Built on HubSpot’s CRM Search API, so filter-based only.
Auth and limits. OAuth 2.1 with PKCE is required. You create an MCP Auth App at Development > MCP Auth Apps in your HubSpot account to get OAuth credentials. Tool limits worth knowing: get_crm_objects fetches up to 100 IDs per request, search_crm_objects returns up to 200 results per page with max 5 filter groups × 6 filters each. Full reference in HubSpot’s integration guide.
Sensitive-data caveat. If the HubSpot account has Sensitive Data turned on, engagement objects (calls/emails/meetings/notes/tasks) are blocked from MCP access. This is MCP-specific and doesn’t apply to the standard CRM APIs.
Where it’s the right fit.
- You want an AI client to answer CRM questions against live data every time.
- You want write actions (create a contact, update a deal stage, log a task) directly from the chat window.
- You’re covered by the standard object surface and don’t need custom objects today.
daeda-mcp - local encrypted mirror, private-app token, read-only
daeda-mcp is an open-source npm package that takes a completely different architectural approach. It syncs a narrow slice of your portal to an encrypted SQLite database on your own machine, and any MCP-compatible AI on that machine can then query the local mirror directly through a single read-only SQL tool.
What it covers.
- Three objects only: contacts, companies, and deals. The scopes it requests are exactly
crm.export,crm.objects.contacts.read,crm.objects.companies.read, andcrm.objects.deals.read. Nothing else. - Strict read-only SQL via the
get_raw_sqltool - SELECT/WITH only, INSERT/UPDATE/DELETE/DROP blocked, max 1,000 rows per result, 30-second query timeout.
How the sync works. On first launch, daeda-mcp asks HubSpot’s Export API for full bulk exports while simultaneously pulling the ~1,000 most recent deals via the Search API for an immediate quick seed. The full sync then runs in the background - 5 - 10 minutes for a small (10k-record) portal, up to 5 hours for a 1M+ record portal. Progress is visible through the db_status tool.
Where the data lives.
- macOS/Linux:
~/.daeda-mcp/data/ - Windows:
%APPDATA%\daeda-mcp\data\
The database is encrypted at rest using your HubSpot token as the key. Nothing leaves your machine. No Daeda servers are involved at any point.
Auth. A HubSpot private-app token (pat-na1-...) passed to the MCP client via the HUBSPOT_ACCESS_TOKEN environment variable. You generate the token in HubSpot under Settings > Integrations > Private Apps with the four scopes above. This is a different auth model from the Remote MCP Server (which uses OAuth 2.1 + PKCE).
Where it’s the right fit.
- You want sub-second queries against contacts, companies, and deals without a network round-trip every time.
- You’re running portfolio-wide analysis (e.g. “which closed-won deals in the last 90 days have no associated renewal task?”) that would otherwise chew through Remote MCP round-trips and HubSpot API rate limits.
- You want data that physically stays on your machine.
- You’re OK with a read-only tool - you’re not trying to have the AI write anything back.
Head-to-head
| Capability | HubSpot Remote MCP Server | daeda-mcp |
|---|---|---|
| Price | Free (all hubs/tiers) | Free (open-source npm package) |
| Architecture | Hosted, live round-trip to mcp.hubspot.com | Local encrypted SQLite mirror on your machine |
| Auth | OAuth 2.1 + PKCE | HubSpot private-app token |
| Data residency | HubSpot-hosted (live) | Local only; nothing leaves your machine |
| Reads | 12 CRM objects + 5 engagement types + org context + marketing content | contacts, companies, deals only |
| Writes | Yes (via manage_crm_objects) | No - strictly read-only SQL |
| Custom object schemas | Not exposed today | Not supported |
| Search limits | 200 results/page; max 100 IDs per get_crm_objects | 1,000 rows per SQL result; 30s timeout |
| Typical setup time | ~5 min (MCP Auth App + OAuth flow) | ~10 min (private app + quick seed), full sync up to 5 hours for large portals |
| Works with Claude Desktop, Cursor, ChatGPT, VS Code | Yes (any OAuth-PKCE client) | Yes (any MCP client via npx -y daeda-mcp) |
Neither is a superset of the other. Each one solves a different problem. Many RevOps teams end up running both side by side in their AI client config.
When neither is enough
There are a handful of common jobs that neither the Remote MCP nor daeda-mcp covers:
- Custom object schemas - e.g. you need to query a custom object called
contractsorrenewalsfrom your AI. - Multi-portal orchestration - e.g. an agency running 10+ client portals who wants one workspace and the ability to switch between them without reconnecting.
- Human-approved Write Plans - the AI drafts a multi-step change, a human reviews and approves the whole plan in one step, then it executes.
- AI actions inside HubSpot workflows - dropping an AI classifier or extractor into a native HubSpot workflow step.
These are outside the scope of both free options - they’re a third product with a third architecture. Daeda AI’s Automation Suite connects your AI assistant to Daeda’s managed database service, authenticates via HubSpot OAuth with deep optional scopes, supports existing custom objects, switches between connected portals from inside your AI assistant, and builds writes as human-approved Write Plans you review and confirm in one step inside Daeda AI in HubSpot. Starts at $125/month with a 7-day free trial.
This post is deliberately scoped to the two free options. Daeda AI is a different architectural category - compare it on its own terms, not as a free-tier alternative.
TL;DR recommendations
- Want to start from HubSpot’s first-party option? Use the Remote MCP Server. Create an MCP Auth App, connect Claude Desktop or Cursor, and you have read+write on the full standard CRM inside ten minutes. See HubSpot’s setup guide.
- Want sub-second local queries on contacts, companies, and deals? Use daeda-mcp. Three objects, read-only, on your own machine.
- Want custom objects, multi-portal, or human-approved Write Plans? That’s a different class of tool - see Daeda AI.
Full decision tree on the HubSpot MCP pillar page.