MCP server

MCP server

ReachHQ ships a Model Context Protocol server so AI assistants like Claude and ChatGPT can operate your workspace in natural language. It exposes 94 tools over Streamable HTTP, each gated by the same scopes as the REST API.

Endpoint

URL (prod)https://api.reachhq.io/mcp
URL (QA)https://api.qa.reachhq.io/mcp
TransportStreamable HTTP (HTTP POST)
Serverreachhq v1.0.0

Authentication

Connect in one of two ways; both resolve to the same (workspace, scopes) principal:

  • API key: send Authorization: Bearer rhq_live_… with each request. Best for your own scripts and headless clients.
  • OAuth connector: for end-user apps. On an unauthenticated request the server returns 401 with a WWW-Authenticate header pointing at /.well-known/oauth-protected-resource; the client discovers the authorization server, the user consents to scopes in the browser, and the issued token is sent as a bearer token.
The tool list is the grant. The server only registers the tools whose scope your credential holds, so a read-only key never even sees write or send tools.

Connect Claude / ChatGPT

In a host that supports remote MCP connectors (Claude.ai and Claude Desktop › Settings › Connectors › Add custom connector; ChatGPT custom connectors), add the URL below. The OAuth flow runs in your browser and you approve the scopes:

text
https://api.reachhq.io/mcp

For a programmatic MCP client that authenticates with an API key, point it at the Streamable HTTP endpoint:

json
{
  "mcpServers": {
    "reachhq": {
      "type": "http",
      "url": "https://api.reachhq.io/mcp",
      "headers": { "Authorization": "Bearer rhq_live_xxx" }
    }
  }
}

Calling tools

The endpoint speaks JSON-RPC 2.0. You can call a tool over plain HTTP; include an Accept header that allows text/event-stream for Streamable HTTP:

bash
curl -X POST https://api.reachhq.io/mcp \
  -H "Authorization: Bearer rhq_live_xxx" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{ "jsonrpc": "2.0", "id": 1, "method": "tools/call",
        "params": { "name": "campaigns_list", "arguments": { "pageSize": 10 } } }'

Limits & behaviour

  • Rate limit: 240 requests per 60 seconds per credential.
  • JSON results: every tool returns JSON; large results are truncated at 25,000 characters, so narrow your query for big datasets.
  • Safe sends: send tools require an idempotency key and run suppression checks, so an assistant can never double-send or email a suppressed recipient.
  • Stateless: each request is independently authenticated and scoped.

Tool catalogue

All 94 tools, grouped by domain. Scope is the minimum scope to see the tool; tools that bundle multiple actions re-check a write scope per action. You only see the tools your credential is scoped for.

Campaigns

ToolScopeDescription
campaigns_listcampaigns:readList campaigns in the workspace.
campaigns_getcampaigns:readGet a campaign with its sequence, steps, and metrics.
campaigns_createcampaigns:writeCreate a campaign (returns a default sequence).
campaign_updatecampaigns:writeUpdate a campaign's basics (name, goal, type, client).
campaign_duplicatecampaigns:writeDuplicate a campaign (audience starts empty).
campaign_archivecampaigns:writeArchive a campaign.
campaign_validatecampaigns:readValidate a campaign for launch readiness (dry-run).
campaign_settings_getcampaigns:readGet a campaign's sending settings.
campaign_settings_updatecampaigns:writeUpdate a campaign's sending settings.
campaign_sequence_getcampaigns:readGet a sequence with steps and A/B variants.
campaign_sequence_updatecampaigns:writeUpdate a sequence (set mode, replace, reorder).
campaign_sequence_previewcampaigns:readPreview a rendered email against a lead's fields.
campaign_controlcampaigns:launchLaunch, pause, or resume sending. sends email sensitive
campaign_test_sendcampaigns:launchSend a single [TEST] email to an address. sends email sensitive

Recipients

ToolScopeDescription
recipients_listrecipients:readList a campaign's recipients, or their stats.
recipients_managerecipients:writeAdd, import, refresh, remove, or set an outcome.

Leads

ToolScopeDescription
leads_searchleads:readSearch leads with rich filters.
leads_getleads:readGet a lead with lists, history, and note count.
leads_createleads:writeCreate a lead.
leads_manageleads:writeUpdate, delete, bulk-tag, or add/delete notes.
leads_importleads:writeImport from rows (dry-run + commit) or a Google Sheet.
leads_exportleads:readExport the workspace's leads as CSV.
leads_activityleads:readRead a lead's activity, notes, or the tag catalogue.
leads_suppressleads:suppressSuppress / unsuppress leads. sensitive

Lists & custom fields

ToolScopeDescription
block_listblock_list:readList, add, or remove block-list entries. sensitive
lead_listslead_lists:readList/preview lists; create, edit, delete, manage members.
custom_fieldscustom_fields:readList fields & variables; create, reorder, edit, delete.

Deals

ToolScopeDescription
dealsdeals:readList deals; create or delete a deal.

Mailboxes

ToolScopeDescription
mailboxes_listmailboxes:readList connected mailboxes with health, or get one.
mailboxes_managemailboxes:writeUpdate settings/tags, bulk-update, pause, resume.
mailboxes_tracking_domainmailboxes:writeSet, verify, or detach a tracking domain.
mailboxes_verify_dnsmailboxes:readCheck verification status; resend or skip.
mailboxes_connectmailboxes:connectConnect a sending mailbox (SMTP/IMAP or OAuth). sensitive
mailboxes_disconnectmailboxes:connectDisconnect or permanently delete a mailbox. sensitive
mailboxes_importmailboxes:connectBulk-import mailboxes from CSV (test, job, poll). sensitive

