How to Enable Headless Browsers, Messaging, and MCP in Hermes Agent

Once Hermes Agent is installed on your Bluehost Self-Managed VPS or Virtual Dedicated Server (VDS) and connected to your language model provider, it works as a capable terminal assistant. To let it browse the web, integrate with external development tools, or report back to you on your phone, you can make a few additional changes to your setup. This guide covers how to check and enable headless browser tools, connect a messaging app, add Model Context Protocol (MCP) servers, and tune Hermes' learning settings.

Note: Run the commands in this guide at your server's command prompt over SSH, not inside a Hermes session. The paths in this guide, such as /root/projects and ~/.hermes, assume you're logged in as root, as on the one-click template. If you use a different user, replace /root with your own home folder. Before you start, update Hermes so you have the latest features.
hermes update

1. Unlocking Web Automation: Headless Browser Setup

For simple pages, Hermes uses its web search and extraction tools. When it needs to interact with a page or load one that depends on JavaScript, it uses its browser tools. These tools are normally installed when you update Hermes.

To check that the browser tools are available, run the Hermes health check and look for browser under Tool Availability:

hermes doctor

If the browser tools fail with missing shared library errors on your server, install the browser and its system libraries manually with the two steps below.

Step 1: Install Playwright Binaries

Make sure Node.js is installed on your server, then download the headless Chromium browser that the agent uses:

npx playwright install chromium

Step 2: Install Linux System Dependencies

Servers don't have a graphical desktop, so the fonts, rendering libraries, and windowing libraries that Chromium needs may be missing. Run the following script as root, or with sudo, to install them:

sudo npx playwright install-deps chromium

2. Establishing External Messaging Gateways (Telegram / Discord)

You don't have to keep an SSH terminal open to give Hermes tasks. When you link Hermes to a chat app, you can send it requests from your phone.

Note: A messaging app needs a bot account for Hermes. Setup can create the bot for you automatically, or you can create it yourself and paste its token. Follow any prompts that ask which accounts are allowed to message Hermes, so that Hermes responds only to you.

Step 1: Install the Messaging Packages

The packages that Hermes needs for Telegram and Discord aren't installed by default. Install them first:

hermes pm install --extra messaging

To confirm that they installed, run hermes doctor and look for python-telegram-bot and discord.py under Required Packages. They show a check mark when they're installed.

If the gateway is already running, as it should be on the one-click install, restart it so it uses the new packages. If you installed Hermes manually, you start the gateway in Step 3, so you can skip this restart:

hermes gateway restart

The restart is graceful, so Hermes finishes any task in progress first. It can take a while if Hermes is busy.

Step 2: Set Up the Gateway

Run the interactive setup and choose your messaging platform:

hermes gateway setup

Use the arrow keys to move through the list of messaging platforms, press Space to select one, and press Enter to continue. For Telegram, Hermes asks how you want to create your bot:

  • Automatic (recommended): Hermes shows a QR code and a link. Scan the code or open the link on your phone, and tap Create Bot in Telegram to confirm. You don't need to copy a token.
  • Manual: Create a bot yourself by messaging @BotFather in Telegram, then paste the bot token into the setup. If the automatic option times out before you confirm, Hermes switches to this option.

Other platforms, such as Discord, ask for their own credentials, such as a bot token.

If Hermes says the QR code is unavailable, make sure you completed Step 1, restart Hermes, and run the setup again.

Step 3: Run the Gateway as a Background Service

To keep Hermes running after you log out or close your SSH session, the gateway must run as a background service.

If you installed Hermes manually:

hermes gateway install hermes gateway start

If you used the one-click install:

The gateway should already be installed and running as a background service, and it keeps running after you log out, so you shouldn't need to install or start it. To check, run hermes gateway status (shown below). Until you set up a messaging platform, it logs the message No messaging platforms enabled. After you finish hermes gateway setup, restart the gateway to apply your new settings:

hermes gateway restart

To check the gateway's status at any time, run:

hermes gateway status

Example Output:

● hermes-gateway.service - Hermes Agent Gateway - Messaging Platform Integration Loaded: loaded (/root/.config/systemd/user/hermes-gateway.service; enabled; preset: enabled) Active: active (running) since ... ... ✓ User gateway service is running ✓ Systemd linger is enabled (service survives logout)

To watch the gateway's log, run the following command, and press Ctrl+C to stop:

tail -f ~/.hermes/logs/gateway.log

3. Expanding Capabilities With Model Context Protocol (MCP)

Model Context Protocol (MCP) lets your agent connect to external tools and local files. Instead of editing the Hermes configuration file by hand, use the hermes mcp add command to attach an MCP server.

Warning: The commands in this section use npx -y, which downloads a package from the npm registry and runs it on your server. Only add MCP servers from publishers you trust, and review a server's documentation and the permissions it needs before you add it.

Step 1: Add a Local Filesystem Server

This example gives Hermes access to the files in a folder named projects. First, create the folder:

mkdir -p /root/projects

