mcpField
H
HANRIA agent mandate check

HANRIA agent mandate check

Remote
hanria.aiSecurity

About HANRIA agent mandate check

Check an agent action against its operator's mandate before acting: permit, deny or escalate

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://check.hanria.ai/v1/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Tools

2
ParameterTypeRequiredDescription
actionobjectYesA typed description of a proposed operation, submitted by an agent to a local HANRIA runtime. MUST NOT contain credentials, secrets, private keys, or tokens.
action.operationobjectYes
action.operation.kindenumYesfile | process | package | network | device | credential_use | transaction | administrative
action.operation.verbstringYesWhat is to be done to the target, e.g. read, write, execute, install, connect, sign, transfer. Required: an operation named only by its kind does not describe a proposed action well enough to be judged.
action.operation.amountobjectNoAn amount. Both fields are required: a bare amount object describes nothing a ceiling could be compared against.
action.operation.amount.valuestringYesDecimal as a string, to avoid float error.
action.operation.amount.currencystringYes
action.operation.targetstringYesWhat the operation acts on. A path, host, package name, or resource identifier. NEVER a secret. Required for the same reason as the verb.
action.operation.parametersobjectNoNon-secret parameters. A runtime MUST reject any request whose parameters appear to contain a credential.
action.operation.counterpartystringNo
action.mandate_refstringNoOptional reference to the owner-defined mandate the agent believes authorizes this.
action.requested_byobjectYes
action.requested_by.agentstringYesIdentifier of the requesting agent.
action.requested_by.sessionstringNoOptional session or task identifier.
action.requested_by.on_behalf_ofstringNoOptional identifier of the human or system the agent acts for.
action.justificationstringYesWhy the agent believes this is within its mandate. Free text, for the record.
action.schema_versionanyYesDraft. The runtime does not exist; this shape may change.
action.idempotency_keystringNoOptional. Lets a runtime refuse a duplicate rather than perform an operation twice.
mandateobjectYesAn operator-authored statement of what an agent may do. Written by a person, read by an agent, evaluated locally. A mandate is advisory: it describes intended authority and supports a local check, but it does not enforce anything. Enforcement requires a component that exclusively holds the credentials and can refuse.
mandate.clausesarrayYesEvaluated in order. The first matching clause decides. A request matching no clause takes the mandate default.
mandate.defaultenumYesWhat happens when no clause matches. 'permit' is deliberately not an option: a mandate that permits by default cannot express a limit.deny | escalate
mandate.purposestringYesWhat the agent is authorized to accomplish, in the operator's own words. Not evaluated mechanically; it is the human-readable statement against which a reviewer judges whether the clauses actually express the intent.
mandate.issued_bystringNoWho wrote this mandate. Free text; not authenticated by anything in this skill.
mandate.mandate_idstringYesStable identifier for this mandate. Appears in every decision record made against it.
mandate.requires_humanarrayNoOperation kinds that always require a person, even where a clause permits them. These escalate rather than permit.
mandate.schema_versionanyYesDraft. The shape may change while the runtime is in development.
mandate.not_valid_afterstringNoRFC 3339 timestamp. After this instant every action is denied. Absent means no expiry, which is discouraged: an unbounded mandate is the condition that lets delegated authority outlive the task it was granted for.

Details

The maintainer has not added details yet. Check the README in the repository.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.