Skip to main content
ClaudeWave
MSMD-RUA avatar
MSMD-RUA

agenticrail-mcp

View on GitHub

MCP server for the AgenticRail enforcement gate: ALLOW or DENY an AI agent's step before it runs, sealed into a signed, independently verifiable receipt. Stateless Streamable HTTP, protocol 2026-07-28.

MCP ServersOfficial Registry0 stars0 forksJavaScriptUpdated today
ClaudeWave Trust Score
62/100
· OK
Passed
  • Actively maintained (<30d)
  • Clear description
  • Topics declared
  • Documented (README)
Flags
  • !No standard license detected
  • !Install pipes a remote script into a shell (curl | sh)
Last scanned: 8/27/2026
Install in Claude Code / Claude Desktop
Method: NPX · wrangler
Claude Code CLI
claude mcp add agenticrail-mcp -- npx -y wrangler
claude_desktop_config.json (Claude Desktop)
{
  "mcpServers": {
    "agenticrail-mcp": {
      "command": "npx",
      "args": ["-y", "wrangler"]
    }
  }
}
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
Use cases

MCP Servers overview

# agenticrail-mcp

A **Model Context Protocol** server that exposes the live [AgenticRail](https://agenticrail.nz) enforcement gate to any MCP client as two tools.

AgenticRail is a deterministic enforcement layer for AI agents: it holds an agent to its declared step order, refuses replays and skipped steps, and seals each completed sequence with a signed receipt. This server is the MCP adapter in front of it.

**Endpoint:** `https://mcp.agenticrail.nz/` (Streamable HTTP, stateless)
**Protocol:** `2026-07-28` — the revision that retired the `initialize` exchange and `Mcp-Session-Id`. This server was built stateless with neither, so it needed no migration. `initialize` is still answered for older clients.
**Registry:** `nz.agenticrail/gate` on the [official MCP registry](https://registry.modelcontextprotocol.io/v0/servers?search=agenticrail)

## Tools

| Tool | What it does | Calls |
|------|--------------|-------|
| `evaluate_step` | ALLOW/DENY a single agent step **before** it runs; seals a signed receipt | `POST https://api.agenticrail.nz/v1/evaluate` |
| `verify_receipt` | Fetch a sequence's verification report; confirm the receipt chain is intact | `POST https://report.agenticrail.nz/report` |

Call `evaluate_step` before running each step of a sequence, and do not run a step the gate DENYs.

### A DENY tells you how to fix it

Every refusal carries its own remedy in the response envelope — unsigned, DENY-only, because it describes the sequence's state now rather than the decision that was made:

| refusal | what comes back |
|---|---|
| `ACTION_NOT_ALLOWED` | `allowed_action_types` — exactly what this step would have accepted |
| `SEQUENCE_VIOLATION` | `next_expected_step` — the step the sequence is waiting for |
| `STEP_ORDER_MISMATCH` | `locked_step_order` — the order this sequence was locked to on its first call |
| `UNKNOWN_STEP` | `expected_step_order` + `step_order_source` (`caller` or `msmd_spine`) |

`action_type` is an **enum of eight values**, and each step accepts only a subset — a compliant client cannot construct an invalid one. **`step_order` is locked on the first call and needs at least one entry**; omitting it selects the built-in MSMD spine rather than clearing the lock, so to change the plan, start a new `sequence_id`.

## Connect

```bash
# zero config — uses the public demo key
claude mcp add --transport http agenticrail https://mcp.agenticrail.nz/

# with your own key
claude mcp add --transport http agenticrail https://mcp.agenticrail.nz/ \
  --header "Authorization: Bearer <your-agenticrail-key>"
```

Any Streamable-HTTP MCP client works — point it at the URL.

## Try it without installing anything

```bash
BASE=https://mcp.agenticrail.nz/

curl -s -X POST "$BASE" -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | jq .

# ⚠️ Use a sequence_id nobody else will pick. On the shared demo key the id is
# GLOBAL and sealing is PERMANENT — a fixed one in an example works once for one
# person on earth and returns SEALED_SEQUENCE for everyone after.
SEQ="mcp-smoke-$(date +%s)-$RANDOM"

curl -s -X POST "$BASE" -H 'content-type: application/json' \
  -d "{\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"tools/call\",\"params\":{
        \"name\":\"evaluate_step\",
        \"arguments\":{\"sequence_id\":\"$SEQ\",\"step\":\"intake\",
                       \"action_type\":\"CHECK_STATE\"}}}" | jq .
```

With no `Authorization` header the public demo key is used and your `sequence_id` comes back rewritten to **`demo-mcp-<your id>`** — `demo-` marks the public lane, `mcp-` marks it as anonymous MCP traffic. **Use the id returned in the response from then on; the one you sent will not resolve.** This is intended, not a leak.

**A `demo-` sequence's report needs no key to read, so treat anything you send on it as public.**

## Design — read before changing

- **Protocol adapter only.** This worker holds **no internal secrets** and has no privileged path to the enforcement core. It calls the same **public API** an external caller uses, so the tool logic is decoupled from AgenticRail's internals *and* from the MCP transport version.
- **Service bindings, not fetch.** `mcp.agenticrail.nz` is on the same zone as `api.` and `report.`, so a plain `fetch()` would be a same-zone loopback (Cloudflare error 1002). The bindings hit the identical public handlers — they are not an internal bypass.
- **Stateless Streamable HTTP.** No `Mcp-Session-Id` is issued or required; every POST is self-contained. The transport shell is `handleRpc` + the `fetch` handler — the only part a spec revision touches. The value-bearing calls (`callEvaluate` / `callVerify`) are plain HTTPS and don't change.
- **`GET /` serves the discovery card; every other GET path 404s.** `POST` is left permissive on purpose so a client that appends a path to the endpoint URL still works.
- **A 404 on `/.well-known/oauth-*` is correct** — it is how an MCP server says *no auth required*. `agent.json`, `agent-card.json`, `x402` and `ai-plugin.json` are protocols this server does not implement; answering them would be a claim.

## Deploy

```bash
npx wrangler deploy
```

## Links

- Docs — https://agenticrail.nz/docs/
- Verify a sequence yourself — https://report.agenticrail.nz/report
- OpenAPI — https://agenticrail.nz/openapi.json
- Enforcement spec — https://agenticrail.nz/spec/

---

Operated by TUARA KURI LIMITED (NZBN 9429053582867), Hokianga, Aotearoa New Zealand.
agentic-aiai-agentsai-governanceaudit-trailcloudflare-workerscomplianceenforcementmcpmcp-servermodel-context-protocol

What people ask about agenticrail-mcp

What is MSMD-RUA/agenticrail-mcp?

+

MSMD-RUA/agenticrail-mcp is mcp servers for the Claude AI ecosystem. MCP server for the AgenticRail enforcement gate: ALLOW or DENY an AI agent's step before it runs, sealed into a signed, independently verifiable receipt. Stateless Streamable HTTP, protocol 2026-07-28. It has 0 GitHub stars and its last recorded update is dated 2026-08-26.

How do I install agenticrail-mcp?

+

You can install agenticrail-mcp by cloning the repository (https://github.com/MSMD-RUA/agenticrail-mcp) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.

Is MSMD-RUA/agenticrail-mcp safe to use?

+

Our security agent has analyzed MSMD-RUA/agenticrail-mcp and assigned a Trust Score of 62/100 (tier: OK). See the full breakdown of passed checks and flags on this page.

Who maintains MSMD-RUA/agenticrail-mcp?

+

MSMD-RUA/agenticrail-mcp is maintained by MSMD-RUA. The last recorded GitHub activity is dated 2026-08-26, with 0 open issues.

Are there alternatives to agenticrail-mcp?

+

Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.

Deploy agenticrail-mcp to your cloud

Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.

Maintain this repo? Add a badge to your README

Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.

Featured on ClaudeWave: MSMD-RUA/agenticrail-mcp
[![Featured on ClaudeWave](https://claudewave.com/api/badge/msmd-rua-agenticrail-mcp)](https://claudewave.com/repo/msmd-rua-agenticrail-mcp)
<a href="https://claudewave.com/repo/msmd-rua-agenticrail-mcp"><img src="https://claudewave.com/api/badge/msmd-rua-agenticrail-mcp" alt="Featured on ClaudeWave: MSMD-RUA/agenticrail-mcp" width="320" height="64" /></a>

More MCP Servers

agenticrail-mcp alternatives