# How do I verify Hermes actions with Provely?

> Connect Hermes to Provely through the MCP server, the CLI, the SDK, the REST API. The guidance files, the hooks, and the CI gate.

Canonical: https://provely.sh/agents/hermes  
Last reviewed: 2026-09-05  

**Hermes connects to Provely through the MCP server, the CLI, the SDK, the REST API. The agent does the action. Provely verifies the outcome and signs a receipt. Hermes never holds the verifier credentials.**

A person verified the Hermes capabilities on 2026-09-05. Agent products change monthly. Re-verify before you build.

Source: https://provely.sh/agents (retrieved 2026-09-05)

## Which surfaces does Hermes use?

| Surface | Support | Detail |
| --- | --- | --- |
| [MCP server](/docs/mcp) | Supported | transport stdio, http |
| [CLI](/docs/cli) | Supported | Runs through the shell tool of the agent. |
| [SDK](/docs/sdk) | Supported | languages typescript; adapter `hermes` |
| [REST API](/docs/api) | Supported | Any HTTP call reaches the control plane. |

## Which guidance files does Hermes read?

The renderer writes prompt fragment from one source. A new agent needs a profile, not core code.

| Format | Path | Mode |
| --- | --- | --- |
| prompt fragment | `provely/prompt-fragment.md` | fragment |
| CI gate workflow | `.provely/ci/github-actions.yml` | fragment |

## How is a false completion claim blocked?

| Enforcement | Support | Detail |
| --- | --- | --- |
| Advisory guidance | Supported | The instruction files state the rules for every agent. |
| Lifecycle hooks | Not supported | No hook events stated. |
| CI gate | Supported | `provely verify --wait` fails the pipeline unless the verdict is VERIFIED. |

## How do I connect Hermes?

### Connect Hermes to Provely

1. **Install the CLI.** Run `npx provely --version`, or download the static binary.
2. **Register the MCP server.** Add the Provely server. Use `provely mcp` for stdio, or the hosted HTTP server with a bearer token. The tools are `begin`, `verify`, `status`, and `receipt`.
3. **Write the guidance files.** Run `provely init --agent hermes`. It writes `provely/prompt-fragment.md` (fragment), `.provely/ci/github-actions.yml` (fragment). The guidance carries one rule: a successful tool call is not completion.
4. **Add the CI gate.** Run `provely verify --wait <duration>` in the pipeline. The step fails unless the verdict is VERIFIED. Exit codes: 0 VERIFIED, 2 PENDING, 3 FAILED, 4 CONTRADICTED, 5 UNVERIFIABLE.
5. **Report the verdict exactly as returned.** VERIFIED: "The action is verified complete. Receipt: <id>." PENDING: "The action is accepted but not yet verified. Operation: <id>."

## What else does the profile state?

- Checked 2026-09-05: the capability claims come from docs/agent-integration-plan.md section 5.6, not from the Hermes repository. The Hermes team must confirm the SDK hook points and state the real version range before a release.
- Integrate at the SDK level. Hermes wraps every side-effecting tool in begin, act, action-result, verify. Reuse the mcp-server-kit consumption pattern from mechkit.
- Hermes refuses a completion claim without a verdict object. That is the enforcement model. Lifecycle hooks are not needed.
- Use Hermes traffic to grow the conformance corpus: real pending, duplicate, and stale cases.

> Hermes keeps its action credentials, and no surface returns the verifier credentials to it. Read [the credential boundary](/docs/security). An operation outlives the session that opened it. Read [the API reference](/docs/api).

### Which host versions does the profile cover?

`>=0.1.0`. The integrations team last verified the profile with not verified on 2026-09-05: the build host cannot read macleodlabs-ai/hermes.

## Read next

- [Verify Claude Code actions](https://provely.sh/agents/claude-code)
- [Verify Codex actions](https://provely.sh/agents/codex)
- [Verify Resend actions](https://provely.sh/verify/resend)
- [See every agent integration](https://provely.sh/agents)
- [Read the MCP server reference](https://provely.sh/docs/mcp)
- [Read the credential boundary](https://provely.sh/docs/security)
