MIT ยท Open Standard
NRP
Node Reach Protocol

Node Reach Protocol

6 rules no AI can break. Safety standard for agents in physical and connected systems โ€” robots, servers, sensors, actuators, vehicles.


// The problem

MCP gives agents tools. Tools touch the physical world. Nobody defined what they cannot do.

A robot arm controlled by AI. A server rebooted by an agent. A valve opened by automation. These actions are irreversible. NRP defines 6 rules that must hold for any AI, on any system, at any autonomy level.


// The 6 rules

Remove any one rule and the system is unsafe.

Any agent. Any system. These 6 rules hold.

01Manifest
Node declares its identity, capabilities, and shield rules before any action. No anonymous agents.
02Observe
Read-only access to system state. No side effects. Observation cannot trigger changes.
03Act
Execute actions. All actions checked against Shield rules before execution โ€” not after.
04Shield
Unbreakable constraints. Runs in a separate process. The agent cannot modify, disable, or bypass Shield.
05Audit
SHA-256 tamper-evident record of every action. Stored locally. Verifiable by anyone, any time.
06Consent
Level 3+ actions require human + system permission before execution. Not post-hoc. Before.

// NRP Identity

Every node has a URI.

nrp://scope/kind/name โ€” a permanent, machine-readable address for any connected device or service.

// examples
nrp://factory/robot/arm-7Factory robot arm
nrp://datacenter/server/web-01Production server
nrp://home/sensor/temperatureHome temperature sensor
nrp://cloud/api/paymentPayment API endpoint
nrp://vehicle/actuator/brake-ctrlBrake control system

nrp://scope/kind/name


scope โ€” Organizational boundary
factory, datacenter, home, vehicle, cloud


kind โ€” Device or service type
robot, server, sensor, actuator, agent, api


name โ€” Instance identifier
arm-7, web-01, temp-south, brake-ctrl


// SDK

6 rules in 10 lines.

$ pip install nrprotocol
from nrp import NRPNode, Shield, ConsentLevel # Create a node โ€” it declares manifest immediately (Rule 01) node = NRPNode('nrp://datacenter/server/web-01') # Add unbreakable constraints (Rule 04) node.add_shield(Shield.no_delete_production()) node.add_shield(Shield.max_autonomy(level=3)) # PHY rule โ€” cannot be level 4+ # Execute an action โ€” Shield checks BEFORE execution (Rule 03) result = node.act( agent='aap://myorg/assistant/deploy-bot@1.0', action='restart_service', resource='nginx', consent=ConsentLevel.HUMAN_APPROVED, # Rule 06 ) # Every action is audited (Rule 05) print(result.audit_hash) # sha256:f3a1... print(result.allowed) # True

// Implementations

Built on NRP.

Halyn
Full NRP implementation with 12 drivers: SSH, Docker, MQTT, ROS2, Modbus, Serial, WebSocket, HTTP, DDS, OPC-UA and more.
Your implementation
Built on NRP? Open a PR to add it here.

// Get started

Read the spec. Protect the physical world.

The full NRP spec fits in a single Markdown file. Implement all 6 rules. Nothing more required.