Agent Access (MCP)
Connect your own AI agents to the platform over the Model Context Protocol. A connected agent can analyse campaign results, build segments, operate journeys and multi-message campaigns, run auto-winner experiments, rehearse sends in simulated mode, read cohort retention, check deliverability and import jobs, work the agency client portfolio (including minting white-label report links), and schedule notifications — with writes held for your approval before they take effect (the default policy).
MCP agent access and the approval queue are available on every paid plan: unlimited agent applications, every scope, and custom approval policies. They are not available on Free.
Connect an agent
- In the dashboard, open Agent → Applications → New agent application (requires the owner or admin role — see Team & Roles).
- Pick the scopes the agent needs and create the application. The MCP key is shown once — store it in your agent's configuration; rotate it if lost.
- Point any MCP-compatible runner at the server:
{
"mcpServers": {
"push-notification-system": {
"type": "http",
"url": "https://api.hober.io/v1/mcp",
"headers": { "Authorization": "Bearer hober_mcp_..." }
}
}
}
The server speaks Streamable HTTP and is stateless: every request is authenticated with the key, and the agent only ever sees the tools its scopes allow.
Human-in-the-loop approval
Each application has an approval mode:
| Mode | Behaviour |
|---|---|
writes_only (default) | Reads run immediately; writes wait for your approval |
strict | Every tool call waits for approval |
custom | Per-tool overrides on top of the writes_only default |
off | Everything runs immediately |
When a gated call arrives, the agent receives {"status": "pending_approval", "approval_id": ...} and the request appears in Agent → Approval queue (also emitted as an agent.approval_requested webhook). Approve to execute exactly what the agent submitted, or reject with a reason the agent reads on its next poll of get_approval. Pending approvals expire after the application's TTL (default 24 h) and count as rejections.
Approvals are executed with idempotency keys, so approving can never double-send a campaign; every tool invocation — executed, pending, rejected, expired or failed — lands in the append-only Audit log.
What agents can do
- Campaigns: list, inspect results, check quota; schedule and cancel (gated); send a single test and preview Liquid personalization before a send. Recurring sends: list, and create on a cron cadence (gated). Multi-message campaigns: inspect, read the per-message report, pause and resume (gated).
- Experiments: A/B variants and auto-winner experiments on scheduled sends, rehearsal in simulated mode, and
pick_experiment_winner(gated) when an experiment ends inconclusive and you choose the winner. - Segments: list, preview rule sets, create (gated).
recommend_segmentsuggests starting rules for re-engagement, win-back and upsell goals. - Journeys: inspect definitions, runs and decision traces (why a subscriber entered, branched or exited); activate and pause (gated).
- Policy changes: when your workspace requires approval for segment-rule and fatigue-budget edits, an agent can activate an approved pending version (gated).
- Subscribers and operations: subscriber overview and lookup by your own user id, attribute definitions, subscription forms and their signup funnels, import jobs, deliverability, connected integrations, chart annotations.
- Authoring:
draft_journeyanddraft_campaignturn a natural-language brief ("a 3-touch win-back for lapsed VIPs") into a complete draft — the segment, step graph, timing and per-step copy pre-filled from your real segments, channels and templates. Drafts land inert — nothing sends — for you to review and edit in the builder, then activate or release yourself. AI generation is credit-fenced and plan-gated (gated). - Insights: conversion funnels, attribution summaries, campaign comparisons, send-time recommendations (deterministic, sample-size-honest).
- Guardrails:
get_guardrail_postureexplains your quiet hours and enforcement. Agent sends pass the same consent, frequency-cap and quiet-hours checks as every other send — no agent can bypass them.
Agents also get resources (hober://campaigns/recent, hober://segments/catalog, …) for context and prompts (campaign_brief, results_report, …) that walk them through complete workflows, approval mechanics included.
Teach your agent Hober: the skills
Connecting the MCP server gives an agent access; the Hober skills give it expertise — the workflows, approval discipline, and judgment a practiced operator brings (campaign golden paths, building segment rules, in-app authoring, diagnostics). The facts they rely on come from the server itself: tool schemas, and the generated hober://reference/segment-rules resource with the rule grammar, every operator and worked examples.
There are six skills for operating Hober: hober, the core skill, plus five task skills (deliverability-doctor, weekly-performance-analyst, experimentation-coach, agency-operator, import-assistant). A seventh, hober-integration, is for developers adding Hober to an application.
Install the skills
Claude Code — add the Hober marketplace once, then install the plugin:
claude plugin marketplace add https://docs-staging.hober.io/agent-skills/marketplace.json
claude plugin install hober@hober
The hober plugin installs the six operating skills and connects the MCP server. Claude Code asks for your hober_mcp_ key when the plugin is enabled and keeps it in your system's secure credential store. For the integration skill, install hober-integration@hober.
claude.ai / Claude desktop — download a skill and upload it under Settings → Capabilities → Skills:
| Skill | Download |
|---|---|
hober | hober.zip |
deliverability-doctor | deliverability-doctor.zip |
weekly-performance-analyst | weekly-performance-analyst.zip |
experimentation-coach | experimentation-coach.zip |
agency-operator | agency-operator.zip |
import-assistant | import-assistant.zip |
hober-integration | hober-integration.zip |
Other agent runtimes that support Agent Skills: unzip a skill and point the runtime at its folder. SKILL.md is the entry point.
Keeping skills current
An installed skill does not update itself. Each skill states its version, a date such as 2026.10.16, and whoami reports the current version of every skill under skills. The skills tell your agent to compare the two at the start of a session and to tell you once when yours is older.
- Claude Code: run
claude plugin marketplace update hober, thenclaude plugin update hober@hober. To have it happen automatically, turn on Enable auto-update for thehobermarketplace under/plugin→ Marketplaces. - claude.ai / Claude desktop: download the skill again and replace it.
An older skill is still safe to use: the server's tool list is always current, so it may only miss workflows for newer tools.
Webhooks and callbacks
Subscribe webhook endpoints to agent.approval_requested, agent.approval_expired and agent.tool_executed to follow agent activity from your own systems (same HMAC signing as delivery webhooks). Optionally set a callback URL on the application: decisions are POSTed to it so agents don't need to poll — treat the callback as a wake-up and confirm via get_approval.