hermes-conductor-mcp
# hermes-conductor-mcp
MCP server that exposes [Conductor Cloud](https://www.conductor.build) as tools for
[Hermes Agent](https://hermes-agent.nousresearch.com), so Hermes (running as your Telegram
brain) can dispatch real coding work to Conductor's sandboxed developer agents.
```
Telegram <-> Hermes Agent (brain) <-> this MCP server <-> Conductor Cloud (dev agents)
```
## Tools exposed
- `list_projects` — repos available to create a workspace from
- `create_workspace` — spin up a sandboxed workspace + first session (agent: `claude` | `codex` | `cursor` | `acp`)
- `get_workspace_status` — poll workspace lifecycle (`initializing` → `ready` → ...)
- `archive_workspace` — tear a workspace down when done
- `send_message` — send an instruction/prompt into a coding session
- `get_session_status` — poll whether the agent is `idle` | `working` | `error`
- `get_session_messages` — read the full transcript
- `cancel_session` — stop the agent mid-task
Typical flow a Hermes conversation would drive: `list_projects` → `create_workspace` →
`send_message` (the task) → poll `get_session_status` until `idle` → `get_session_messages`
for the result → `archive_workspace`.
## Setup
1. Get a Conductor API key (requires Conductor Pro): https://app.conductor.build/users/api-keys
2. Install and build:
```bash
npm install
npm run build
```
3. Register it in Hermes's `~/.hermes/config.yaml`:
```yaml
mcp_servers:
conductor:
command: "node"
args: ["/Users/rohanarora/Desktop/hermes-conductor-mcp/dist/index.js"]
env:
CONDUCTOR_API_KEY: "<your conductor api key>"
```
4. Restart Hermes. It should discover tools prefixed `mcp_conductor_*` (e.g.
`mcp_conductor_create_workspace`).
5. Make sure Hermes's Telegram gateway is already configured (BotFather token + your user ID) —
see https://hermes-agent.nousresearch.com/docs/user-guide/messaging/telegram. That part is
independent of this server.
## Local dev
```bash
CONDUCTOR_API_KEY=sk-... npm run dev
```
Runs the server directly via `tsx` over stdio — pair with any MCP inspector/client to test tool
calls without going through Hermes.
TDQS
Scored across 8 tools
Each tool targets a distinct resource and action: projects, workspaces, sessions, and operations on them. No two tools appear to overlap in purpose, making selection unambiguous.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., list_projects, create_workspace, send_message). This creates a predictable and readable interface.
With 8 tools, the server covers workspace lifecycle and session management without bloat. Each tool serves a clear need, and the count is well within the ideal range.
The surface covers workspace creation, status, archiving, session messaging, polling, transcripts, and cancellation. A notable gap is the lack of a list_workspaces tool to enumerate existing workspaces, but core workflows are otherwise complete.