Skip to main content
Hermes Agent is the open-source agent from Nous Research. Add TryPost as a remote HTTP MCP server and you can schedule, publish, and manage social posts from the Hermes CLI, Desktop app, or any messaging gateway already running on that install. This page is for Hermes as an MCP client — you point Hermes at TryPost. It is not hermes mcp serve, which exposes Hermes itself to other agents.
TryPost is not in the Nous-approved MCP catalog. hermes mcp with no arguments (or hermes mcp picker / hermes mcp install) only lists catalog entries. Do not look for a TryPost tile. Add a custom HTTP server with auth: oauth.

Prerequisites

  • Hermes Agent installed (CLI and/or Desktop). The standard install already includes MCP. If a command says MCP extras are missing:
  • An active TryPost Cloud account

Server URL

Use this exact URL. Do not add a trailing slash. Do not paste an OAuth authorize URL. Do not use /api.
Leave the transport at Hermes’ default (Streamable HTTP). Do not set transport: sse.

Setup

Hermes stores servers in ~/.hermes/config.yaml under mcp_servers. For a hosted OAuth server it uses url + auth: oauth, then completes the browser flow on first connect or hermes mcp login. Pick one way to add the server. Do not run login after a successful addhermes mcp login force-reauthenticates: it deletes the token on disk and starts the browser flow again.
1

Add the TryPost MCP server

CLI add. hermes mcp add writes the server and immediately connects (that connect is the first OAuth). Give the probe time to finish the browser sign-in:
--auth only accepts oauth or header. Use oauth.
  1. Sign in to TryPost, review permissions, click Allow
  2. When it asks Enable all N tools? [Y/n/select], answer Y. n cancels and does not save the server. select writes a tools.include list and hides everything else (including publish/delete)
If connect fails, Hermes may ask Save config anyway? and store the entry with enabled: false. Set enabled: true in config.yaml, then run login below.YAML, then login. Same config Hermes documents for OAuth HTTP servers. Write the block in Manual configuration. If Hermes is already running, do not wait for in-session auto-reload — that reload only waits 30 seconds, which is too short for OAuth. From a fresh terminal:
login waits up to five minutes. Use this same command later to re-authenticate.Desktop. Open the Add to Hermes link, confirm the dialog, then login if the app has not already completed OAuth.
2

Finish the browser sign-in

On first connect, Hermes prints an authorize URL, opens your browser when it can, and waits on a loopback callback. You do not paste an API key, Client ID, or Client Secret — TryPost uses Dynamic Client Registration.A successful run writes ~/.hermes/mcp-tokens/trypost.json (mode 0o600). Later sessions reuse it and refresh the token. Re-authorization only happens when refresh fails — or when you run login.If the browser cannot reach http://127.0.0.1:<port>/callback (SSH, VPS, headless gateway), see Remote and headless Hermes.
3

Reload and verify

hermes mcp list should include trypost. hermes mcp test trypost should connect and list tools.If a session is already open, run /reload-mcp. Then ask the prompt Hermes documents for this check:
You should see TryPost tools. Then:
Hermes registers each tool as mcp__<server>__<tool> (config reference). Hyphens become underscores, so list-posts-tool is mcp__trypost__list_posts_tool. You do not type that name — ask in plain language. If Hermes answers without tools, tell it to use the trypost MCP server.See the Tools reference for every tool and the recommended create → attach media → publish workflow.

Authentication

TryPost MCP accepts OAuth only — a browser sign-in with the mcp:use scope. In Hermes that is auth: oauth. Hermes handles discovery, Dynamic Client Registration, PKCE, token exchange, and refresh. Personal Access Tokens from Settings → API Keys work on the REST API, not on /mcp/trypost.
Do not pass --auth header and do not put Authorization: Bearer … under headers. A pasted API key returns 403 MCP OAuth authorization required.
Do not add oauth.client_id / oauth.client_secret. Those fields are for servers that reject DCR (Hermes documents Google Drive and Atlassian that way). TryPost is not one of them. Manage connected assistants later under workspace Settings → MCP in TryPost. To sign in again on Hermes (this deletes the stored token and repeats the browser flow):
hermes mcp reauth trypost does the same thing for one server. hermes mcp reauth --all walks every auth: oauth server one at a time.

What you can do

Once the server is authorized, Hermes can: Pinterest needs a board_id, Discord needs a channel_id, and TikTok needs a privacy_level before you publish. Ask Hermes to list boards or channels first. Details and original tool names (use these in tools.include / tools.exclude, not the sanitized mcp__… names): Tools reference. The same tools are then available in hermes chat, Hermes Desktop, and any messaging gateway on that install (Telegram, Discord, Slack, and the rest).

Manual configuration

Equivalent config written by hermes mcp add — the OAuth HTTP shape:
Save in ~/.hermes/config.yaml, then run hermes mcp login trypost from a fresh terminal. Do not add headers, transport, or oauth.client_id. To hide the server without deleting the block, set enabled: false. To remove it:
To change which tools Hermes sees after a successful login:

Hermes Desktop

Desktop shares ~/.hermes/config.yaml. Desktop settings include an MCP servers pane. After you add and authorize the server, open that pane or start a new Desktop chat so the tools load. One-click install (Add to Hermes):
Opening that link does not install by itself. Desktop shows the name and the full config; you confirm. Existing names are never overwritten — you rename or cancel. Then run hermes mcp login trypost if the app has not already completed OAuth.

Self-hosted

Hermes connects from the machine where the agent runs, not from a vendor cloud. If Hermes and TryPost share a host, a local {APP_URL} works.
Use your instance MCP URL — replace {APP_URL} with the real origin, then pass it to hermes mcp add:
A loopback URL such as http://127.0.0.1:8000/mcp/trypost only works if Hermes can open that address on the same host.If Hermes runs on a VPS, Docker host, or messaging gateway, that host must reach the URL. A TryPost instance that only listens on your laptop is invisible to a remote Hermes — expose it or run Hermes on the same machine.Auth is still OAuth against your instance. Do not put a Personal Access Token in headers.

Remote and headless Hermes

When Hermes is not on the same machine as your browser, the OAuth callback to http://127.0.0.1:<port>/callback never hits the listener. This is the TryPost MCP login, not Hermes’ model-provider sign-in. Escalation from OAuth over SSH and the mcp-oauth-remote-gateway skill: dashboard in your browser first, then paste-back or an SSH tunnel, then the headless skill.
A remote Hermes often also runs the web dashboard. Adding or re-authing an OAuth MCP server from the dashboard in your browser avoids the loopback-callback problem. Look for the MCP / Connectors section (same mcp_servers block as the CLI). If HERMES_DASHBOARD_PUBLIC_URL is set on the host, that is the public URL to open.
On an interactive terminal, hermes mcp login trypost prints the authorize URL and asks you to paste the redirect. Open the URL on your laptop, click Allow, then copy the full URL from the address bar (the page may show a connection error — that is expected) and paste it at the Hermes prompt. A bare ?code=…&state=… string works too. Official walkthrough: OAuth over SSH / Remote Hosts.
Hermes prints the port it bound (Waiting for callback on http://127.0.0.1:<port>/callback). In a separate laptop terminal:
Then finish the authorize URL in your local browser so the redirect tunnels to the remote listener. Hermes may auto-bump the port if the preferred one is busy — copy it from the latest Waiting for callback line.
Hermes also supports a proxied callback when a public HTTPS URL forwards to the listener. Pin the port and set oauth.redirect_uri (MCP guide):
Then run hermes mcp login trypost. You do not need this on a laptop where the browser and Hermes share a machine.
If you cannot open the dashboard and cannot paste at a prompt, install Nous’ skill and let it walk the flow:
It writes tokens under ~/.hermes/mcp-tokens/, then you run /reload-mcp. Docs: mcp-oauth-remote-gateway.
OAuth over SSH: tokens are written under the Linux user that ran the login. If the gateway or systemd unit runs as root or a dedicated hermes user, authenticate as that user (sudo -u hermes -i or equivalent) so ~/.hermes/mcp-tokens/trypost.json is the file the running agent reads.

Useful commands

Troubleshooting

add without --connect-timeout uses a short connect probe — too short for a browser sign-in. Retry add with --connect-timeout 300, or write the YAML and run hermes mcp login trypost in a new terminal (login waits five minutes). If you edited config.yaml inside a running session, do not wait for auto-reload — that path only waits 30 seconds. Do not run login right after a successful add — that wipes the token you just got.
Confirm ~/.hermes/mcp-tokens/trypost.json exists, and that enabled is not false (a failed mcp add can save the server disabled). Run hermes mcp test trypost, then /reload-mcp or a new hermes chat. Ask which MCP tools are available. If tools.include was saved as a short list, run hermes mcp configure trypost and enable everything (or delete the tools block). If /reload-mcp is silent and no tools appear, the reload can fail quietly — run hermes mcp test trypost and start a new session.
Hermes documents this when DCR failed and no token landed on disk. For TryPost, DCR should work. Check that auth: oauth is set, no headers.Authorization is present, and ~/.hermes/mcp-tokens/trypost.json exists after login. If it is missing, run hermes mcp login trypost again — do not add a Client ID.
Cloud TryPost is already public. If you self-host, the Hermes host must reach the URL. A remote gateway cannot see localhost on your laptop.
The OAuth grant worked; the TryPost account is not active. Open app.trypost.it, activate the account, then run hermes mcp login trypost again. Self-hosted instances skip this check. See Introduction.
The token expired or was revoked. Run hermes mcp login trypost again.
The request used --auth header or a Bearer token in headers, or an OAuth token without mcp:use. Remove the header, keep auth: oauth, and sign in again.
install only accepts catalog names. TryPost is not in that catalog. Use hermes mcp add with --url and --auth oauth.

Example prompts