The best MCP servers for Hermes Agent are the ones that add something Hermes cannot already do. In practice, that means SaaS apps like Linear, Notion, Sentry, Stripe and Figma, plus databases like Supabase, Neon and MotherDuck. It also means current docs (Context7, DeepWiki), real-browser debugging (chrome-devtools-mcp), workflow automation (n8n) and web data at scale (Olostep).
Skip servers that copy Hermes' built-in tools, such as filesystem, fetch or search, basic Playwright, memory and GitHub servers. Hermes already handles those jobs with native tools or bundled skills.
An MCP server is a small program that gives an AI agent new tools through the Model Context Protocol (MCP). In this guide, "best" means a server passes four tests. It adds a new capability, adds few tools, signs in safely and fits your setup.
Hermes Agent is an AI agent from Nous Research, and it ships with a large tool set before you add anything. The Hermes Agent GitHub repository showed 250.3k stars and 53.4k forks as of October 2026, and its README lists "40+ tools."
How MCP Servers Work in Hermes Agent
Hermes Agent acts as an MCP client, which means it connects to MCP servers and uses their tools like its own. You declare each server under a top-level mcp_servers: key in ~/.hermes/config.yaml, and MCP ships with the standard install.
MCP is an open protocol that connects AI apps to outside tools, and our primer explains how MCP servers work. The MCP 2026-07-28 release post reports close to half a billion Tier 1 SDK (software development kit) downloads a month.
Local (stdio) vs Hosted (HTTP) Servers
Hermes connects to an MCP server in one of two ways: as a local process (stdio) or as a remote endpoint (HTTP). Stdio means Hermes starts the server on your machine and talks to it through standard input and output.
A stdio entry uses command, args and, when needed, env. Hermes' own quick start uses the filesystem server as a first test, even though built-in file tools cover that job:
mcp_servers:
filesystem:
command: "npx"
args: ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/projects"]Hermes does not pass your full shell environment to stdio servers. Each server gets only the variables listed under env, plus a safe baseline.
An HTTP server runs somewhere else, and Hermes connects to its URL. An HTTP entry uses url and headers:
mcp_servers:
remote_api:
url: "https://mcp.example.com/mcp"
headers:
Authorization: "Bearer ${REMOTE_API_KEY}"The ${REMOTE_API_KEY} part is a variable that Hermes fills in when it connects. Hermes reads the value from your environment, including ~/.hermes/.env.
The current MCP spec, dated July 28, 2026, has a stateless core. Stateless means each request stands on its own, so the server doesn't have to remember a session.
Some setup guides nest servers under mcp: servers:, but that key is wrong. The documented key is top-level mcp_servers:, as in every example here.
Many hosted servers use OAuth, a sign-in flow that issues tokens in place of a fixed API key. Set auth: oauth, and Hermes runs the flow and caches tokens in ~/.hermes/mcp-tokens/:
mcp_servers:
linear:
url: "https://mcp.linear.app/mcp"
auth: oauthPick stdio when the server is installed locally or needs local resources. Pick HTTP when the vendor hosts the server or you don't want Hermes starting a local process.
If you already use Claude Code, you don't have to rewrite your setup. The Hermes MCP documentation says your mcpServers block maps to mcp_servers, and hermes import-agent claude-code migrates it automatically.
How Hermes Names and Loads MCP Tools
Hermes renames every MCP tool with the prefix mcp_<server>_<tool>. A GitHub server's create_issue tool becomes mcp_github_create_issue, so tools from different servers don't clash.
Each server also becomes a toolset named mcp-<server>, which you can turn on or off as a group. According to the Hermes MCP docs, these loading rules decide what the model actually sees:
- Filters use original names: Write
create_issuein a filter, notmcp_github_create_issue. - Helper tools are optional:
prompts: falseandresources: falsedrop up to four helper tools for prompts and resources. - Lazy start skips the wait:
lazy: trueregisters tools from a saved cache and starts the server on its first tool call. - Startup runs in waves: Hermes connects at most four servers at a time, with 120 seconds per wave and 300 seconds total.
How to Choose MCP Servers for Hermes Agent
Judge each MCP server for Hermes Agent on four criteria: new capability, tool count, sign-in and maintainer trust, and fit with how you run Hermes.
Lists of the best MCP servers across clients are a good starting pool. Hermes already covers many of their picks, so the first check rules out several popular servers.
Check Built-In Tools Before Adding a Server
The Hermes README on GitHub lists 40+ built-in tools, so check them before you add any server. Separately, the Use MCP with Hermes guide advises against using MCP when a built-in tool already does the job.
- Web search and page reading:
web_searchandweb_extractship as built-in tools for searching the web and reading pages. - Browser control:
browser_navigate,browser_snapshotandbrowser_visionlet Hermes open and read pages in a browser. - Terminal and files:
terminal,read_file,write_fileandpatchcover shell commands and file edits. - Memory:
memorystores facts, andsession_searchsearches past sessions. - Orchestration:
delegate_task,execute_code,todoandcronjobhandle subagents, code runs, plans and scheduled jobs. - Skills: Bundled
github/*skills drive theghcommand-line tool for repo work.
The Hermes built-in tools reference documents web_search and web_extract alongside the other built-in tools.
Count the Tools Each Server Adds
Every tool you enable sends its definition to the model, and that text uses up the context window. The context window is the amount of text a model can read at once, measured in tokens (small chunks of words).
The Anthropic advanced tool use write-up gives one example: five servers with 58 tools used about 55K tokens before the conversation started. The same post names wrong tool selection as the most common failure, especially when tools have similar names.
The cost grows with scale. Anthropic code execution with MCP notes that agents connected to thousands of tools must process hundreds of thousands of tokens before reading a request.
These figures come from Anthropic's examples with Claude, not from Hermes tests. Our advice, drawn from them, is to keep your Hermes tool list small and filtered.
Hermes helps you see the cost. The Hermes Agent release notes show that version 0.21.0 added an MCP command center with per-server token-cost estimates.
Which MCP Servers Hermes Agent Already Covers With Built-In Tools
Hermes Agent already covers filesystem, git, fetch and search, basic browser automation, memory, step-by-step planning and GitHub work. Add one of these servers only in the narrow cases below.
| Server type | Built-in equivalent | Add an MCP server? | When it still makes sense |
|---|---|---|---|
| Filesystem | read_file, write_file, patch, terminal | Usually no | As a first test server, as in Hermes' quick start |
| Git | terminal running the git CLI | Usually no | You want git actions as separate, filterable tools |
| Fetch or web search | web_search, web_extract | Usually no | You need a search provider the built-in tools don't offer |
| Playwright or Puppeteer | browser_navigate, browser_snapshot, browser_vision | Usually no | You need script-style browser steps; recycle it with timeouts |
| Memory servers | memory, session_search | Usually no | You need one memory store shared with other MCP clients |
| Sequential Thinking | todo and built-in planning | Usually no | Rarely, since todo already tracks step-by-step plans |
| GitHub | Bundled github/* skills using gh | No; it is not in the catalog | Your setup cannot run the gh CLI |
| A scraping MCP server used only for single-page reads | web_extract | Usually no | You need scraping tools beyond search and page reads |
Memory is the most common duplicate. To see what built-in memory already handles, read how AI memory systems work.
GitHub shows how the advice differs by source. Hermes' guide lists GitHub as a good first server, yet the catalog leaves it out because the bundled gh skills are "a more capable integration."
The Best MCP Servers for Hermes Agent by Job
The best MCP servers for Hermes Agent by job come from Hermes' catalog plus one manual addition. According to the Hermes MCP docs, the Hermes MCP catalog contains Nous-reviewed servers that are disabled by default.
Olostep is not in that catalog, so you add it by hand in config.yaml.
| Job | Server | Transport | Why it adds value |
|---|---|---|---|
| Web data at scale | Olostep (manual) | Hosted HTTP or local stdio | Batch scraping of up to 10,000 URLs, crawls, site maps and answers with sources |
| Current library docs | Context7, DeepWiki | Set by catalog entry | Current library docs (Context7) and answers about public GitHub repos (DeepWiki) |
| Real browser debugging | chrome-devtools-mcp (manual) | Local stdio | Chrome DevTools inspection; Hermes docs recommend it on WSL2 |
| Product and design work | Linear, Notion, Figma | Hosted HTTP; Linear and Figma use OAuth | Tickets, docs and design files Hermes cannot reach natively |
| Errors, payments and monitoring | Sentry, Stripe, Datadog, Grafana | Hosted HTTP with OAuth for Sentry and Stripe; set by catalog entry for Datadog and Grafana | Read access to errors, payments, metrics and dashboards |
| Databases | Supabase, Neon, MotherDuck | Set by catalog entry | SQL and database access |
| Workflow automation | n8n (n8n-official) | Hosted HTTP with OAuth | Runs existing n8n workflows from Hermes |
Web Data at Scale: Olostep MCP Server
The Olostep MCP server for web access gives Hermes live web access through one Olostep API key. The Olostep MCP setup docs list 10 tools for search, scraping, batch jobs, crawls, site maps and answers with sources.
Some of those tools overlap with Hermes' built-ins. For a single page, web_extract already does the job, so Olostep's scrape_website, get_webpage_content and search_web add little.
The value is in jobs that don't fit a single web_extract call. The limits below come from the same Olostep docs:
- Batch scraping:
batch_scrape_urlsscrapes a known list of up to 10,000 URLs, andget_batch_resultsfetches the content. - Crawling:
create_crawlfollows links from a start URL, andget_crawl_resultsreturns pages, up to 100 per call. - Site maps:
create_maplists a site's URLs without scraping them. - Answers:
answersreturns a web-grounded answer along with its sources.
Batch and crawl tools are asynchronous, which means they return a job ID first and the results later. That lets large result sets stay out of Hermes' context until the agent asks for them.
Behind these tools is Olostep's web scraping API for agents, which returns pages as Markdown, HTML or JSON. Olostep offers free credits to start.
First, put your key in ~/.hermes/.env:
OLOSTEP_API_KEY=sk_...Then add the hosted server to ~/.hermes/config.yaml:
mcp_servers:
olostep:
url: "https://mcp.olostep.com/mcp"
headers:
Authorization: "Bearer ${OLOSTEP_API_KEY}"
tools:
include: [batch_scrape_urls, get_batch_results, create_crawl, get_crawl_results, create_map, answers]
prompts: false
resources: falseThis entry is built from both vendors' documented values: Olostep's endpoint and header, and Hermes' mcp_servers format. Neither vendor publishes it in this exact form.
The include list keeps the six tools that add new jobs and drops the four that overlap with built-ins. In Hermes, they appear with names such as mcp_olostep_batch_scrape_urls.
To run the server locally, use npx -y olostep-mcp as a stdio server with Node.js 18 or later, per Olostep's docs. Pass your key as OLOSTEP_API_KEY under env:
mcp_servers:
olostep:
command: "npx"
args: ["-y", "olostep-mcp"]
env:
OLOSTEP_API_KEY: "your-olostep-api-key"Replace your-olostep-api-key with your key. Hermes documents ${VAR} filling for command, args, url and headers, so the hosted entry is the documented way to keep the key only in .env.
Olostep's docs warn that mixing the two sign-in methods is the most common setup error. The hosted server uses the Authorization header, and the local server uses the OLOSTEP_API_KEY variable.
If you mainly want a different search provider, start with our guide to comparing web search MCP servers.
Current Library Docs: Context7 and DeepWiki
Context7 and DeepWiki give Hermes current documentation in place of what the model remembers from training. Hermes' catalog lists Context7 for serving current library documentation. DeepWiki answers questions about public GitHub repositories.
Both are in the Hermes catalog. Install one with hermes mcp install context7 or hermes mcp install deepwiki.
Real Browser Debugging: Chrome DevTools MCP
Chrome DevTools MCP (chrome-devtools-mcp) adds inspection through Chrome DevTools, the debugging panel built into Chrome. Hermes' built-in browser tools open and read pages, while this server targets debugging work.
Hermes' MCP guide recommends chrome-devtools-mcp on WSL2, the Linux layer inside Windows, so Hermes can drive Windows Chrome. To learn how agents use browsers in general, see AI browser agents explained.
Browser servers such as @playwright/mcp keep a full Chromium browser in memory. Set timeouts so Hermes recycles the process:
mcp_servers:
playwright:
command: "npx"
args: ["-y", "@playwright/mcp@latest", "--headless"]
idle_timeout_seconds: 900
max_lifetime_seconds: 86400Product and Design Work: Linear, Notion and Figma
Linear, Notion and Figma give Hermes access to tickets, docs and design files it cannot reach on its own. In Hermes' docs, Linear and Figma's hosted endpoints sign in with OAuth (auth: oauth). Notion connects through its hosted endpoint.
On a headless host, a server with no screen or browser, run hermes mcp login <name> --flow device. Hermes then shows a code you approve from another device.
Review each server's tools after install. For Linear, hermes mcp configure linear lets you keep find_issues and create_issue while leaving delete_workspace off.
Errors, Payments and Monitoring: Sentry, Stripe, Datadog and Grafana
Sentry, Stripe, Datadog and Grafana give Hermes read access to errors, payments, metrics and dashboards. Use tools.exclude to remove tools that write or delete data:
mcp_servers:
stripe:
url: "https://mcp.stripe.com"
auth: oauth
tools:
exclude: [delete_customer, refund_payment]Large servers need heavier filtering. Cloudflare's API server in the catalog exposes about 3,300 tools, so Hermes docs show glob patterns such as "*_radar_*" to exclude whole groups.
Databases: Supabase, Neon and MotherDuck
Supabase, Neon and MotherDuck let Hermes query databases with SQL. Where the provider offers read-only access, prefer it, so a wrong tool call cannot change data.
Keep database keys in ~/.hermes/.env. Catalog installs write API keys there for you.
Workflow Automation: n8n
The official n8n server lets Hermes run workflows you already built in n8n. That way, Hermes reuses those workflows and you don't rebuild them as new tools.
Install it with hermes mcp install n8n-official, enter your instance URL and finish the browser OAuth step. An n8n owner or admin must first turn on Settings > Instance-level MCP, and some exposed tools can modify or run workflows.
How to Add an MCP Server to Hermes Agent
Adding an MCP server takes a config entry, a stored key, a tool filter and a test. You need Hermes Agent installed, plus Node.js if the server runs through npx. Each hermes mcp command below appears in the Hermes CLI command reference.
- Browse the catalog: Run
hermes mcp catalogto list reviewed servers, thenhermes mcp install <name>to add one. - Or add a server manually: Run
hermes mcp add <name> --url <url>for HTTP or--commandfor stdio, or editconfig.yaml. - Store keys safely: Put API keys in
~/.hermes/.envand reference them as${VAR}inurlorheaders. - Filter the tools: Add a
tools.includelist with the original tool names you need. - Sign in if needed: For OAuth servers, run
hermes mcp login <name>. - Test the server: Run
hermes mcp test <name>. Exit code 0 means it works, 1 means it failed and 3 means it isn't in config. - Reload the session: Type
/reload-mcpin chat so the current session picks up the new tools. - Check the startup summary: Open
agent.logand confirm the server registered without errors.
A healthy setup shows a summary line in agent.log. Failed servers are named with their error, as in this example from the Hermes docs:
MCP: registered 116 tool(s) from 4 server(s) (2 failed: github (Connection closed); notion (HTTP 401 from POST https://mcp.notion.com/mcp))You'll know it worked when the tools appear with the mcp_<server>_ prefix. Hermes will then call them like any other tool.
How to Keep MCP Servers Secure in Hermes Agent
Treat every MCP server as code you are running, because published studies have found real gaps. These figures come from two separate studies with different groups of servers.
In an empirical study of MCP servers covering 1,899 open-source servers in a spring 2025 snapshot, 7.2% had at least one of eight vulnerability patterns. Credential exposure was the most common, at 3.6%.
A 2026 remote MCP authentication study found 7,973 live remote MCP servers, and 40.55% exposed tools without authentication. The authors note that many unauthenticated servers they sampled looked like test or demo setups.
Hermes gives you several controls to reduce that risk:
- Read the manifest: Before a catalog install, check its
source:,install.bootstrap:andtransport.command:fields. - Scan pinned packages:
hermes securitychecks pinned npx and uvx servers against OSV.dev, a public vulnerability database, per the Hermes CLI reference. - Turn off sampling: Sampling lets a server ask your model to write text on your budget. The Hermes MCP docs list it as on by default, so disable it for untrusted servers.
- Exclude destructive tools: Use
tools.excludeto remove tools that delete, refund or overwrite data. - Pin versions: Use a fixed package version in
argsso an update can't change the server without review. - Limit environment variables: List only the variables each stdio server needs; Hermes adds just a safe baseline.
Here is an untrusted server with a pinned version and sampling turned off:
mcp_servers:
untrusted_server:
command: "npx"
args: ["-y", "example-mcp-server@1.2.3"]
sampling:
enabled: falseAccording to the Hermes MCP docs, Hermes also strips invisible Unicode TAG characters from tool results and tool descriptions. A server can hide instructions in these characters, a trick called prompt injection.
How to Fix Common Hermes MCP Problems
Most Hermes MCP problems come from tool visibility, stale sessions, filter typos or sign-in errors. Match the symptom to the fix:
- Tools connect but don't appear: In older builds, users reported in Hermes GitHub issue 51587 that
hermes mcp testfound 64 tools in Docker, yet sessions showed only built-ins. Check that themcp-<server>toolset is enabled, then restart Hermes. - Messaging sessions show old tools: A session's tool set stays frozen. Run
/reload-mcpor restart the session. - The allowlist does nothing: Typos in
tools.includefail silently. Use original tool names, not prefixedmcp_names. - Olostep shows 0 tools: Your API key is wrong, or you mixed the header method and the env method.
- OAuth looks successful but calls time out: Re-run
hermes mcp login <name>, then reload the session.
When a server fails at startup, check agent.log first. The startup summary names each failed server with its connection error.
Frequently Asked Questions
Does Hermes Agent Support MCP?
Yes. MCP ships with the standard Hermes install, and Hermes connects to both local stdio servers and remote HTTP servers.
Where Is the Hermes MCP Config File?
Servers go under the top-level mcp_servers: key in ~/.hermes/config.yaml. API keys belong in ~/.hermes/.env.
Should I Use a Stdio or HTTP MCP Server?
Use stdio when the server runs on your machine or needs local resources. Use HTTP when the vendor hosts the server or you don't want Hermes starting a local process.
How Many MCP Servers Should I Connect?
Connect only the servers your regular jobs need, and filter each one with tools.include. In Anthropic's example, 58 tools from five servers took about 55K tokens before any conversation began.
Do I Need a GitHub MCP Server for Hermes?
Usually not. Hermes' bundled github/* skills drive the gh CLI, and Hermes' docs call them "a more capable integration" than the GitHub MCP server.
Can I Import My Claude Code MCP Servers?
Yes. Run hermes import-agent claude-code to move your mcpServers block into mcp_servers, along with skills and instructions.
Can Hermes Agent Act as an MCP Server?
Yes. According to the Hermes MCP docs, the hermes mcp serve command runs Hermes as an MCP server that other MCP clients can connect to.
What Is the Best MCP Server for Web Scraping With Hermes?
For single pages, use Hermes' built-in web_extract, which needs no extra server. For batch scraping, crawls or site maps, add Olostep, whose docs list batches of up to 10,000 URLs.



