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.
Self-hosted, open source·Persistent memory·Reachable from chat apps
{
"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.
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.Add Spreeflo to your Hermes MCP server configuration.
- 2.Use the Streamable HTTP form below, with your key in the
Authorizationheader. - 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 troubleshootingIn practice
What Hermes Agent does with it
Two ordinary requests, and the Spreeflo tools behind them.
How did the welcome journey do this month?
Checked the journey and its per-template numbers, and replied in the thread:
list_journeysget_campaign_performance
Asked and answered over Telegram — no dashboard, no login.
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_definitionsegment_updateget_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.