Skip to main content

What it does

Sector8 governs Claude Code tool calls that are routed through the sector8-guard MCP server. Other MCP-compatible clients can use the same connector when they route tools the same way. When a tool call is routed through sector8-guard, the caller-visible decision is ALLOW or DENY. On this connector path a borderline action can be held for a human before that decision is returned; if nobody answers, it is denied.
Coverage applies to tool calls routed through the connected Sector8 MCP server. Unconnected tools, direct shell access, and other agent paths are not automatically covered.
This is not a separate policy engine. The MCP server uses the same policy, reason-code, and evidence model as REST evaluate. The difference is that the connector can wait on a human before returning ALLOW or DENY. POST /api/v1/evaluate does not wait; it fails closed to DENY.

Installation

Primary path after installing the SDK:
Then run:
This writes .claude/settings.json for the current project and preserves existing settings keys. The installer writes a relative command entry that targets the checked-in MCP server launcher from the repo root. On Windows it prefers the .cmd wrapper when present. Manual fallback:
On Windows, replace the args path with the .cmd wrapper if present:

How it works

On this connector path, a borderline action can be held for a human before ALLOW or DENY is returned. If nobody answers, the connector denies. That hold is connector behaviour, not a third public decision value. REST evaluate does not wait. Honor the returned decision before any side effect starts. Policy, telemetry, and decision evidence are unified with Sector8’s runtime evidence model.

Runtime semantics

Do not execute while a human hold is unresolved. TTL expiry is a deny.

Fail-closed on evaluation failure

If the routed evaluate path is unavailable or returns an invalid decision while the tool call is going through sector8-guard, the connector should fail closed and not execute that call. Fail-closed applies to the connected MCP path; it does not stop actions on bypassed or unconfigured tool paths. Returned denial may include:
  • reason_code: GUARD_INTERNAL_ERROR
  • non-empty evidence_hash
  • has_forensic_payload: true
  • decision_trace_id
  • policy_version_id

Decision evidence on deny

Denied MCP responses include the standard decision artifact:
  • decision
  • reason_code
  • evidence_hash
  • has_forensic_payload
  • decision_trace_id
  • policy_version_id
Exact reason_code and policy_version_id values depend on your active policy and environment.

What is enforced on the MCP path

For tool calls routed through Sector8, admission checks include:
  • tool registration
  • capability checks
  • object-level authorization (BOLA)
  • function-level authorization (BFLA)
  • semantic threat scoring
  • segmented-input safety
  • request-risk checks such as SSRF and sensitive path access
  • admission rate limiting

Governed tools

These tools are governed when the client routes them through sector8-guard. Connecting the MCP server does not automatically cover tools the agent can still call outside that path.

web_fetch protections

web_fetch is not guarded by a simple hostname allowlist. The current request-risk path blocks:
  • raw private IP targets
  • loopback and localhost
  • link-local targets such as 169.254.169.254
  • DNS results that resolve to private IP space
  • unsupported URL schemes
  • URL credentials
  • non-allowlisted external domains
This is designed to stop common SSRF paths, including cloud metadata access, on the governed MCP path.

Example - blocked call

Example - allowed call

Verify the connection

Inside Claude Code:
You should see sector8-guard as a connected server. Then test one allow and one deny through the Sector8 MCP server:
Expected when those calls are routed through sector8-guard:
  • echo hello -> ALLOW
  • rm -rf / -> DENY
  • unknown, missing, or unavailable evaluate results -> connector fails closed and does not execute that call

Fleet deployment

Distribute .claude/settings.json through the repo or developer environment management so engineers connect sector8-guard consistently. Coverage still depends on the client routing governed tool calls through that MCP server. Connecting the server does not cover unconnected tools or alternate execution paths.

Non-MCP agents

MCP-compatible clients can use this connector. Non-MCP tool callers, including containerized Codex CLI integrations, should use the SDK adapter and POST /api/v1/evaluate. See the non-MCP integration guide for the container pattern, required environment variables, and enforcement examples. For the shared decision contract, see Evaluate and Guardrails.