# Connect Hermes Agent to Discord

Source: https://postgale.com/guides/hermes/discord

Yes, Hermes Agent can post to Discord through Postgale. Create a Postgale API key with approval on and add https://postgale.com/mcp to Hermes Agent as an MCP server with an Authorization header, connect your Discord account in Postgale once, and Hermes Agent can channel messages with attachments and embeds, edits and deletes. A person can be required to approve every post, reply and message before it goes out.

## Can Hermes Agent post to Discord?

Postgale is the secure layer for AI agents on social media. MCP (Model Context Protocol) is the open standard that lets AI assistants such as Claude and Cursor use outside tools. An MCP server is what they connect to. Hermes Agent does not reach Discord on its own; with Postgale connected it gets tools for the Discord accounts you connected and nothing else.

| Task | What Postgale does |
| --- | --- |
| Publish | Text up to 2000 characters, up to 10 attachments and up to 10 rich embeds (title, description, fields, images, colors); a custom name and avatar per message; silent delivery; scheduling. |
| Edit | Change the text of a message it posted. |
| Delete | Remove a message it posted. |

## What do you need?

- A Discord server where you have the Manage Webhooks permission.
- A Postgale workspace, and a sign-in or an API key for the agent.
- Optional files on a public HTTPS URL (upload them with `upload_media`): up to 10 MB each.
- Hermes Agent, set up as below (Nous Research’s agent, with the MCP server or a skill and an API key).

## Step 1: connect your Discord channel

1. Create a Postgale workspace and open Dashboard → Accounts → Discord.
2. On Discord, pick the server and the channel and authorize. Discord creates a webhook for Postgale in that channel.
3. Back in Postgale the channel is listed under Connected accounts, ready to publish.
4. Connect your AI tool: add `https://postgale.com/mcp` in [ChatGPT](https://postgale.com/guides/chatgpt), [Claude](https://postgale.com/guides/claude) or [Cursor](https://postgale.com/guides/cursor) and sign in to Postgale, or create a key under Dashboard → API keys for [n8n](https://postgale.com/guides/n8n) or your own code.

An agent can also start the connection itself: the `connect_account` tool (or `GET /api/v1/connect/discord`) returns a link for the server admin to open. The agent never gets a token.

## Step 2: connect Hermes Agent to Postgale

1. In Postgale, open Dashboard → API keys, create a key and copy it (it starts with `sk_` and is shown once). Connect the social accounts the agent may use under Dashboard → Accounts.
2. An agent that runs on its own, on a schedule or from a chat app, should use a key with approval required: create the key, then turn on approval for it under Dashboard → API keys. Everything it wants to publish, reply or send then waits for a person.
3. Make the key available to Hermes Agent as a secret, for example an environment variable `POSTGALE_API_KEY` on the machine it runs on.

## Step 2: add Postgale as an MCP server

Declare a remote (HTTP) MCP server in Hermes Agent’s configuration with these values. The file and key names depend on your Hermes Agent version; its documentation shows where MCP servers go.

Postgale MCP server:
```text
URL:        https://postgale.com/mcp
Transport:  Streamable HTTP
Header:     Authorization: Bearer sk_…
```

Restart the agent so it loads the server, then ask it which tools it has from Postgale. It should list tools such as `list_accounts`, `create_post`, `list_comments` and `send_message`.

## What can I ask Hermes Agent to do on Discord?

Check the connection first: “Which Discord accounts are connected in Postgale?” Then, in plain language:

> Ask your agent: “Post the release notes to #announcements on Discord as an embed with the version number and the screenshot attached.”

> Ask your agent: “Schedule a Discord message for Monday at 9am reminding the server about the community call.”

> Ask your agent: “Delete the Discord message we posted by mistake an hour ago.”

POST /api/v1/posts (Discord):
```json
{
  "content": "Release 2.4 is out",
  "platforms": [
    {
      "accountId": "acc_dc",
      "platformSpecificData": {
        "mediaUrl": "https://media.example.com/screenshot.png",
        "embeds": [
          {
            "title": "Changelog",
            "description": "Faster sync and dark mode.",
            "fields": [
              {
                "name": "Version",
                "value": "2.4",
                "inline": true
              }
            ],
            "image": {
              "url": "attachment://screenshot.png"
            }
          }
        ]
      }
    }
  ],
  "publishNow": true
}
```

## Which Discord rules does Postgale enforce?

- Text is limited to 2000 characters, embeds to Discord’s field limits and 6000 characters in all; a post over a limit is refused before it reaches Discord.
- Files are uploaded by Postgale within Discord’s default limits: 10 MB per file, 10 files per message.
- @everyone and @here do not ping unless the post asks for it explicitly.
- When Discord asks to slow down, Postgale waits the time Discord gives before retrying.
- If the webhook is deleted in Discord, the account is marked as needing reconnection and your webhook hears about it.

## How do I keep a person in the loop?

- Approval: tick “Hold posts from this app for approval” when you sign in, or in the Postgale dashboard require approval for the API key the agent uses (or for the whole workspace, or one account). Posts then wait as pending approval; comment replies and moderation, direct messages, WhatsApp sends and edits to live posts wait in the same queue. A person approves, edits or rejects each one in Dashboard → Approvals; the agent’s own key or sign-in cannot approve.
- Tool annotations: every Postgale tool declares whether it only reads, writes, or publishes or sends live, deletes or spends. Clients that honour annotations ask before destructive tools run.
- Audit log: every write the agent makes is recorded with the key or the connected app, the action and the time.
- Revoking: each sign-in appears under Dashboard → Connected apps and each key under Dashboard → API keys; either can be revoked at any time.

## What can’t an agent do on Discord through Postgale?

- Read messages, reply in threads or react. A webhook can only post, edit and delete its own messages.
- Read views, reactions or member counts. Webhooks get no analytics.
- Post files over 10 MB, even in boosted servers.

## Questions

### Can Hermes Agent post to Discord?

Yes, Hermes Agent can post to Discord through Postgale. Create a Postgale API key with approval on and add https://postgale.com/mcp to Hermes Agent as an MCP server with an Authorization header, connect your Discord account in Postgale once, and Hermes Agent can channel messages with attachments and embeds, edits and deletes. A person can be required to approve every post, reply and message before it goes out.

### Does Hermes Agent see my Discord password or tokens?

No. The account owner signs in on Discord’s own authorization page once, and Postgale stores the resulting channel webhook encrypted. Hermes Agent only holds a Postgale API key or sign-in, which you can revoke at any time.

### Can I approve what Hermes Agent sends to Discord before it goes live?

Yes. Turn on approval for the API key it uses, the account or the whole workspace. Posts, replies and messages then wait in the Postgale dashboard until a person approves, edits or rejects them; Hermes Agent’s own access cannot approve.

### Can Hermes Agent schedule Discord posts?

Yes. Ask for a date and time; Postgale stores the post as scheduled and publishes it then, and reports the result (post.published or post.failed) on your webhook and in get_post.

## Related

- [Hermes Agent guide](https://postgale.com/guides/hermes)
- [Discord for AI agents](https://postgale.com/integrations/discord)
- [Hermes Agent and Instagram](https://postgale.com/guides/hermes/instagram)
- [Hermes Agent and Facebook](https://postgale.com/guides/hermes/facebook)
