hermes-local-agent-lanes
Provides safe local-model MCP support tools (summarization, classification, critique, draft) for a cloud owner agent, with strict boundary guards to prevent risky actions.
README
Hermes Local Agent Lanes
Safe local-model support lanes for a cloud owner agent.
This project packages a pattern we use with Hermes Agent: keep the strongest cloud model as the owner that makes decisions, mutates files, verifies, and reports; route low-risk background work to fast local models through narrow MCP tools.
Local models should be useful coworkers, not unsupervised operators.
What this repo shows
- Local MLX model as a safe MCP support lane for a cloud owner agent.
- SSH stdio MCP mounting so another computer can use the local model without exposing a LAN HTTP port.
- Support-only boundary guards: summary/classification/critique/draft are allowed; shell/patch/git/deploy/config/cron/hook/secrets are blocked.
- Owner router demo for deciding task intensity and whether support models may be used.
- Separate quota support lane pattern for using a secondary coding model as an advisory reviewer/patch-sketcher while the owner agent applies and verifies changes.
Architecture
Cloud owner agent (Hermes / GPT-class model)
├─ owns architecture, mutations, tests, commits, final QC
├─ calls narrow local MCP support tools when useful
│
└─ Local support lanes
├─ MLX/OpenAI-compatible model server on localhost
├─ stdio MCP wrapper: support + health tools only
├─ optional SSH stdio mount from another computer
└─ optional coding support lane in read-only/advisory mode
Why this matters
Most local-agent demos fail in one of two ways:
- They let a weaker local model execute risky actions.
- They use the expensive frontier model for every low-value summarization or log-reading step.
This repo uses a stricter split:
| Layer | Allowed | Forbidden |
|---|---|---|
| Cloud owner | plan, decide, edit, test, commit, report | surprise paid/external actions |
| Local MCP support | summarize, classify, critique, draft, explain | shell, patch, git, deploy, config, cron, hooks, secrets |
| Secondary coding quota lane | read-only review, patch sketches, bug hypotheses | direct workspace mutation unless owner verifies |
Quick start
1. Run a local OpenAI-compatible model server
Any local server with /v1/chat/completions works. Example environment variables:
export LOCAL_MODEL_BASE_URL="http://127.0.0.1:18085/v1/chat/completions"
export LOCAL_MODEL_NAME="your-local-mlx-model"
2. Start the MCP server locally
python3 -m hermes_local_agent_lanes.mcp_support_server
3. Mount it from a local MCP client
{
"mcpServers": {
"local-support-lane": {
"command": "python3",
"args": ["-m", "hermes_local_agent_lanes.mcp_support_server"]
}
}
}
4. Mount it from another computer over SSH
This avoids exposing the model server to your LAN:
{
"mcpServers": {
"local-support-lane": {
"command": "ssh",
"args": [
"user@your-mac-or-workstation",
"cd /path/to/hermes-local-agent-lanes && python3 -m hermes_local_agent_lanes.mcp_support_server"
]
}
}
}
Tools exposed
local_support
Ask the local model for low-risk support only:
- summary
- classification
- critique
- draft
- simple code explanation
- read-only long-context compression
Risky prompts are blocked before reaching the model and return:
TASK_REQUIRES_OWNER_AGENT
local_support_health
Checks whether the local model endpoint is reachable.
Run tests
python3 -m unittest discover -s tests
The tests exercise JSON-RPC MCP initialize/tool listing and the hard boundary guard without requiring a real model.
Repo status
This is a small pattern repo, not a full Hermes fork. It is intentionally portable and public-safe: no private paths, no credentials, no runtime databases, no model weights.
See also
docs/architecture.md— deeper design notesexamples/mcp-config-ssh.json— remote MCP mount exampleexamples/owner-router-demo.json— intensity-routing examplesrc/hermes_local_agent_lanes/owner_router.py— small callable router demo
License
MIT
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.