NMP — NeuroMessage Protocol
Open communication protocol for multi-agent AI systems with behavioral modulation.
NMP is to agent communication what HTTP is to web communication — but with built-in behavioral signals. While MCP handles tool access and A2A handles agent coordination, NMP carries intention, modulation, and accountability alongside data.
Quick Start
pip install nmp-protocol
from nmp import create_message, TrustLevel, validate_message
# Create an NMP message with behavioral signals
msg = create_message(
from_agent="router",
to_agent="legal-analyzer",
content="Analyze this contract for risk clauses",
trust=TrustLevel.VERIFIED,
)
# Modulate behavioral signals
msg.signals.urgency = 0.7 # Time-critical
msg.signals.quality = 0.9 # High analysis depth needed
msg.signals.inhibition = 0.0 # No blocking needed
# Validate
errors = validate_message(msg)
assert not errors
# Serialize
json_str = msg.to_json()
6 Behavioral Signals
| Signal | Range | Biological Analog | Purpose |
|---|---|---|---|
urgency |
[0, 1] | Noradrenaline | Processing speed (Yerkes-Dodson curve) |
quality |
[0, 1] | Serotonin | Analysis depth |
inhibition |
[0, 1] | GABA | Blocking / pausing |
activation |
[0, 1] | Glutamate | Processing intensity |
focus |
[0, 1] | Acetylcholine | Context narrowing |
reward |
[-0.5, 1] | Dopamine | Feedback signal |
Trust Levels
Trust can only decrease through a pipeline: min(current_trust, source_trust)
| Level | Value | Meaning |
|---|---|---|
HOSTILE |
0 | Known malicious source |
UNTRUSTED |
1 | Unknown / unverified |
VERIFIED |
2 | Authenticated but not fully trusted |
TRUSTED |
3 | Fully trusted internal agent |
Specification
Full spec: nmp-protocol.org
Reference implementations: Python (this package), TypeScript, Go
License
Apache 2.0. Spec licensed under CC BY-SA 4.0.
Metadata
Release files for nmp-protocol 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| nmp_protocol-1.1.0.tar.gz | 5.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nmp_protocol-1.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.6 kB
Release files / nmp_protocol-1.1.0.tar.gz
| Download URL | nmp_protocol-1.1.0.tar.gz |
|---|---|
| Size | 5.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
13f1f8a0217e5d45f6ae40dfe1bed4c05bcb3dd385ff2627ebd3488814afcc0c
|
|
BLAKE2b-256 checksum How to use checksums |
d2263c9085f9e6b4cdf58ad1e71652303b56c2e293f95ee699f0acc71cd595d8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / nmp_protocol-1.1.0-py3-none-any.whl
| Download URL | nmp_protocol-1.1.0-py3-none-any.whl |
|---|---|
| Size | 5.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ba68fb571c4b8670527d00eebdbe2bbf0fcdefcfc9ade0903155d7843dfcf6db
|
|
BLAKE2b-256 checksum How to use checksums |
675bada0fffa1db9e7d5ac1f9b1e4758f5ecf23b0d29cb4c72a9d865bd35fd79
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|