Warmup

ToolScopeDescription
warmup_listwarmup:readRead warmup: enrolments, heatmap, reputation, bounces.
warmup_managewarmup:writeStart/pause/stop, configure, onboard, bulk-action.
warmup_poolswarmup:readRead warmup pools; create/delete or set participation.

Inbox

ToolScopeDescription
inbox_threads_listinbox:readList inbox reply threads with filters.
inbox_thread_getinbox:readGet a thread with its full message history.
inbox_summaryinbox:readInbox counts, category facets, and unread total.
inbox_thread_manageinbox:writeArchive, read, or star a thread (no send).
inbox_message_categorizeinbox:writeSet a manual reply category on a message.
inbox_draftinbox:readGet, save, or delete a thread's reply draft.
inbox_scheduledinbox:readList scheduled replies; cancel a pending one.
inbox_attachment_downloadinbox:readGet inbound attachment metadata for a thread.
inbox_reply_sendinbox:sendSend an immediate reply. Requires an idempotency key. sends email sensitive
inbox_reply_scheduleinbox:sendSchedule a reply for later delivery. sends email sensitive

AI inbox agent

ToolScopeDescription
agent_settingsinbox:readGet / update a campaign's AI inbox-agent settings.
agent_models_listinbox:readList the agent's available LLM models, by provider.
agent_approvalsinbox:readList the agent's reply approval queue, or facets.
agent_approval_actioninbox:writeApprove, reject, or bulk-action agent replies.
agent_calendarinbox:readRead or connect the agent's booking calendar.

Deliverability

ToolScopeDescription
deliverability_overviewdeliverability:readOverview, score, history, correlation, timeline.
deliverability_domainsdeliverability:readSending domains with auth/health; trigger DNS check.
deliverability_mailboxesdeliverability:readMailbox health and Microsoft message-trace; sync.
deliverability_alertsdeliverability:readList alerts; ack/snooze/resolve.
deliverability_recommendationsdeliverability:readList recommendations; dismiss/resolve.
deliverability_placement_testsdeliverability:readInbox-placement tests and limits; create/cancel.
deliverability_postmasterdeliverability:readGoogle Postmaster status; connect/verify.
deliverability_settingsdeliverability:readWorkspace deliverability settings; update.

Verification

ToolScopeDescription
verification_jobsverification:readJobs: list, results, preview-count; create/cancel/retry.
verification_usageverification:readVerification usage and aggregate stats.
verification_schedulesverification:readRecurring schedules; create/update/delete.
verification_settingsverification:readWorkspace verification settings; update.
verification_exportverification:readExport a job's results as CSV or XLSX.

Webhooks

ToolScopeDescription
webhooks_managewebhooks:readList subscriptions; create, test, delete.
webhooks_dlqwebhooks:readList dead-lettered deliveries; requeue.

CRM

ToolScopeDescription
crm_connectionscrm:readList connected CRMs (HubSpot, Salesforce, Pipedrive).
crm_connectcrm:writeConnect (OAuth) or disconnect a CRM. sensitive
crm_segmentscrm:readList segments available on a connected CRM.
crm_importcrm:writeImport a CRM segment as campaign recipients.

Analytics

ToolScopeDescription
analytics_reportanalytics:readAnalytics: timeseries, report, breakdown, attribution.
analytics_report_linksanalytics:readList, create, or revoke shareable report links.

Account & workspace

ToolScopeDescription
account_getaccount:readGet the calling identity, plan, and workspaces.
workspaces_listaccount:readList all workspaces the identity can access.
workspace_getworkspace:readRead settings, credits, branding, domains.
workspace_createworkspace:writeCreate a new workspace.
workspace_manageworkspace:writeUpdate workspace settings and/or branding. sensitive
workspace_tracking_domainworkspace:readManage the workspace tracking domain.
workspace_portal_domainworkspace:readManage the white-label portal domain.

Members & invites

ToolScopeDescription
membersmembers:readList members; invite, change role, remove. sensitive
invitesmembers:readList, create, resend, or revoke invites. sensitive

Billing

ToolScopeDescription
billing_statusbilling:readSubscription, plan, trial, seats, usage, invoices. sensitive
billing_checkoutbilling:writeStripe billing actions (plan, seats, top-ups, portal). sensitive

Agency

ToolScopeDescription
agency_workspacesagency:readList client workspaces you own or administer.

Lead search

ToolScopeDescription
lead_search_browselead_search:browseSearch external B2B people. No credits.
lead_search_reveallead_search:revealReveal a result's email/phone and save it. sensitive
lead_search_reveal_bulklead_search:revealAsync bulk reveal up to 200 results. sensitive
lead_search_reveal_statuslead_search:revealPoll an async bulk reveal's progress.
lead_search_companieslead_search:browseSearch external B2B companies. No credits.
lead_search_listslead_search:listsList saved prospect lists.
lead_search_create_listlead_search:listsCreate a prospect list.
lead_search_add_to_listlead_search:listsAdd search results to a prospect list.