Hermes MCP Server
Provides tools for searching, retrieving, and managing internal Hermes documents (HashiCorp PRDs, RFCs, specs, memos), including relevance search, document metadata, full document content, and related resources.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Hermes MCP Server search for recent PRDs about authentication"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
hermes-mcp
An MCP server that turns internal Hermes documents (HashiCorp PRDs, RFCs, specs, memos) into agent tools — relevance search, document metadata, related resources, and full document bodies — plus a companion skill that makes your agent cross-check specs against the code in your editor.
Tools
hermes_search · hermes_get_document · hermes_get_document_content · hermes_get_related_resources · hermes_recently_viewed_docs · hermes_check_auth · hermes_login · hermes_sharepoint_login
Related MCP server: hermes-mcp
Requirements
Node.js 18+ (developed on 26)
Google Chrome (for the sign-in / browser-content helpers)
An MCP-capable agent (bob, Claude Desktop, VS Code, …)
Quick start
git clone https://github.com/yummydirtx/hermes-mcp.git
cd hermes-mcp
node install.jsThe installer:
runs
npm install,copies the hermes skill into
~/.bob/skills/hermes/,adds a hermes server to
~/.bob/settings/mcp.json(existing servers/secrets are preserved).
Then authenticate and reload your agent (below).
Claude Desktop or VS Code instead of bob? Run
node install.js --claude, or copy a snippet fromexamples/.
Authenticate to Hermes
Hermes sits behind SSO. Capture your session one of two ways:
Automatic (recommended):
npm run attachA normal Chrome opens — sign in. Your session cookie is written to
.hermes-cookieand hot-reloaded by the server. Keep that window open (it's also used for reading document bodies).Manual: in a logged-in Hermes tab, DevTools → Network → click a request → copy the
Cookie:request header into.hermes-cookie:# macOS pbpaste > .hermes-cookie # Windows (PowerShell) Get-Clipboard | Set-Content -NoNewline .hermes-cookie
Verify with the hermes_check_auth tool.
Reading full document bodies
Bodies live in SharePoint. hermes_get_document_content tries, in order (source: "auto"):
Search index — the body Hermes already indexed. No extra permissions. Often enough.
Your browser session (
source: "browser") — reads the file through the Chrome you signed into (npm run attach), over the DevTools protocol. No Microsoft Graph, no admin, no extra scopes — just the access you already have. Keep the document open in that Chrome.Microsoft Graph (
source: "sharepoint", viahermes_sharepoint_login) — needsFiles.Read.All/Sites.Read.All. The built-in client can't obtain these in a locked-down tenant; use a dedicated Azure AD app (below).
Test the browser path directly:
npm run sp-browser "<sharepoint-document-url>"Optional: dedicated Azure AD app (for the Graph path)
Azure Portal → App registrations → New registration → Redirect URI = Public client/native http://localhost → API permissions → Microsoft Graph → Delegated: Files.Read.All, Sites.Read.All, offline_access → Grant admin consent. Then set SP_CLIENT_ID and SP_TENANT_ID in the server env and run hermes_sharepoint_login.
Manual setup (no installer)
Add this to your agent's MCP config, fixing the path (see examples/ for bob / Claude / VS Code variants):
{
"mcpServers": {
"hermes": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/hermes-mcp/hermes-mcp.js"],
"env": {
"HERMES_BASE_URL": "https://hermes-sharepoint.hashicorp.services",
"HERMES_COOKIE_FILE": "/ABSOLUTE/PATH/TO/hermes-mcp/.hermes-cookie"
}
}
}
}Then copy skills/hermes/SKILL.md into your agent's skills folder.
Windows notes
Use PowerShell;
node install.jsworks the same.npm run attachlaunches your installed Chrome/Edge. If it isn't found, setHERMES_CHROMEto the browser's.exe.Absolute paths in
argsuse backslashes — the installer writes them correctly; if editing by hand use\\or forward slashes.
Configuration (env)
Var | Default | Purpose |
|
| Hermes host |
|
| Session cookie (hot-reloaded) |
|
| Debug-Chrome port for |
| auto-detect | Path to Chrome/Edge executable |
| – | Dedicated Azure AD app for the Graph path |
|
| Optional pasted Graph token |
Scripts
npm start— run the server (stdio)npm run attach— capture the Hermes session from a real Chromenpm run sp-browser "<url>"— read a document via your browser sessionnode install.js— set up + register with your agent
Security
Never commit .hermes-cookie, .sharepoint-*, or the browser profiles — they hold your live session. .gitignore already excludes them.
Available Tools
8 toolshermes_check_authA
Check whether the Hermes session cookie is valid. Call this if other tools fail with an auth error.
Inputs: no named parameters.
hermes_get_documentA
Fetch a Hermes document by its ID (e.g. an objectID from a search result). Returns title, metadata, summary, and source links.
Inputs: documentId (required).
hermes_get_document_contentA
Read the FULL text of a Hermes document. By default (source=auto) it tries, in order: the Hermes search index (no SharePoint permissions), then your signed-in browser session over CDP, then a SharePoint/Graph fetch. Provide a documentId (preferred) or a webUrl directly.
Inputs: index, source, webUrl, maxChars, +1 more.
hermes_loginA
Open a browser sign-in window for Hermes (SSO) and capture the session cookie. By default it WAITS until you finish signing in, then returns success so you can proceed. Call this at the start of a Hermes task if not signed in, or whenever a tool reports an authentication error. (Skips the popup if already signed in.)
Inputs: wait, timeoutSeconds.
hermes_recently_viewed_docsA
List the current user's recently viewed Hermes documents.
Inputs: no named parameters.
hermes_searchA
Search Hermes docs or projects by relevance (same engine as the Hermes search bar). Returns ranked results with in-doc snippets and a source link per hit — ideal for grounding an answer with citations.
Inputs: query (required), index, limit.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 8 tools
Each tool has a clear, distinct purpose: auth checking, document retrieval, full-text content, related resources, login, recently viewed, search, and SharePoint login. No overlapping functionalities.
All tools follow the consistent pattern 'hermes_verb_noun' using snake_case, with descriptive verbs like check, get, login, search, and recently_viewed. No mix of conventions.
8 tools is well-scoped for a document management server, covering authentication, search, retrieval, and related resources without being excessive or insufficient.
The tool surface covers core read operations (search, get, content, related, recent) and auth flows. Missing write operations but likely intentional for a consumption-oriented server.
Maintenance
Related MCP Connectors
Team docs served to AI agents over MCP - search, Markdown reads, version pinning, read audit.
Versioned documentation registry and semantic search for AI tools and coding assistants.
Gemmein docs, API reference, error explainers and a live integration check for coding agents.
Token-efficient search for coding agents over public and private documentation.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceRoutes coding agents to the most relevant project documentation (decisions, intent, constraints) with provenance and freshness, providing tools for task routing, knowledge search, and document context.52 npmMIT
- AlicenseAqualityCmaintenanceEnables AI assistants to search, browse, and retrieve documents from a Hermes document management instance directly in chat, including full-text search, metadata lookup, and listing drafts, document types, products, and projects.1287 npmMIT
- FlicenseNot gradedqualityAmaintenanceEnables AI assistants to discover and invoke tools for saving and retrieving code snippets, generating style guides and wiki documentation, and orchestrating multi-agent documentation workflows with semantic search.-
- FlicenseNot gradedqualityAmaintenanceEnables AI assistants to save and retrieve code snippets, run semantic vector search, generate language-specific style guides and wiki documentation, and orchestrate multi-agent documentation workflows through discoverable MCP tools.-