Hermes MCP Bridge
by sc28249782
README.md
# Hermes MCP Bridge
> Securely connect ChatGPT to a local Hermes Agent and Codex CLI running in WSL2.
[](https://github.com/sc28249782/hermes-mcp-bridge/actions/workflows/tests.yml)
[](LICENSE)
**Hermes MCP Bridge** is a local, stdio-based MCP bridge for controlled work on a user's own WSL2 machine. It exposes Hermes task operations and a permission-gated Codex execution layer through an OpenAI Secure MCP Tunnel.
Read [Project origin](PROJECT-ORIGIN.md) and [Project history](PROJECT-HISTORY.md).
## What it provides
| Area | Capabilities |
|---|---|
| Hermes | Health checks, model catalog, task submit/status/result/cancel, recent tasks, usage summary and export |
| Codex / WSL2 | Health, submit, status, paginated result, cancel, and recent jobs |
| Security | Workspace allowlist, symlink-escape protection, explicit local approval for write jobs, fixed argv invocation, timeout and prompt-size limits |
The v0.4.0 design exposes **16 MCP tools**: 10 Hermes tools and 6 Codex tools.
## Security model
Codex jobs are deliberately restricted:
- Allowed sandboxes: `read-only` and `workspace-write` only.
- `danger-full-access` is rejected.
- Every workspace must be explicitly listed in `codex.allowed_workspaces`.
- A `workspace-write` job remains pending until a person approves it locally with `codex-approve`.
- An MCP client cannot approve its own job.
- Codex is started without a shell, using fixed argument handling.
Never commit `bridge-config.json`, `state/`, logs, virtual environments, runtime API keys, or Hermes secrets.
## Architecture
```text
ChatGPT
→ OpenAI Secure MCP Tunnel
→ bridge.sh (stdio MCP)
→ Hermes API on 127.0.0.1:8642
→ Codex CLI / approved WSL2 workspaces
```
## Quick start
> Run these commands as your normal WSL2 user; do not use `sudo`.
```bash
unzip hermes-mcp-bridge-v0.4.0.zip
cd hermes-mcp-bridge-v0.4.0
bash install.sh
./bridge.sh doctor
./bridge.sh codex-doctor
```
Then configure the allowed project roots in `bridge-config.json`:
```json
{
"api_url": "http://127.0.0.1:8642",
"hermes_env": "/home/USER/.hermes/.env",
"hermes_config": "/home/USER/.hermes/config.yaml",
"codex": {
"allowed_workspaces": [
"/home/USER/projects/example"
]
}
}
```
Start the Secure MCP Tunnel after completing its one-time configuration:
```bash
bash tunnel.sh run
```
See the Thai documentation for the full setup and live acceptance procedure:
- [Installation guide](README-TH.md)
- [Codex / WSL2 configuration](CODEX-WSL2-TH.md)
- [Upgrade guide](UPGRADE-TH.md)
- [Technical architecture](HERMES-MCP-BRIDGE-TECHNICAL-ARCHITECTURE-TH.md)
- [Live acceptance checklist](LIVE-ACCEPTANCE-TH.md)
- [Security policy](SECURITY.md)
- [Contributing guide](CONTRIBUTING.md)
- [Project origin](PROJECT-ORIGIN.md)
- [Project history](PROJECT-HISTORY.md)
- [Project roadmap](ROADMAP.md)
## Status
The automated v0.4.0 validation covers Hermes regression, Codex permission/process behavior, MCP discovery, and tunnel security. Perform the live WSL2 acceptance checklist before treating Codex execution as production-ready.
## License
Licensed under [Apache License 2.0](LICENSE).
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues