Hermes MCP Server
Transforms internal Hermes documents (PRDs, RFCs, specs) into agent tools for relevance search, metadata, and full content retrieval, plus a skill to cross-check specs against code.
README
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
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.js
The 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_BASE_URL |
https://hermes-sharepoint.hashicorp.services |
Hermes host |
HERMES_COOKIE_FILE |
./.hermes-cookie |
Session cookie (hot-reloaded) |
HERMES_CDP_PORT |
9222 |
Debug-Chrome port for attach + browser content |
HERMES_CHROME |
auto-detect | Path to Chrome/Edge executable |
SP_CLIENT_ID, SP_TENANT_ID |
– | Dedicated Azure AD app for the Graph path |
SHAREPOINT_TOKEN_FILE |
./.sharepoint-token |
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.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.