Then add the server. Replace /root/projects with the folder you want Hermes to access. Only share a folder that you're comfortable letting Hermes read and change, and don't share your whole home folder, because it contains Hermes' own configuration and keys. The --args option must be the last option in the command, and each argument is separated by a space.

hermes mcp add local-filesystem --command npx --args -y @modelcontextprotocol/server-filesystem /root/projects

Hermes connects to the server and lists the tools it provides:

Example Output:

Connecting to 'local-filesystem'... ✓ Connected! Found 14 tool(s) from 'local-filesystem': read_file Read the complete contents of a file as text. ... write_file Create a new file or completely overwrite an existing file ... edit_file Make line-based edits to a text file. ... list_directory Get a detailed listing of all files and directories ... ... Enable all 14 tools? [Y/n/select]:

Enter Y to enable all the tools, or enter select to choose which ones to enable. The filesystem server includes tools that write, edit, and move files. If you want Hermes to be able to read files only, choose select and enable only the read and list tools. Bluehost doesn't currently offer a backup service for Self-Managed VPS or VDS plans, so back up the folder before you enable tools that can write, edit, or move files.

Step 2: Add a Server That Needs Credentials

Some MCP servers need an API key or another secret. Pass it with the --env option so it isn't part of the command arguments, and use credentials with only the permissions Hermes needs. As before, --args must come last. Use this pattern, replacing the placeholders with the server's package name and the variables it requires:

hermes mcp add server_name --command npx --env KEY_NAME=your_value --args -y package_name

See the MCP server's own documentation for its package name and required variables.

Hermes saves each server in ~/.hermes/config.yaml. To use a server's tools, start a new Hermes session, or type /reload-mcp in a session that's already open.

To see your registered servers, run:

hermes mcp list

Example Output:

MCP Servers: Name Transport Tools Status ──────────────── ────────────────────────────── ──────────── ────────── local-filesystem npx -y @modelcontextproto... all ✓ enabled

To check a server's connection, run hermes mcp test followed by the server name:

hermes mcp test local-filesystem

Example Output:

Testing 'local-filesystem'... Transport: stdio → npx Auth: none ✓ Connected (700ms) ✓ Tools discovered: 14 read_file Read the complete contents of a file as text. DEPRECATE... write_file Create a new file or completely overwrite an existing f... ...

To remove a server you no longer need, run hermes mcp remove followed by the server name, for example hermes mcp remove local-filesystem.

4. Tuning the Self-Improving Learning Loop

As Hermes works, it can save notes to its memory and create reusable skills from tasks it has completed. Two settings in the Hermes configuration file control how often Hermes is reminded to do this. These settings affect what Hermes saves in its own files in the ~/.hermes folder. They don't change your server.

Step 1: Open the Configuration File

nano ~/.hermes/config.yaml

Step 2: Adjust the Reminder Settings

Find the following existing settings and change their values:

  • nudge_interval, in the memory: section, reminds Hermes to consider saving a memory every N of your turns. The default is 10. Set it to 0 to turn the reminders off.
  • creation_nudge_interval, in the skills: section, reminds Hermes to consider saving a skill every N tool-calling steps. The default is 15. Set it to 0 to turn the reminders off.

Hermes saves new skills in ~/.hermes/skills/. To save the file in nano, press Ctrl+O, press Enter, and then press Ctrl+X to exit. Restart Hermes for the changes to apply.

Step 3: Manage Learning Manually (Optional)

You can also control what Hermes learns from inside a Hermes session:

  • /learn turns something you describe into a reusable skill.
  • /refine reviews the current conversation and saves lessons to memory or skills.
  • /memory approval on lets you review pending memory writes before Hermes saves them.
  • /journey shows a timeline of what Hermes has learned, which you can edit or delete.

5. Environmental Diagnostics Verification

To confirm that your browser tools, messaging gateway, and MCP servers are working, run the Hermes health check again:

hermes doctor

Example Output:

◆ MCP Server Security ✓ No suspicious MCP stdio commands ... ◆ Required Packages ✓ python-telegram-bot (optional) ✓ discord.py (optional) ... ◆ Gateway Service ✓ Systemd linger enabled (gateway service survives logout) ... ◆ External Tools ✓ git ✓ Node.js ✓ agent-browser ✓ Playwright Chromium (browser engine) ... ◆ Tool Availability ✓ browser ✓ browser-use ✓ terminal ✓ web search ...

The output on your server is longer and may differ. A check mark means the item is working. A warning symbol (⚠) usually means an optional feature that isn't set up yet, such as a messaging platform that is missing its token. Hermes lists a suggested fix at the end of the report.

To have Hermes fix what it can automatically, run:

hermes doctor --fix

Summary

This guide covers the additional setup steps that help you get more out of Hermes Agent on your Bluehost Self-Managed VPS or Virtual Dedicated Server (VDS). You learned how to check that the headless browser tools are available and install them if they aren't, connect a messaging app so you can send tasks to Hermes from your phone, run the gateway as a background service so Hermes keeps running after you log out, add MCP servers for files and other tools, and tune how often Hermes is reminded to save memories and skills. Run hermes doctor after you make changes to confirm that everything is working.