MCP · Nous Research

Marketing MCP for Hermes Agent

Hermes runs on your own infrastructure and remembers what it learns. Connect Spreeflo and your marketing work becomes something it gets better at.

Connect Hermes Agent

Self-hosted, open source·Persistent memory·Reachable from chat apps

MCP server config
{
  "mcpServers": {
    "spreeflo": {
      "url": "https://mcp.spreeflo.com/mcp",
      "headers": { "Authorization": "Bearer <YOUR_API_KEY>" }
    }
  }
}

Writes apply to your live workspace immediately — there's no approval queue here. Keep a human in the loop and check Hermes Agent's confirmation settings first.

60+
tools exposed
0
servers to host
120
tool calls / minute
1
API key to connect

The agent

What is Hermes Agent?

Hermes Agent is Nous Research’s self-hosted, self-improving agent. It runs on your own infrastructure, keeps memory across sessions, reaches you through messaging platforms, and connects to external tool servers over MCP.

Your infrastructure

Because you host it, the agent and its credentials stay inside your own perimeter.

Memory that compounds

Recurring marketing tasks get better over time — it remembers how your segments and templates are structured.

Reachable from chat

Telegram, Slack, Discord and others, so “what did that campaign do?” can be a message rather than a login.

Setup

Connect Hermes Agent in about a minute

A Spreeflo API key, and one entry in Hermes Agent.

Create an API key

In the Spreeflo app, go to Settings → API Keys and click + Add API Key. Name it Hermes Agent so you can revoke this one connection later without touching the others.

Add the Spreeflo MCP server

MCP server config
  1. 1.Add Spreeflo to your Hermes MCP server configuration.
  2. 2.Use the Streamable HTTP form below, with your key in the Authorization header.
  3. 3.Restart the gateway so the new tools are discovered.
{
  "mcpServers": {
    "spreeflo": {
      "url": "https://mcp.spreeflo.com/mcp",
      "headers": { "Authorization": "Bearer <YOUR_API_KEY>" }
    }
  }
}

Because Hermes is self-hosted, keep the key in an environment variable rather than the config file itself.

Check it works

Ask Hermes Agent for something small — "list my Spreeflo audiences". A working connection is one where your gateway returns real audience names, which also confirms egress is open.

Full setup guide and troubleshooting

In practice

What Hermes Agent does with it

Two ordinary requests, and the Spreeflo tools behind them.

From a chat app

How did the welcome journey do this month?

Checked the journey and its per-template numbers, and replied in the thread:

  • list_journeys
  • get_campaign_performance

Asked and answered over Telegram — no dashboard, no login.

Recurring upkeep

Every Monday, check for contacts going cold and keep the re-engagement segment current.

Scheduled it, and on each run refreshes the segment definition from recent activity:

  • get_segment_definition
  • segment_update
  • get_segment_preview

Scheduled jobs are a Hermes feature; Spreeflo just exposes the tools it calls.

Running it

Self-hosting, memory, and what each one buys you

Hermes is the only client here you run yourself, and the only one that remembers across sessions. Both change the shape of the pairing — mostly in your favour, and in two places worth planning around.

Self-hosting moves the key, not the permissions

Running the agent inside your perimeter means the credential never sits with a vendor, which is a real gain. It does not change what that credential may do: Spreeflo enforces the same tool surface and the same refusals whether the caller is your own box or someone else’s cloud.

Memory holds structure, and holds it after rotation

What compounds is knowledge of how your workspace is shaped — which segments exist, how templates are named, what a normal audience looks like. That memory survives a key rotation, so an agent you have revoked still remembers the layout. Clear its memory too if that matters to you.

Scheduled jobs run with nobody reading

Hermes can run marketing upkeep on a cron without a person in the loop. Keep those jobs narrow and idempotent — refreshing a segment definition is safe to repeat, whereas anything that creates an object will happily create it again on every run.

Outbound only, so no inbound rule

Your gateway dials Spreeflo, never the reverse. Self-hosting therefore costs you no firewall exposure: no port to open, no tunnel, no public hostname. Restart the gateway after adding the server, or the new tools will not be discovered.

Your infrastructure, still your live workspace

Self-hosting invites the assumption that everything is now local and reversible. Spreeflo is not — it is a hosted service the agent reaches over the network, and its writes are as permanent as any other client’s. The perimeter you gained protects the key and the conversation; it does not put a staging copy of your workspace behind it.

Why this pairing

Hermes Agent + Spreeflo

  • Self-hosted, so credentials stay in your perimeter
  • Memory makes recurring marketing tasks cheaper each time
  • Reachable from the chat apps you already use
  • Scheduled jobs turn upkeep into background work
  • Deletes and sends refused server-side regardless of host

Coverage

Everything it can touch

The same surfaces you work with in the app, exposed as tools — and a short list that is deliberately off limits.

Self-hosted and scheduled, Hermes gravitates to the upkeep end — segment definitions kept current, journey and campaign numbers answered from a chat thread.

Audience

  • Audiences and contacts
  • Segments, static and dynamic
  • Tags
  • Custom contact attributes
  • CSV import

Sending

  • Campaigns and journeys
  • Email templates
  • Web push templates
  • Sender and domain identities

Capture

  • Forms and question types
  • Inline and popup embeds
  • Response summaries
  • CSV export of responses

Insight

  • Campaign and web push performance
  • Tracked events and pages
  • Link clicks
  • Form analytics

What MCP refuses to do

These are irreversible or they reach real people, so they are removed from the surface rather than left to your client's confirmation settings. A person does them in the app.

Deleting anything Starting a campaign Resuming a campaign or journey Publishing a form
See the full tool catalog

Supercharge your marketing automation

14-day free trial
No commitment
Cancel anytime
FAQ

Questions, answered.