Your own Amazon agent, running on Hermes Agent

Hermes Agent is the open-source agent from Nous Research that you install on your own computer or server. Add DataDoe to its config and it reads Seller Central, Vendor Central and Amazon Ads, then answers in Telegram, WhatsApp, Slack or whichever messenger you already use every day.

Hermes is free under the MIT licence and works with the model provider you choose. DataDoe is $97 a month after a 14-day free trial.

• Gateways

Ask in Telegram today, in Slack tomorrow

The Hermes gateway connects one agent to the messengers you pick. Whichever app the question comes from, it reaches the same agent, with the same DataDoe connection and the same notes about your account.

  • TelegramDM the bot you created for it
  • WhatsAppMessage the number it is linked to
  • SlackDM it or @mention it in a channel
  • DiscordDM it or @mention it on your server
  • SignalMessage the number it is linked to
  • EmailWrite to the inbox it reads
Hermes AgentHermes Agenton a machine you control
Runs
hermes gateway, in the foreground or as a service
Model
The provider and key you configure
Remembers
Notes on you and your account, kept between chats
MCP
datadoe in ~/.hermes/config.yaml
DataDoe100+ tables, one schema
  • Seller Central
  • Vendor Central
  • Amazon Ads

Only people you allow can ask. Each platform has its own allowlist, and anyone else who DMs the bot gets an 8-character code that does nothing until you run hermes pairing approve on the server. With no allowlist set, the gateway turns everyone away.

• Setup

One block of YAML, then ask it something

These are the steps from our Hermes guide. The desktop app and the hermes CLI read the same ~/.hermes/config.yaml, so you add DataDoe once and every surface, gateways included, gets it. Plan on about 5 minutes.

Open the Hermes guide
# written by hermes model
model:
    provider: anthropic
    default: claude-sonnet-4-6
 
# add this
mcp_servers:
    datadoe:
        url: 'https://mcp.datadoe.com/mcp/v1'
        headers:
            datadoe-mcp-key: 'YOUR_DATADOE_MCP_KEY'
# ~/.hermes/config.yamlmcp_servers:
    datadoe:
        url: 'https://mcp.datadoe.com/mcp/v1'
        headers:
            datadoe-mcp-key: '${DATADOE_MCP_KEY}'
 
# ~/.hermes/.envDATADOE_MCP_KEY=your_key_from_app.datadoe.com
  1. Create a DataDoe MCP keyIn the app under Integrations → MCP, for the Organization whose Amazon accounts the agent should see.
  2. Add it to the configPaste the block under mcp_servers. The .env version keeps the key out of a file you might share or back up.
  3. ReloadRun /reload-mcp in an open chat, or restart the app. A running gateway notices the change by itself within about a minute.
  4. AskWhat DataDoe tools do you have access to?List all my connected sellers

Desktop app on macOS and Windows; on Linux, install the CLI. Tools then show up as mcp_datadoe_sellers_and_vendors_list, mcp_datadoe_exports_create and so on.

• Chat-facing agents

Let it read Amazon, not change it

Hermes stops for your approval before risky shell commands. It does not stop before MCP tool calls. So an agent that people can message should only ever hold the DataDoe tools it needs, and you decide that before anyone asks.

  • 1Register only the read toolsWith tools.include, Hermes loads the tools on the list and nothing else. So actions_start, the tool behind every change, never reaches the agent, whatever someone types in the chat.
  • 2Keep DataDoe’s own locks onSet the Amazon accounts to Read only on the Accounts page. Action types are off by default, and nothing reaches Amazon unless both are switched on.
  • 3Make changes where you can watchFor writes, use a separate setup you sit in front of. DataDoe can run a change as a dry run first so you see it before it goes out, and it keeps a log of every change. How Actions work
~/.hermes/config.yaml
mcp_servers:
    datadoe:
        url: 'https://mcp.datadoe.com/mcp/v1'
        headers:
            datadoe-mcp-key: '${DATADOE_MCP_KEY}'
        tools:
            include:
                - sellers_and_vendors_list
                - sellers_and_vendors_get
                - 'exports_*'
• Memory and profiles

It learns the account. Agencies run one per client.

Hermes writes down what it learns about you and your business, and turns jobs it repeats into skills. Give each client a profile and every client gets a separate agent: its own config and DataDoe key, its own bot, its own memory.

Memory is plain Markdown in each profile, so you can read and correct it. If you’d rather see a new skill before the agent uses it, turn on skills.write_approval. Each profile’s DataDoe key only reaches the Organization it was created in.

FAQ

Hermes Agent, answered.

Create a DataDoe MCP key under Integrations → MCP in the app, then add a datadoe entry under mcp_servers in ~/.hermes/config.yaml with the URL https://mcp.datadoe.com/mcp/v1 and the key in a datadoe-mcp-key header. Run /reload-mcp or restart Hermes, then ask which DataDoe tools it has. The Hermes guide has every step.

No. Hermes approvals cover risky shell commands, not MCP tool calls, so don't count on a prompt. Control it in the config and in DataDoe instead: list only read tools under tools.include, keep the Amazon accounts on Read only, and leave Action types off, which is the default. If you do allow writes later, DataDoe can dry-run a change for you to check first, and it logs every change that goes out.

Whichever you set up. Hermes is model-agnostic: bring a key from a provider such as Anthropic (our guide uses one), or use Nous Portal. Your questions and DataDoe's answers go to that provider, so pick one whose data terms suit you.

Our guide pastes it straight into config.yaml, which works. The safer option is to write '${DATADOE_MCP_KEY}' in the header and put the key itself in ~/.hermes/.env; Hermes fills it in when it connects. Either way it stays on the machine that runs Hermes and only travels to DataDoe, as a header.

Only people you allow. Each platform has an allowlist, and a stranger who DMs the bot receives a pairing code that you approve or ignore on the server with hermes pairing approve. If no allowlist is set at all, the gateway refuses everyone.

Yes, with Hermes profiles. Each profile is its own folder under ~/.hermes/profiles/ with its own config.yaml, .env, memory, skills and gateway, so each client gets a separate bot and a DataDoe key from that client's Organization. One client's data never sits in another client's agent.

Hermes when you want to own the box and the model choice, and talk to it in your messenger. Grok Bot when you would rather have a hosted agent on a cloud computer with approval rules built in. n8n when the job is a fixed workflow that runs the same steps every time.

Data is fresh daily, and key tables refresh intraday. Connecting an account loads roughly two years of history, newest first, which is why the agent can put yesterday next to the same day last year in its first answer.

Want help with the first agent?

On a call we set up the Hermes config with you, limit it to read tools and connect your first messenger.

Book a demo
• Get started

Your Amazon agent, on your own server.

Connect Seller Central, Vendor Central and Amazon Ads to DataDoe, add one block to the Hermes config and ask from any messenger. Changes to Amazon stay off until you turn them on.

  • Seller, Vendor and Ads
  • 100+ tables
  • Read-only tool lists
  • $97/mo, 14-day free trial