AI Agents Intermediate

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.

45–90 minutes Octacer Team September 27, 2026
Business MCP Starter Pack

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

  1. Claude (browser and/or Desktop) or another MCP client that supports remote HTTP MCP + OAuth where required.
  2. HubSpot account with permission to open Development → MCP Connectors (per HubSpot’s current UI).
  3. Optional systems:
  • Slack workspace
  • Google Workspace (Sheets)
  • A Postgres database you are allowed to query (prefer a read-only role)
  1. A throwaway CRM record: contact/deal named MCP TEST.
  2. 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.

  1. In HubSpot: Development → MCP Connectors → Create MCP connector.
  2. Set name + Redirect URL that matches your MCP client (Claude’s redirect, or Inspector’s http://localhost:6274/oauth/callback/debug for tests).
  3. Copy Client ID / Client secret.
  4. Point the MCP client at https://mcp.hubspot.com using OAuth with PKCE (required).
  5. During consent, grant only what you need; scopes follow user permissions + available tools.
  6. After connect, run HubSpot’s get_user_details tool — 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)

  1. Create a spreadsheet MCP Ops Sandbox with headers: timestamp, source, note.
  2. Connect Sheets via Zapier action or a Sheets MCP server with OAuth to a least-privilege Google user.
  3. Allow append row only; do not enable delete/clear for week one.
  4. Test: “Append a row noting HubSpot lookup succeeded.”

Step 5 — Postgres (read-only)

  1. Create DB role mcp_reader with SELECT on specific reporting views only — no INSERT/UPDATE/DELETE.
  2. Run a Postgres MCP server (common pattern: official/community @modelcontextprotocol Postgres server, or your vendor’s) with the read-only connection string in env — not in the chat.
  3. Ask: “How many open deals are in the deals_mirror view?”
  4. 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_details succeeds
  • [ ] 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