Business MCP Starter Pack
Wire HubSpot remote MCP, Slack, Sheets, and read-only Postgres into Claude with a read-first allow-list and APPROVE-gated writes.
What you will have live
By the end of this playbook you will have a business MCP starter pack wired into Claude (or another MCP client):
- HubSpot via HubSpot’s remote MCP server (
https://mcp.hubspot.com) with an MCP connector + OAuth PKCE - Slack / Sheets / Postgres connected through the safest available path for your stack (native MCP server, Zapier MCP actions, or read-only DB URL)
- A read-first tool allow-list and an APPROVE rule before writes
- One working outcome: natural-language CRM lookup + optional note — verified in the CRM UI
This is the protocol layer (Model Context Protocol). It complements Zapier MCP (fast SaaS) and self-hosted n8n/OpenClaw (owned runtime).
Prerequisites
- Claude (browser and/or Desktop) or another MCP client that supports remote HTTP MCP + OAuth where required.
- HubSpot account with permission to open Development → MCP Connectors (per HubSpot’s current UI).
- Optional systems:
- Slack workspace
- Google Workspace (Sheets)
- A Postgres database you are allowed to query (prefer a read-only role)
- A throwaway CRM record: contact/deal named
MCP TEST. - Team/Enterprise Claude: Owner may need to allow connectors (same pattern as Zapier).
Step 1 — Decide the trust model
| System | Starter recommendation |
|---|---|
| HubSpot | Official remote MCP — best CRM fidelity |
| Slack | Zapier MCP Slack actions or a maintained Slack MCP server you trust; keep channels allowlisted |
| Google Sheets | Official/community Sheets MCP or Zapier Sheets actions; start append-only on a sandbox sheet |
| Postgres | Local/stdio MCP Postgres server with a read-only DB role; never use the app’s migrations user |
One trust boundary per client profile: do not load customer-tenant DB credentials into a shared team Claude project.
Step 2 — HubSpot remote MCP (official)
Follow HubSpot’s current guide: Integrate AI tools with the HubSpot MCP server.
- In HubSpot: Development → MCP Connectors → Create MCP connector.
- Set name + Redirect URL that matches your MCP client (Claude’s redirect, or Inspector’s
http://localhost:6274/oauth/callback/debugfor tests). - Copy Client ID / Client secret.
- Point the MCP client at
https://mcp.hubspot.comusing OAuth with PKCE (required). - During consent, grant only what you need; scopes follow user permissions + available tools.
- After connect, run HubSpot’s
get_user_detailstool — confirm account + which objects are readable/writable.
Sensitive Data note (HubSpot): if Sensitive Data is enabled, activity and conversation data may be blocked from MCP even though CRM APIs still work — plan for that.
Write behavior: HubSpot documents that create/update tools present a proposed-changes summary and require explicit user confirmation before executing. Still add your own APPROVE policy in project instructions.
Step 3 — Add Slack (ops channel)
Pick one path and stick to it for v1:
Zapier MCP Path
Connect Zapier MCP inside Claude (see Zapier MCP CRM playbook).
Enable only: Find message / Send channel message to #ops-mcp-test.
Ban “send DM to any user” until you need it.
Dedicated Slack Server
Use a maintained Slack MCP package your security team reviewed.
Bot token with least scopes; invite only to the test channel.
Configure via your client’s MCP server list (stdio or HTTP per that server’s docs).
Smoke Test
Smoke test: “Post ‘MCP starter pack live’ to #ops-mcp-test” → approve → verify in Slack.
Path B — Dedicated Slack MCP server
Step 4 — Google Sheets (sandbox tab)
- Create a spreadsheet
MCP Ops Sandboxwith headers:timestamp,source,note. - Connect Sheets via Zapier action or a Sheets MCP server with OAuth to a least-privilege Google user.
- Allow append row only; do not enable delete/clear for week one.
- Test: “Append a row noting HubSpot lookup succeeded.”
Step 5 — Postgres (read-only)
- Create DB role
mcp_readerwithSELECTon specific reporting views only — noINSERT/UPDATE/DELETE. - Run a Postgres MCP server (common pattern: official/community
@modelcontextprotocolPostgres server, or your vendor’s) with the read-only connection string in env — not in the chat. - Ask: “How many open deals are in the deals_mirror view?”
- If the model asks to write SQL that mutates data, refuse; your role should already block it.
Step 6 — First combined business outcome
Prompt:
Using HubSpot MCP, find MCP TEST deal/contact.
Summarize stage and owner.
If found, propose a HubSpot note "Verified via MCP starter pack <date>" and wait for me to type APPROVE.
Also append a one-line audit row to the MCP Ops Sandbox sheet after the note succeeds.
Do not touch any other records.
Pass criteria:
- Correct record ids
- Note only after APPROVE / HubSpot confirmation UI
- Sheet row matches
- No other CRM mutations in the activity log
Step 7 — Harden the pack
- Project instructions: “CRM/Sheets/Slack writes require the user to reply APPROVE. Prefer search tools first.”
- Disable delete/merge/publish tools you do not need (HubSpot content publish is powerful — leave off until content ops owns it).
- Rotate connector secrets if a laptop is lost; revoke HubSpot connector install.
- Audit monthly: which tools are enabled; who has Claude connector access.
- Separate profiles: sales vs finance vs eng — different MCP packs.
- Task/cost budgets: Zapier MCP consumes tasks; HubSpot MCP respects HubSpot permissions but still needs human judgment.
Go-live checklist
- [ ] HubSpot
get_user_detailssucceeds - [ ] Read-only CRM search works on real ids
- [ ] Write confirmation / APPROVE drill passed
- [ ] Slack test channel only
- [ ] Sheets sandbox append works; no delete tools
- [ ] Postgres role is read-only; mutation SQL fails
- [ ] Project instructions include APPROVE policy
- [ ] Owner listed for connector revocation
Pitfalls
- Custom MCP client without PKCE — HubSpot auth fails; use a client that supports OAuth 2.1 PKCE.
- Loading every HubSpot write tool — content publish + CRM edits in one pack is a blast radius.
- Shared superuser DATABASE_URL — one prompt injection away from drop table.
- Assuming Zapier MCP and HubSpot MCP share allow-lists — configure each.
- No test record — first write hits a real customer deal.
FAQ
Is Zapier MCP enough alone?
For many teams, yes at first. Add HubSpot’s remote MCP when you need deeper CRM/search SQL-style tools and HubSpot-native confirmations.
Where do OpenClaw and n8n fit?
OpenClaw = always-on chat gateway. n8n = durable workflows + HITL tool gates. MCP starter pack = laptop/assistant-time tools. Use all three deliberately.
Next step
Self-host the chat brain with OpenClaw for Business, or workflow hands with n8n AI Ops Agent. SaaS-only path: Zapier MCP + Claude CRM.
Governed design: Solutions · Architecture · Contact.
Ready to Implement This Playbook?
Our team can implement these strategies for you, tailored to your specific business needs.
Schedule Consultation